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.287 ]

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

Blender - Iniciante (parte 1)

APTonCD - Seu repositório portátil

Emacs - Poderoso ambiente de trabalho

Ubuntu será o aguardado Windows Killer?

Inkscape - Introdução (Parte 3)

Leitura recomendada

Baixando e instalando o Ubuntu 6.10

Linux: Executando comandos utilizando a tecnologia biométrica de reconhecimento de voz

Como ver as informações de rede no Linux

Jaulas com debootstrap e schroot

Instalando o Linux Fedora 8 no Notebook Positivo v53

  
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