andre_asn
(usa Slackware)
Enviado em 02/02/2010 - 21:51h
O Portage é o gerenciador de pacotes do Gentoo, distribuição em que o Librix se baseia. Conhecer seus recursos e funcionalidades básicas pode ser importante tanto para o usuário que busca uma alternativa para tarefas básicas como instalar e remover pacotes, quanto para aquele que pretende aprender mais sobre o sistema que originou o Librix.
Conceitos
O Portage, em si, é composto por duas partes: o sistema de ebuilds e o Emerge.
Os ebuilds
Ebuilds são arquivos que contém instruções para a instalação de novos pacotes: são eles que dizem ao sistema onde encontrar os novos programas, como instalá-los e configurá-los para que possam funcionar corretamente. Normalmente não cabe ao usuário modificá-los; deve-se apenas atualizar regularmente o conteúdo do diretório de ebuilds (por padrão /usr/portage, também chamado de árvore do portage), como será mostrado a seguir.
O Emerge
Emerge é a ferramenta utilizada para gerenciar o conjunto de ebuilds -- e, por extensão, os pacotes do sistema. Cabe ao emerge resolver dependências de pacotes (por exemplo, no caso em que um pacote só pode ser instalado após outro, o Emerge propõe a instalação de ambos) e manter a árvore do Portage.
Assim, ao utilizar o comando do emerge que solicita a instalação de um novo programa, o emerge se encarregará de escolher todos os ebuilds necessários e estes serão usados para a adição do pacote ao sistema.
Customização de pacotes com USE flags
A maioria dos pacotes é capaz de fornecer suporte a várias funcionalidades diferentes. De fato, as opções são tantas que muitas vezes é desnecessário e até indesejável habilitar todas elas -- por exemplo, não é necessário instalar um programa com suporte a interface gráfica habilitado em um sistema que roda apenas em linha de comando.
Para selecionar quais funcionalidades virão nos programas instalados, utilizam-se USE flags: parâmetros de configuração que influenciam a instalação do pacote. As USE flags são normalmente definidas no arquivo de configuração /etc/make.conf, que deve ser editado com privilégios de administrador, na seção "USE". As USE flags padrão do Librix são apropriadas para uso comum. Para mais informações veja <USEflags>.
Escolhendo o pacote certo: Máscaras
Ao solicitar a instalação de um pacote pelo emerge, o sistem automaticamente escolhe a versão mais adequada à máquina, de um conjunto de uma ou mais alternativas. Assim, a versão instalada pelo emerge de um determinado pacote pode não ser a mais recente, como em casos nos quais o último lançamento do pacote causa instabilidade e problemas diversos no funcionamento dos sistemas em que é instalada.
O controle de qual versão do pacote será instalada é feito através de um sistema de máscaras: um pacote mascarado não pode ser instalado, por algum motivo; para que seja instalado ele deve então ser desmascarado.
Assim, caso a instalação de um pacote falhe porque ele está mascarado, o melhor a fazer é aguardar até que ele seja considerado seguro e seja desmascarado na árvore do portage; uma alternativa que pode ou não ser perigosa para o sistema é desmascará-lo manualmente, dizendo ao emerge que o pacote deve ser instalado apesar de não ser recomendado. Para mais informações veja <Máscaras>.
Utilizando o Emerge
Com os conceitos básicos já apresentados, é hora de executar algumas tarefas comuns com o emerge. A sintaxe genérica do emerge é:
# emerge [opções] [ação] [alvo(s)]
O comando acima deve ser usado com privilégios de administrador.
As opções modificam o comportamento da ação, que define o que será feito com o(s) alvo(s).
Uma referência rápida de opções úteis:
Opção Efeito
-j Especifica quantos trabalhos de instalação serão feitos paralelamente
-a Pede uma confirmação ao usuário
-p Não executa ação alguma, apenas mostra o que seria feito
-k Usa binários sempre que possível (recomendado para o Librix)
-D Afeta toda a árvore de dependências do alvo, diretas e indiretas
-N Inclui reinstalação de pacotes cujas USE flags foram alteradas
-v Mostra mais informações sobre o que será feito
-q Mostra menos informações sobre o que será feito
-n Pula alvos que já estão instalados (o padrão é reinstalar)
Algumas ações úteis:
Ação Efeito
(Nenhuma) Instala o alvo
--resume/-r Tenta completar última ação que falhou
--search/-s Busca "alvo" em títulos de pacotes
--searchdesc/-S Busca "alvo" em títulos e descrições de pacotes
--sync Atualiza a árvore do portage
--unmerge/-C Remove o pacote alvo
--update/-u Atualiza o alvo
Tarefas Comuns
* Instalar um pacote
# emerge <nome-do-pacote>
Em geral é útil utilizar ao menos as opções -v (que exibe, por exemplo, as USE flags utilizadas) e -a. Adicionalmente, pode-se usar -k e -j para agilizar o processo:
# emerge -vak -j 3 <nome-do-pacote1> <nome-do-pacote2> ...
Observe que no exemplo acima o número 3 refere-se à opção -j, ou seja, serão executados três trabalhos de instalação simultaneamente.
* Remover um pacote
# emerge -avC <nome-do-pacote>
* Atualizar o sistema
# emerge -uavDN world