Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
Linux: Linux Perfect Inawa
Por f360c4
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha



Artigo

Aplicando patches no kernel
Linux user
pogo
04/01/2005
Patches são atualizações e correções distribuídas a parte do kernel. Através deles você pode até atualizar o seu Kernel para uma versão mais nova sem ter que baixar o tarball completo para isso. Neste artigo ensinarei a aplicar e remover patches do Linux.
Por: Pedro Pereira | Blog: http://www.pedropereira.net
[ Hits: 46584 ]
Conceito: 8.2   5 voto(s)5 voto(s)5 voto(s)5 voto(s)5 voto(s) + quero dar nota ao artigo

Entendendo os patches

Você com certeza já conhece o sistema de versões do Linux (as releases com números pares no meio são releases de produção ou estáveis; e as com números ímpares no meio são releases de testes ou instáveis).

Porém, as versões de testes não são os únicos meios de que os desenvolvedores Linux dispõem para disponibilizar código para testes. Existem também as versões prepatch. Prepatches são arquivos texto que contém as diferenças entre o código original (o que está no seu HD) e um código novo (que será aplicado no seu kernel pelo comando patch). Este arquivo indica exatamente em quais arquivos e em quais linhas as diferenças ocorrem e as aplica no código do seu kernel (semelhante ao que o comando diff faria).

As versões prepatch equivalem às versões alpha de qualquer outro software que você conheça. São todas colocadas no diretório pub/linux/kernel/testing dos servidores do kernel.org e seus mirrors. Para você aplicá-los ao kernel, deve-se utilizar o utilitário patch (man patch) no código fonte do kernel anterior à release que está no nome do prepatch (por exemplo, o prepatch patch-2.6.10-rc3.bz2 deve ser aplicado no kernel 2.6.9).

Os diretórios "testing" contém os patches gerados de um prepatch para outro. Os prepatches geralmente não são muito testados e têm muitos erros, podendo até nem conseguirem gerar um kernel utilizável. Por isso, nunca aplique um prepatch em uma máquina de produção até que este tenha sido exaustivamente testado.

Quando o prepatch se candidata a fazer modificações em um kernel oficialmente lançado, passa a se chamar "release candidate" (rc - candidato a lançamento) ao invés de prepatch, assim, a kernels com o release candidate aplicado, dá-se o nome de 2.6.9-rc3, por exemplo. Portanto, como a versão atual do kernel é a 2.6.x, toda modificação feita no 2.4.x receberá o rcX até que seja considerada estável, quando "perde" o rc no nome. Temos ainda os patches lançados por terceiros, sendo que nestes tudo o que foi dito antes se aplica. Os patches mais famosos lançados por terceiros são os -ac e os -dj.

Todos os patches lançados com o sufixo -ac são lançados por Alan Cox, um grande nome no mundo Linux (de quem você com certeza já ouviu falar). Todas as modificações feitas por seus patches são sobre a última versão estável do kernel oficial.

Várias modificações suas acabaram sendo adicionadas na versão oficial do kernel. Todos os patches lançados por ele podem ser encontrados em www.kernel.org/pub/linux/kernel/people/alan.

As versões com sufixo -dj são análogas aos patches -ac. Sua diferença é que as alterações feitas por estes são sempre nas últimas versões beta do kernel oficial. São sempre lançadas por David Jones e podem ser encontradas como patches em www.kernel.org/pub/linux/kernel/people/davej/patches.

Tanto as versões -ac quanto as -dj devem ser consideradas experimentais, contendo erros que podem até mesmo impedir que você consiga utilizar o kernel no qual foram aplicados.

Próxima página >>




Páginas do artigo

Outros artigos deste autor

Leitura recomendada

Comentários
[1] Comentário enviado por wilbil em 04/01/2005 - 09:48h:

muito bom artigo
me surpriendeu a quantidade de informacoes uteis nele

att
william

[2] Comentário enviado por m4sk4r4 em 04/01/2005 - 11:45h:

Olá Pedro,

Muito bacana o artigo, Parabéns
me ajudou a entender o comando patch que até intão não
sabia como utilizar,

t+

[3] Comentário enviado por mpsnet em 04/01/2005 - 18:11h:

ótimo artigo,
mas acho que vc esqueceu de comentar sobre a série -mm
ex: 2.6.10-mm1
pra que serve este patch ?

[4] Comentário enviado por pogo em 06/01/2005 - 09:00h:

patches com sufixo -mm são patches lançados por andrew morton para a série oficial do kernel, lembrando que estes podem deixar o kernel bastante instável... vc pode encontrá- los aqui:
/pub/linux/kernel/people/akpm/

[5] Comentário enviado por marcolinux em 11/01/2006 - 15:02h:

Tem coisas simples que se ninguém explica ficam complicadas!

Valeu pelo artigo !

[6] Comentário enviado por balani em 27/07/2006 - 22:51h:

Muito bom o artigo, parabens, vlw pela info.

[7] Comentário enviado por balani em 07/08/2006 - 19:15h:

Cara queria saber se tem como eu aplicar o patch de string do iptables no kernel sem precisar rodar o escript do patch-o-matic, estou tendo problemas em adiciona-lo ao meu kernel.

[8] Comentário enviado por himura_kenshin em 16/08/2006 - 09:46h:

a minha sugestao, usem o ketchup que ira poupar uma grande quantiddade de tempo e trabalho... leiam este artigo http://amarok.kde.org/blog/archives/199-Using-Ketchup-to-manage-your-kernel-sources.html

.... excelente artigo o seu pogo... so estou dando uma alternativa aos mais preguicossos ou sem tempo


Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.