Foge ao escopo deste artigo prático, definir ou situar a nomenclatura e natureza do
Emerge, do
Portage e de cada tipo de repositório ou protocolo de instalação usado pelo
Gentoo.
Para ver detalhes e o que são Portage, Ebuild, Emerge, Entropy, Overlay, FLAGS etc.veja o Manual do Gentoo ou pesquise na Internet. Há farta documentação.
Espelhos
Vamos agora iniciar a configuração dos espelhos. Embora muitos dos repositórios serem ótimos, você pode querer utilizar os mirrors que considera mais rápidos, ou mais próximos etc. Basta logar como root usando su e senha e executar:
# mirrorselect -i
Escolhendo por exemplo o repositório geral (rsync) da América do Sul. A seguir, execute:
# mirrorselect -i -r
E escolha, por exemplo os mirrors oficiais do Gentoo no Brasil. São:
http://www.las.ic.unicamp.br/pub/gentoo
ftp://ftp.las.ic.unicamp.br/pub/gentoo
Os mirrors ftp, atualmente são menos usados e costumam ser mais livres. Como root, edite o arquivo
/etc/make.conf, colocando em ordem de prioridade os espelhos. O que aparece me primeiro lugar, será usado como default: edite a linha Gentoo Mirrors. Um exemplo abaixo:
SYNC="rsync://rsync.samerica.gentoo.org/gentoo-portage"
GENTOO_MIRRORS=" http://www.las.ic.unicamp.br/pub/gentoo" ftp://ftp.las.ic.unicamp.br/pub/gentoo ftp://ftp.ussg.iu.edu/pub/linux/gentoo"
Também se pode usar somente um rsync como mirror geral, e o sistema procurará em todo o Mundo, pelo mirror mais livre. Detalhes em:
Atualizando importantes pacotes
Se o seu Gentoo não estiver bem atualizado, pode ser interessante atualizar o compilador e linguagens que o seu sistema usa.
$ su
# emerge --sync (com muita coisa já instalada, veja Advertências!)
# emerge portage
# emerge gcc
# emerge gcc+
# emerge gtk
# emerge gtk+
# emerge python
# emerge autoconf
# emerge automake
Se planeja empregar frontends gráficos de portage:
# emerge kuroo
# emerge porthole
# emerge portato
Instalando pacotes
Daqui para frente o NOME DO PACOTE a ser instalado, sua versão etc, para efeito de simplicidade, será representado por: "pacote". Para fazer instalações, basta substituir "pacote" pelo nome completo do pacote, incluindo, versão etc.
O processo mais fácil, mais clássico, recomendado e mais seguro de instalar pacotes no Gentoo, é usando a lista de pacotes estáveis e testados do sistema Portage:
emerge -av pacote ou LINGUAS=pt_BR emerge pacote
Uma das características fantásticas do Gentoo é poder fazer alterações das FLAGS de compilação e com isso, modificar seu pacote, otimizá-lo, mesmo que já instalado, basta recompilar! Essas FLAGS podem ser colocadas diretamente no
/etc/make.conf ou antes do comando emerge, como visto acima.
Usando a FLAG de compilação LINGUAS, o sistema vai procurar o fonte e compilar para português do Brasil se isto for possível.
O comando emerge, com opção sync, sincroniza os pacotes, através de um servidor geral rsync, que localiza os mirrors e atualiza a árvore (lista) do Portage e também atualiza todos os pacotes do sistema.
Em sistemas grandes já com muitos pacotes instalados, pode ser melhor rodar antes do emerge --sync, emerge pacote, pois não serão criados tantos problemas com dezenas de pacotes bloqueados ou mascarados.
Atualizando lista do portage
Desejando atualizar apenas a árvore, a lista e não instalar os pacotes, rode antes de:
emerge pacote
os comandos:
# emerge layman
(somente se o seu sistema não tem nenhum Overlay, rode o comando entre parêntesis, pule se já houver Overlay....
# echo "source /usr/portage/local/layman/make.conf" >> /etc/make.conf
# layman -S
# emerge portage
Isto somente atualiza todos os Overlays do sistema e apenas lista de pacotes do Gentoo.
Vendo a lista do portage
Para ver a lista de arquivos do Portage, use:
# emerge --search ou emerge -s
Também se pode usar os utilitários EIX e ESEARCH:
$ su
# emerge gentoolkit
# emerge aix
# emerge esearch
# esearch (ou aix)
pacote
Apenas fingindo instalar
Voltando ao Emerge, para apenas simular a instalação, sem efetivamente instalar os pacotes, use o camando:
# emerge --pretend pacote
ou
# emerge -p pacote
Isto apenas simulará a atualização e mostrará pacotes que bloqueiam ou mascaram o que vai ser instalado. O comando "emerge pacote" é substitutivo. O pacote atualizado ficará no local do pacote anteriormente instalado.
Apagando pacotes
Para somente deletar um pacote, sem instalar a versão nova, utilize o comando:
# emerge --unmerge pacote
ou
emerge -C pacote
Não é bom utilizar com pacotes muito grandes, como o GNOME, porque pode apagar dependências necessárias, criando pacotes quebrados. Lembre-se, em
Linux, você nunca tem certeza do que pode apagar!
O Emerge é o principal comando do sistema Portage e tem alta potencialidade. Para conhecer todas as opções do Portage e do comando emerge, detalhes etc, veja:
Máscaras
Ao usar o emerge você pode ter problemas com pacotes mascarados. Se você estiver com uma versão velha, stable e a versão nova for de teste, ou instável, o sistema vai mascarar, porque os desenvolvedores do Gentoo sugerem que você use sempre os pacotes estáveis, em uso rotineiro.
Há vários jeitos de resolver.
Tirando o pacote mascarador:
$ su
# emerge -C <pacote que está mascarando o que quer instalar>
# emerge pacote
Ou desmascare o pacote manualmente:
# echo pacote >> /etc/portage/package.keywords
Esse comando grava o nome do pacote no arquivo /etc/portage/package.keywords, desmascarando-o.
Pode ser muito mais prático, se você instala muita coisa, ou pacotes grandes, utilizar o
autounmask:
$ su
# emerge autounmask
# autounmask pacote
ou
# autounmask -n pacote
# emerge -vp pacote
# emerge pacote
A opção -n no autounmask, vai desmascarar todas as versões e dependências. As opções vp no emerge mostram a possível compilação e as FLAGS que serão usadas.
Abaixo, exemplos de como se pode desmascarar e instalar programas, incluindo KDE4 e Compiz Fusion, no Gentoo: