Aviso :
Este manual foi substituído por uma versão mais nova e não é mais mantido.
|
[ << ]
[ < ]
[ Início ]
[ > ]
[ >> ]
3. Funcionalidades do Portage
Conteúdo:
3.a. Funcionalidades do Portage
O Portage tem várias funções adicionais que tornam sua experiência com o Gentoo
ainda melhor. Várias dessas funcionalidades dependem de algumas ferramentas de
software que melhoram performance, confiabilidade, segurança ...
Para ligar ou desligar algumas funcionalidades do Portage você precisa editar a
variável FEATURES do arquivo /etc/make.conf, que contém as
várias palavras-chave de funcionalidades, separadas por espaços em branco. Em
vários casos você também precisará instalar uma ferramenta adicional de qual a
funcionalidade depende.
Nem todas as funções que o Portage suporta estão listadas aqui. Para uma lista
completa, consulte a página de manual do make.conf:
Listagem de código 1.1: Consultando a página de manual do make.conf |
$ man make.conf
|
Para descobrir o que está ajustado por padrão em FEATURES, rode
emerge --info e procure pela variável FEATURES ou pegue-a com o grep:
Listagem de código 1.2: Descobrindo o que já está na variável FEATURES |
$ emerge --info | grep FEATURES
|
3.b. Compilação distribuída
Usando distcc
O distcc é um programa usado para distribuir compilações através de
várias máquinas, não necessariamente idênticas, em uma rede. O cliente de
distcc envia toda informação necessária para os servidores de distcc
(rodando distccd) para que eles possam compilar pedaços de código fonte
para o cliente. O resultado final é um tempo de compilação menor.
Você pode encontrar mais informações sobre o distcc (e como fazer com que
funcione com o Gentoo em nossa Documentação de
distcc do Gentoo.
Instalando o distcc
O distcc vem com um monitor gráfico para controlar tarefas que o seu computador
está enviando para compilação. Se você usa Gnome, coloque 'gnome' em sua
variável de USE. Senão, se você não usa gnome e ainda quiser ter o monitor, você
deve colocar 'gtk' na variável de USE.
Listagem de código 2.1: Instalando o distcc |
# emerge distcc
|
Ativando suporte no Portage
Adicione distcc à variável FEATURES dentro de
/etc/make.conf. A seguir, edite a variável MAKEOPTS de acordo com
sua preferência. Um guia padrão é colocar "-jX" onde X é o número de CPUs
rodando distccd (incluindo o host atual) mais um, mas você pode ter
resultados melhores com outros números.
Agora rode distcc-config e digite a lista de servidores de distcc
disponíveis. Por simples exemplo, presumimos que os servidores de DistCC
disponíveis são 192.168.1.102 (o host atual), 192.168.1.103 e 192.168.1.104
(dois hosts remotos):
Listagem de código 2.2: Configurando o distcc para usar os três servidores de distcc disponíveis |
# distcc-config --set-hosts "192.168.1.102 192.168.1.103 192.168.1.104"
|
Não se esqueça de rodar o daemon de distccd também:
Listagem de código 2.3: Iniciando os daemons de distccd |
# rc-update add distccd default
# /etc/init.d/distccd start
|
3.c. Fazendo cachê da compilação
Sobre o ccache
O ccache é um cachê para compilações rápidas. Quando você compila um
programa, ele fará cachê de resultados intermediários para que, quando quer que
você recompilar o mesmo programa, o tempo de compilação seja drasticamente
reduzido. Em compilações comuns isso pode resultar em compilações de 5 a 10
vezes mais rápidas.
Se você estiver interessado no funcionamento do ccache, por favor visite a
homepage do ccache.
Instalando o ccache
Para instalar o ccache, rode emerge ccache:
Listagem de código 3.1: Instalando o ccache |
# emerge ccache
|
Ativando suporte no Portage
Abra o /etc/make.conf e coloque ccache na variável FEATURES.
A seguir, adicione a variável chamada CCACHE_SIZE e ajuste-a para "2G":
Listagem de código 3.2: Editando o CCACHE_SIZE no /etc/make.conf |
CCACHE_SIZE="2G"
|
Para ver se o ccache está funcionando, peça ao ccache que dê suas estatísticas.
Já que o Portage usa um diretório de home de ccache diferente, você também
precisa configurar a variável CCACHE_DIR:
Listagem de código 3.3: Vendo estatísticas do ccache |
# CCACHE_DIR="/var/tmp/ccache" ccache -s
|
O local /var/tmp/ccache é o diretório home de ccache padrão do
Portage; se você quiser alterar este ajuste, você pode configurar a variável
CCACHE_DIR no /etc/make.conf.
No entanto, se você rodar ccache, ele irá usar o local padrão
${HOME}/.ccache, motivo pelo qual você precisou configurar a
variável CCACHE_DIR na hora de pedir as estatísticas de ccache (do
Portage).
Usando o ccache em compilações alheias ao Portage
Se você quiser usar o ccache para compilações alheias ao Portage, adicione
/usr/lib/ccache/bin ao começo de sua variável PATH (antes de
/usr/bin). Isto pode ser feito editando
/etc/env.d/00basic, que é o primeiro arquivo ambiental que define a
variável PATH:
Listagem de código 3.4: Editando /etc/env.d/00basic |
PATH="/usr/lib/ccache/bin:/opt/bin"
|
3.d. Suporte a pacotes binários
Criando pacotes pré-construídos
O Portage suporta a instalação de pacotes pré-construídos. Embora o Gentoo não
forneça pacotes construídos (fora os snapshots de GRP), pode-se tornar o Portage
totalmente ciente de pacotes pré-construídos.
Para criar um pacote pré-construído você pode usar o comando quickpkg se
o pacote já estiver instalado em seu sistema, ou emerge com as opções
--buildpkg ou --buildpkgonly.
Se você quiser que o Portage crie pacotes pré-construídos de cada pacote que
você instalar, adicione buildpkg à variável FEATURES.
Suporte estendido para criar estágios de pacotes pré-construídos pode ser
obtido com o catalyst. Para mais informações sobre o catalyst por favor
leia o Manual de Referência
do Catalyst e o Guia de
perguntas freqüentes do Catalyst.
Instalando pacotes pré-construídos
Embora o Gentoo não forneça um, você pode criar um repositório central onde você
grava pacotes pré-construídos. Se você quiser usar este repositório, você
precisa tornar o Portage ciente dele fazendo com que a variável PORTAGE_BINHOST
aponte para ele. Por exemplo, se os pacotes pré-construídos estiverem em
ftp://buildhost/gentoo:
Listagem de código 4.1: Configurando PORTAGE_BINHOST no /etc/make.conf |
PORTAGE_BINHOST="ftp://buildhost/gentoo"
|
Quando você quiser instalar um pacote pré-construído, adicione a opção
--getbinpkg ao comando emerge junto com a opção --usepkg. A
primeira opção diz ao emerge para baixar os pacotes pré-construídos do servidor
definido anteriormente, enquanto a segunda pede ao emerge que tente instalar o
pacote pré-construído primeiro antes de baixar as fontes e compilá-las.
Por exemplo, para instalar o gnumeric com pacotes pré-construídos:
Listagem de código 4.2: Instalando um pacote pré-construído do gnumeric |
# emerge --usepkg --getbinpkg gnumeric
|
Mais informações sobre as opções dos pacotes pré-construídos do emerge podem ser
encontradas na página de manual do emerge:
Listagem de código 4.3: Lendo a página de manual do emerge |
$ man emerge
|
[ << ]
[ < ]
[ Início ]
[ > ]
[ >> ]
O conteúdo deste documento está licenciado pela licença Creative Commons -
Attribution / Share Alike.
|