Recentemente consegui dar mais um passo neste maravilhoso mundo livre: instalei o
Gentoo Linux e coloquei tudo para funcionar como queria. Bem, quase tudo. Uma das grandes tarefas nessa empreitada foi aprender como gerenciar os pacotes nessa distribuição. O gerenciamento vem por meio do
Portage, poderosa ferramenta do Gentoo.
Nesse artigo falaremos sobre seu uso e várias de suas características. Como fonte de consulta, usamos o próprio manual oficial do Gentoo, além da experiência adquirida.
Introdução ao Portage
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.
Primeiro precisamos entender a chamada "Portage tree", a árvore do Portage. Ela é uma coleção de ebuilds - arquivos que contém toda a informação necessária para manter/gerenciar o software. Essa coleção de ebuilds fica em /usr/portage. Portanto é necessário fazer o updated da árvore do Portage de tempos em tempos, e isso é feito usando o programa rsync. O comando para isso é
# emerge --sync
Se você tiver um firewall bloqueando o uso do rsync, ainda pode fazer o update. Use:
# emerge-webrsync
Pesquisando por pacotes
Você está querendo instalar um programa, mas não lembra exatamente seu nome, apenas parte dele. O que fazer? Simples, use:
emerge --search nomedopacote
A sintaxe acima para "emerge -search" retorna os nomes dos pacotes que contém a expressão "nomedopacote", mesmo que parcialmente. Por exemplo, para pesquisar sobre todos os pacotes que contém a expressão "gnome":
emerge --search gnome
Se você quiser pesquisar mais a fundo, pode buscar não apenas dentre os títulos dos programas, mas também em suas descrições. Para isso use a opção -searchdesc:
emerge --searchdesc gnome
Experimente o esquema descrito acima. A saída do comando mostra muito além dos nomes dos pacotes, mas também diversas informações adicionais. Veja um exemplo:
# emerge --search alsa
* media-sound/alsa-utils
......Latest version available: 1.0.14_rc1
......Latest version installed: 1.0.14_rc1
......Size of files: 957 kB
......Homepage: http://www.alsa-project.org/
......Description: Advanced Linux Sound Architecture Utils (alsactl, alsamixer, etc.)
......License: GPL-2
Note na amostra acima que, além do(s) pacote(s), é mostrada a versão disponível, se essa versão está ou não instalada na máquina, o tamanho do arquivo, seu endereço na net, sob qual licença está disponível, além de uma breve descrição do pacote.
Instalando programas
Agora que sabemos como procurar e encontrar nossos pacotes, vamos instalar. Também é muito simples:
# emerge nomedopacote
Como os pacotes normalmente possuem diversas dependências, a instalação de um único pacote pode resultar na necessidade de instalar diversos outros. Mas não há motivo de preocupação, pois o Portage cuida de tudo. Se for necessário saber antecipadamente quais pacotes seriam instalados para determinado programa, use a opção --pretend.
# emerge --pretend nomedopacote
Quando dizemos para o Portage instalar um pacote, o que ele faz? Primeiro baixa o código fonte da internet e guarda em
/usr/portage/distfiles. Guarde bem esse diretório na memória. Ele será útil diversas vezes. Depois de baixar, o Portage abre os arquivos, compila e instala o pacote. Se por quaisquer motivos você não quer que o pacote seja instalado, mas apenas deseja baixar os fontes, use a opção --fetchonly:
# emerge --fetchonly nomedopacote