Emergindo grandes pacotes em hardwares fracos com o auxílio de outro computador no Gentoo Linux

O maior problema da instalação do Gentoo Linux é a demora em compilar os pacotes necessários, principalmente se o hardware tiver poucos recursos, então aqui vai uma boa maneira de otimizar o processo de compilação.

[ Hits: 14.436 ]

Por: Aaron Kim Binner da Silva em 22/09/2008


Os hardwares utilizados e a configuração do kernel



A idéia é montar o sistema de arquivos do "PC 1" em uma pasta em "PC 2" e fazer CHROOT nesta mesma pasta, podendo assim compilar os pacotes necessários utilizando o hardware do "PC 2" e economizar tempo.

O primeiro PC é um AMD Duron 750 MHZ, 128 MB de ram. Duas placas de rede, sendo uma ligada diretamente à internet e outra ligada ao outro PC através de um cabo cross-over. De agora em diante o chamaremos de PC1.

O "auxiliar" é um notebook acer aspire 5050 (AMD Turion 64 2.2Gz 1GB de ram). O chamaremos de PC2.

Ambos rodam Gentoo Linux.

Para compartilhar a conexão com a internet precisaremos do IPTABLES e o módulo IPTABLE_NAT, e precisaremos também do NFS para podermos montar o hd do PC1 no PC2.

Preparando o seu kernel (versão 2.6)

Certifique-se de que estas opções estão habilitadas no seu kernel:

Networking --->
  Networking options  --->
  [*] Network packet filtering framework (Netfilter)  --->
      [*]   Advanced netfilter configuration                      
      [*]     Bridged IP/ARP packets filtering          
      IP: Netfilter Configuration  --->  
         <M> IPv4 connection tracking support (required for NAT)          
         [*]   proc/sysctl compatibility with old connection tracking      
        <M> IP Userspace queueing via NETLINK (OBSOLETE)            
           <M> IP tables support (required for filtering/masq/NAT)      
           <M>   "recent" match support                                
           <M>   "ttl" match support                                        
           <M>   "addrtype" address type match support          
           <M>   Packet filtering                                            
           <M>     REJECT target support                                
           <M>   LOG target support                                      
           <M>   ULOG target support                                    
           <M>   Full NAT                                
           <M>     MASQUERADE target support                                
           <M>     REDIRECT target support                                    
           <M>     NETMAP target support                                      
           <M>     Basic SNMP-ALG support                                    
           <M>   Packet mangling                                              
           <M>     ECN target support                                        
           <M>     TTL target support                                        
           <M>     CLUSTERIP target support (EXPERIMENTAL)                  
           <M>   raw table support (required for NOTRACK/TRACE)            
           <M> ARP tables support                                            
           <M>   ARP packet filtering                                        
           <M>   ARP payload mangling            


Estas opções devem estar habilitadas em ambas as máquinas:

File Systems --->
Network File Systems --->
  <M> NFS file system support
  [*]   Provide NFSv3 client support
  <M> NFS server support
  [*]   Provide NFSv3 server support

Na dúvida acabei marcando alguns módulos a mais, afinal nunca se sabe quando se vai precisar deles. Se necessário recompile o seu kernel. :)

    Próxima página

Páginas do artigo
   1. Os hardwares utilizados e a configuração do kernel
   2. Compartilhando sua conexão
   3. Colocando a idéia em prática
Outros artigos deste autor

Configurando o laptop Acer 5050-3284 no Gentoo Linux

Leitura recomendada

Criando um Arch Linux de bolso a partir de qualquer distribuição

VPS - Tutorial - Crie seu servidor

Servidor VPN PPTP com autenticação de usuários no Active Directory

Adicionando suporte ao Layer7 no Debian Lenny

Bind9 em chroot no Debian Lenny

  
Comentários
[1] Comentário enviado por demoncyber em 22/09/2008 - 14:46h

Artigo massa Aaron :)
Parabéns

[2] Comentário enviado por flaviodm em 22/09/2008 - 15:52h

Show de bola teu artigo
=)

[3] Comentário enviado por davidsonpaulo em 23/09/2008 - 10:11h

Depois de ler esse artigo, só posso dizer duas palavras: QUE GAMBIARRA! :-D Isso é que é o legal no Linux, sempre existe um jeito diferente de fazer as coisas.

Parabéns pela criatividade Aaron! Adorei essa solução. :-)

[4] Comentário enviado por nihil em 23/09/2008 - 13:19h

PARABÉNS CARA !!
Isso que é o legal do linux, ele parece aqueles brinquedos lego , que você monta, desmonta, remonta da maneira que bem entende ...
inteeeeeeeh !!

[5] Comentário enviado por walmer em 26/09/2008 - 02:42h

esse é o jeitinho brasileiro heheh, muito bom artigo kra =)

[6] Comentário enviado por josefogaca em 18/06/2009 - 20:30h

Aaron, uma coisa muito importante que não vi você comentar durante o teu artigo é que, se o computador que vai se dar bem com a "gambiarra" tem um sistema linux, então em algum momento ele precisou ser instalado. Pensando desse jeito, ele foi configurado com otimizações para aquele hardware antigo, de poucos recursos. O micro que vai dar o empurrãozinho é um micro mais novo, com muito mais recursos e certamente, como bom usuário do Gentoo, o configurou para fazer bom proveito desses recursos. O resultado disso no micro mais antigo será, senão softwares instáveis, softwares não compatíveis, mesmo usando chroot.

Mesmo que não vá se aprofundar no assunto, pelo menos deixe claro para quem ler o artigo para que saibam onde estão se metendo! Ademais, muito bem resumido o assunto, valeu o teu esforço!!!

Um grande abraço.

[7] Comentário enviado por aaron.binner em 22/06/2009 - 15:41h

Amigo josefogaca, no caso deste artigo eu apenas citei uma solução para utilizar o gentoo em hardwares antigos, é possível utilizar esta solução durante a própria instalação do SO, e no caso das otimizações de compilação, neste caso as variáveis "USE", os pacotes instalados após o chroot serão beficiados através do arquivo make.conf residente no hd do micro "manco" não afetando as questões de estabilidade do sistema, ou seja, apenas acelera o processo.
Eu não me aprofundei mais neste artigo justamente por ser uma solução genérica, podendo ser aplicada em vários casos, logo não há como ser mais específico devido a vasta aplicação da solução. Porém, aceito que isto soa um tanto quanto complicado, sendo muitas vezes mais fácil optar por outra distribuição. Isto vai da opinião de cada um, porém, termino meu post com as palavras de Daniel Robbins.

/*A filosofia do Gentoo, em um parágrafo, é esta. Cada usuário tem trabalho que precisa fazer. A meta do Gentoo é desenhar ferramentas e sistemas que permitam ao usuário fazer seu trabalho tão agradavelmente e eficientemente quanto possível, já que ele achar bom. Nossas ferramentas devem ser prazerosas de usar, e ajudar o usuário apreciar a riqueza do Linux e da comunidade de software livre, e a flexibilidade do software livre. Isto só é possível quando a ferramenta é desenhada para refletir e transmitir o desejo do usuário, e deixar as possibilidades abertas para a forma final da matéria-prima (o código-fonte). Se a ferramenta força o usuário a fazer as coisas de um jeito em particular, então a ferramenta está trabalhando contra, ao invés de a favor, o usuário. Nós todos experimentamos situações onde as ferramentas parecem estar impondo seus respectivos desejos em nós. Isto é o avesso, e contrário à filosofia do Gentoo.

Pondo de outra maneira, a filosofia do Gentoo é criar ferramentas melhores. Quando uma ferramenta está fazendo seu trabalho perfeitamente, você pode nem estar ciente de sua presença, porque não interfere ou torna sua presença conhecida, ou força você a interagir com ela quando você não quer. A ferramenta serve o usuário ao invés de o usuário servir a ferramenta.

Daniel Robbins
*/


Obrigado pela crítica, afinal elas sempre são construtivas, e garanto, o próximo artigo será melhor.

Aaron Kim Binner.
Linux User #490730


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts