Kernel Linux em Poucas Palavras – Parte 3

Se tiver alguma dúvida, consulte os PDFs em inglês disponibilizados no fim do post.

*---*---*---*---*---*---*---*---*---*---*
Obtendo o Kernel Linux

Quando você está compilando o seu próprio kernel, você deseja ter a versão estável mais recente. Muitas distribuições fornecem seus próprios pacotes com os códigos-fonte, mas elas raramente são as versão mais recentes do kernel. Os pacotes de distribuições tem a vantagem de ter sido feito para ser compatível com o compilador e outras ferramentas fornecidas pela distribuição (o capítulo 2 explica a importância delas serem compatíveis) mas elas podem acabar não tendo a funcionabilidade e performance que você deseja. Se você quer criar o seu própro ambiente com a versão mais recente do kernel, compilador e outras ferramentas, você será capaz de criar exatamente o que você deseja. Essa capítulo se foca em determinar quais ódigos-fonte do kernel baixar e como obtê-las.

Qual Árvore Usar

No passado, o kernel Linux era separado em somente duas árvores, a versão "development" e a versão "stable". A versão development era indicada por um número ímpar no segundo número da versão, enquanto a versão stable usava números pares. Então, como exemplo, a versão 2.5.25 era um kernel em desenvolvimento, enquanto a versão 2.4.25 é uma versão estável.

Mas depois que a série 2.6 foi criada, os desenvolvedores do kernel decidiram abandonar esse método de ter duas árvores separadas e declararam que todas as versões do kernel 2.6 seriam consideradas "estáveis", não importando a velocidade do desenvolvimento. Os poucos meses entre os principais lançamentos da série 2.6 dariam aos desenvolvedores do kernel tempo para adicionar novas funcionalidades e então estabilizá-las a tempo do próximo lançamento. Além disso, uma ramificação "-stable" foi criada para arrumar bugs das versões e atualizações de segurança para versões passadas do kernel, antes que a próxima versão principal da série 2.6 seja lançada.

Tudo isso é melhor explicado com alguns exemplos, ilustrados na Figura 3.1. A equipe do kernel lançou o kernel 2.6.17 como uma versão estável. Então os desenvolvedores iniciaram o trabalho em novas funcionalidades e iniciaram lançando versões -rc como kernels em desenvolvimento para que as pessoas pudessem ajudar a testar e debugar as mudanças. Após que todos concordaram que a versão em desenvolvimento estava estável o suficiente, ela foi lançada como o kernel 2.6.18. Todo esse ciclo normalmente leva cerca de 2 ou três meses, dependendo de uma variedade de fatores.


Figura 3-1. Ciclo de lançamento do desenvolvimento do kernel.

Enquanto o desenvolvimento de novas funcionalidades estava ocorrendo, a versões estáveis 2.6.17.1, 2.6.17.2 e outras foram lançadas, contendo conserto de bugs e atualizações de segurança.

Se você deseja usar a versão mais recente no seu trabalho, é recomendado que você utilize as versões estáveis do kernel. Se você deseja ajudar os desenvolvedores do kernel a testar as funcionalidades da próxima versão do kernel e fazer um feedback, utilize a versão do kernel em desenvolvimento. Para efeito desse capítulo, assumiremos que você está usando uma versão estável do kernel.

Onde Achar o Código-Fonte do Kernel

Todos os códigos-fonte do kernel Linux podem serem encontrados em um do sites do kernel.org, uma rede mundial de servidores que hospedam o código-fonte do Linux, habilitando qualquer um encontrar um servidor local perto de si. Isso permite que os principais servidores do kernel sejam suscetíveis aos sites que hospedam os códigos-fonte e permite que os usuários baixem os arquivos necessários o mais rápido possível.

O site principal - http://www.kernel.org - mostra todas as versões atuais do kernel de várias árvores diferentes do kernel, como mostrado na Figura 3.2.


Figura 3-2. O site principal do projeto kernel.org

Para baixar a versão estável mais recente do kernel, clique no caracter F na linha da versão do kernel. Isso baixará o código-fonte inteiro da árvore. Ou você pode navegar até a sub-pasta apropriada para ver todas as versões do kernel da série 2.6, http://www.us.kernel.org/pub/linux/kernel/v2.6, como é mostrado na Figura 3-3.

Também é possível baixar o código-fonte do kernel pela linha de comando, utilizando as ferramentas wget e curl, ambas devem vir na sua distribuição Linux.

Para baixar a versão 2.6.17.8 do kernel usando o wget, insira o comando:

$ wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.17.8.tar.gz
--17:44:55-- http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.17.8.
tar.gz
=> `linux-2.6.17.8.tar.gz'
Resolving www.kernel.org... 204.152.191.5, 204.152.191.37
Connecting to www.kernel.org|204.152.191.5|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 51,707,742 (49M) [application/x-gzip]
100%[=============================================>] 51,707,742 35.25K/s
ETA 00:00
18:02:48 (47.12 KB/s) - `linux-2.6.17.8.tar.gz' saved [51707742/51707742]



Figura 3-3. A pasta do código-fonte do kernel 2.6

Para baixar usando curl:

$ curl http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.17.8.tar.gz \
-o linux-2.6.17.8.tar.gz
% Total % Received % Xferd Average Speed Time Time Time
Current
Dload Upload Total Spent Left
Speed
100 49.3M 100 49.3M 0 0 50298 0 0:17:08 0:17:08 --:--:--
100k


Uma maneira rápida e fácil para ver a versão do kernel mais recente, use a informação disponível em http://www.kernel.org/kdist/finger_banner, ilustrado pela Figura 3-4.

O Que Fazer Com O Código-Fonte

Agora que você baixou o código-fonte do kernel apropriado, onde ele deve ficar? Aconselhamos criar um diretório local na sua pasta home chamada linux para guardar dos os arquivos de códigos-fonte de diferentes versões do kernel:

$ mkdir ~/linux


Figura 3-4. Versão do kernel mais recente

Agora mova o código-fonte para esse diretório:

$ mv ~/linux-2.6.17.8.tar.gz ~/linux

E entre no diretório:

$ cd ~/linux
$ ls
linux-2.6.17.8.tar.gz


Agora que o código-fonte está na pasta correta, descompacte o arquivo:

$ tar -xzvf linux-2.6.17.8.tar.gz

A tela será preenchida com os arquivos que são descompactados e aparecerá seguinte no diretório linux/:

$ ls
linux-2.6.17.8.tar.gz
linux-2;6;17.8/


*---*---*---*---*---*---*---*---*---*---*


PDF em inglês - Chapter 3: Retrieving the Kernel Source

*---*---*---*---*---*---*---*---*---*---*

Qualquer correção, crítica & derivados, nos comentários por favor. Agradecido.

A Origem

Mais um vídeo para a promoção "We're Linux" promovida pela Linux Foundation.

Uma notícia, uma frase

Notícia:

"PSL Brasil: ASL.org critica acordo gaúcho com Microsoft"

Frase:

"Não queiram ser como aqueles que passam metade da vida a dizer o que vão realizar e a outra metade a explicar porque não o realizaram." ~ Benjamin Franklin

Um benchmak multiplataforma do OpenOffice

Um ótimo benchmark multimplataforma feito pela equipe do OpenOffice.org Ninja comparando o software em diversas condições. Os gráficos parecem diferentes num primeiro olhar mas basta ler o link da wikipedia para entender a metodologia. Para ler o benchmark clique AQUI.

O resultado?? Qual a diferença entre uma Ferrari a 300 Km/h e uma Lamborghini a 305 Km/h?? É mais ou menos essa a diferença.

Detectando o Conficker no Linux

Nesse mês afastado do blog, confesso que me desliguei totalmente do mundo tecnológico. Agora que voltei só para respirar, percebi que uma praga está assolando o mundo Linux. O Linux Journal fez um resumo ótimo de como detectar essa praga com ferramentas Linux. Vamos ao resumo do resumo.

1. O "The Honeynet Project" fez um script em python (que requer a biblioteca Impact - para instalar basta o comando "python setup.py install") tanto para Linux quanto para Windows. O scanner é rápido e prático. Basta instalar a biblioteca e rodar o comando "./scs.py [primeiro_IP] [ultimo_IP]". Se você só tem uma máquina para escanear, basta colocar o IP da máquina nos dois parâmetros e pronto. Algo parecido com isso aparecerá:

192.168.0.151: No resp. (445/tcp)
192.168.0.145: Windows 5.1 [Windows 2000 LAN Manager]


.151 é a minha máquina Linux e .145 é o meu desktop Windows com o compartilhamento ativado.

Esse método analisa se o PC está infectado com as variações .A, .B e .C no Conficker. Porém, para ver se a sua máquina está com as variações .B e .C basta entrar nessa página hospedada pela Universidade de Bonn.

2. O outro método é instalar uma nova versão do famosíssimo NMAP feito justamente para isso. Instale a versão 4.85BETA6 e rode o seguinte comando:

nmap -PN -d -p445 --script=smb-check-vulns --script-args=safe=1 [faixa_de_IP]

Entenda-se por faixa de IP algo como 192.168.0.1-255.

That's all folks!!!

Ainda estou aqui

Um mês depois, descobri o valor do tempo. Achava que o ditado "tempo é dinheiro" não fosse tão importante na vida, mas talvez seja um dos principais até se descobrir que o que mais está em extinção não é nem os pandas gigantes da China, nem alguma das milhares de espécies de sapos em alguma floresta no mundo. É o nosso amigo tempo. E não há nenhuma ONG para protege-lo.

 
Powered by FeedBurner Creative Commons License
Esta obra está licenciada sob uma Licença Creative Commons.