PORTAGE - Gerenciamento de pacotes no Gentoo Linux

Portage é uma grande ferramenta de gerenciamento de software. Possui uma grande quantidade de características que o tornam flexível a ponto de ser apontado por muitos como a melhor ferramenta em Linux dessa categoria. Neste artigo trabalharemos muito com o emerge, que faz a intermediação entre o Portage e o usuário.

[ Hits: 44.219 ]

Por: Juliao Junior em 23/10/2008


Características especiais



Como falamos anteriormente, Portage é visto por muitos como a melhor ferramenta de gerenciamento de pacotes para sistemas Linux. Ele possui diversas características adicionais que tornam a experiência de usar o Gentoo definitivamente melhor. E muitas dessas características estão disponíveis por meio de softwares "agregados" que aumentam sua performance, segurança, estabilidade, e por aí vai.

Para habilitar ou desabilitar determinada característica do Portage precisamos editar o arquivo /etc/make.conf e alterar o valor da variável FEATURES que contém as palavras-chave para o que desejamos, cada uma delas separada por espaços em branco. Será comum a necessidade de instalar ferramentas adicionais para que as características desejadas possam funcionar.

Neste artigo não trataremos de todas as características adicionais disponíveis para o Portage. Mas você pode ler página de manual do make.conf, ler por si mesmo, e provavelmente achará bem interessante.

COMPILANDO E DISTRIBUINDO: É possível usar o programa distcc para distribuir compilações para diversas máquinas na rede. Como isso funciona? O cliente distcc envia toda a informação necessária para os servidores distcc (rodando distccd) de forma que o servidor possa compilar partes do código fonte para o cliente. O resultado é um tempo de compilação muito menor, e dependendo de sua rede isso pode se mostrar muito útil.

Vejamos como instalar e ativar o distcc. Como o Distcc usa uma interface gráfica para tarefas de monitoramento das tarefas de compilação, coloque a palavra-chave "gnome" em sua variável USE. Porém se não for usar o GNOME, mas ainda quiser a interface gráfica, coloque a palavra-chave "gtk". A instalação é tão fácil como qualquer outra instalação com o Portage:

# emerge distcc

Agora vamos ativar o suporte ao Portage. Primeiro, inclua "distcc" para os valores da variável FEATURES em /etc/make.conf, e depois edite a variável MAKEOPTS conforme sua máquina.

O próximo passo é rodar distcc-config e digitar a lista de servidores distcc:

# distcc-config --set-hosts "192.168.0.112 192.168.1.113"

No exemplo acima assumimos a existência de dois servidores distcc. Não esqueça de rodar distccd:

# rc-update add distccd default
# /etc/init.d/distccd start


ACELERANDO A COMPILAÇÃO: Toda vez que compilamos um programa, o trabalho é iniciado do zero, refazendo todo o processo de compilação. Mas se usarmos ccache economizamos bastante tempo. O que o ccache faz é guardar os resultados intermediários do trabalho de compilação, de forma que, se precisarmos compilar o mesmo programa outra vez, o tempo será extremamente reduzido, talvez sendo 5 ou até 10 vezes mais rápido.

Para instalar, o "complicado" :) processo de sempre:

# emerge ccache

Novamente, inclua ccache à variável FEATURES. Depois acrescente uma nova variável no mesmo arquivo /etc/make.conf. A nova variável deve ter o nome de CCACHE_SIZE, com conteúdo igual a "2G":

CCACHE_SIZE="2G"

O endereço padrão do Portage para o ccache é /var/tmp/ccache. Se por qualquer motivo você quiser alterá-lo, faça isso na variável CCACHE_DIR em /etc/make.conf.

Também podemos usar o ccache para compilações não realizadas pelo Portage, compilações feita 'na mão' mesmo. Para isso, devemos incluir /usr/lib/ccache/bin no início da variável PATH (antes de /usr/bin).

BUSCA PARALELA: Enquanto uma série de pacotes está sendo compilado, o Portage pode buscar os fontes para o próximo pacote da lista enquanto o outro pacote está sendo compilado. Isso é muito útil, pois é mais uma forma de diminuir o tempo de compilação. Para habilitar essa característica do Portage, acrescente o conteúdo "parallel-fetch" ao conteúdo da variável FEATURES.

Conclusão

Já estou com outros artigos preparados, falando sobre particularidades no uso do Portage e do Gentoo em geral. Daqui a alguns dias postarei a matéria. Até lá.

Página anterior    

Páginas do artigo
   1. Instalando e gerenciando pacotes
   2. Removendo e atualizando com Portage
   3. SLOTS e máscaras
   4. Flags
   5. Características especiais
Outros artigos deste autor

Reconstructor: Crie seu próprio Linux liveCD

Octave - Programação científica no Linux (parte 2)

Ubuntu será o aguardado Windows Killer?

Inkscape - Introdução (Parte 3)

Crie um espelho (mirror) Debian em sua máquina

Leitura recomendada

KDEMod 4.1 no Arch Linux

Jopen, não se preocupe mais em descobrir qual aplicativo usar

Como fazer RAID 0 com mdadm no Debian

Clonando HDs pela rede com UDPCAST

Ganhe uma camiseta do Viva o Linux ajudando o Viva o Android

  
Comentários
[1] Comentário enviado por nicolo em 23/10/2008 - 12:22h

Portage (portar, transportar) , segundo consta é inpirado no BSD. O sistema do Portage é considerado pelos experts
o "mais perfeito" sistema de intalação de pacotes (programas e drivers), segundo a metáfora do "perfeito":
"Um sistema operacional para uma máquina". Isso inclui drivers específicos, etc.
Acho que chamam metáfora porque essa perfeição não parece prática.

Fato é que o Sabayon, um irmão (ou derivado) do Gentoo consegue instalar o driver da nvidia (3D) automaticamente,
na instalação do sistema, uma façanha respeitável.
Creio que essa linha de distros é uma alternativa às tradições dos TGZ, RPM e Debian(s) sem deixar de ser GNU-Linux

Ótimo artigo. Parabéns

[2] Comentário enviado por albfneto em 23/10/2008 - 14:31h

Julião, vc também está usando Gentoo?
Excelente o seu artigo...
De fato, voce pode abreviar, ex

# emerge -p nomedopacote
ou
# emerge --pretend pacote
O Portage também faz muitas outras coisas, instala binários, recompila co FLAGS de compilação diferentes etc...
Uma das importantes caracteristicas do Portage, é de ser um gerenciador de pacotes compilador, isto é ele faz o binário a partir do fonte baixado através de um ebuild!
O portage, usando autoconf e automake, ele vai usar o gcc do gentoo r automatiza os processos de configure, make e make install!
é fantástico o portage e suas possibilidades são quase ilimitadas.
Outra carateristica do gentoo: embora não seja feito para usar .BIN. .RPM etc... e nem pácotes slackaware, o gentoo aceita (instalação via emerge) apt-get, rpm, yum... se vc quer usar...
não é aconselhável, mas dá.
também descobri, usando gentoo e sabayon, que muitas coisas para slackware, rodam no gentoo.
Complementando, cada Linux tem sua Filosofia e finalidade.
Se você quer um Linux, fácil, para usar, algo do tipo "Instalou, sai navegando", se voce quer linux rápido, produtivo, para usar etc... Seu Linux NÂO é o Gentoo!
A grande desvantagem do Gentoo é a demora da compilação, mas isso é sua maior vantagen, a otimização e o qu8e pode ser fazer com o Gentoo, linux que "se faz prá sua máquina"!!!
Se vc quer um Linux, pra mexer, pra usar, pra aprender e pra xeretar, então seu Linux pode ser o Gentoo!

[3] Comentário enviado por juliaojunior em 23/10/2008 - 14:55h

albfneto, comecei a usar o Gentoo há umas duas semanas. Desde a primeira vez que ouvi falar sobre o Gentoo, fiquei louco para usar, pois sempre falavam positivamente. É incrível o nível de satisfação dos usuários. Por um motivo ou outro, demorei para experimentar. Mas agora que comecei, compreendo o porquê da satisfação: ele é simplesmente incrível.

kara, se tiver alguma sugestão de uso, alguma particularidade no uso do Portage, pode mandar!!! Estou devorando tudo que posso sobre o Gentoo.

[4] Comentário enviado por percival em 24/10/2008 - 15:31h

Sou usuário Debian há 4 anos ( portanto CHATO e exigente ), dei uma passeada pelo FreeBSD e há 2 meses uso Gentoo no meu notebook.

Simplesmente fantástico, rápido e estável.

Arrecomendio.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts