Instalando, gerenciando e mantendo pacotes no Gentoo Linux e derivados
O Gentoo é uma distribuição Linux conhecida pela complexidade, e por isso considerada de difícil utilização. Não tem apt-get, yum, nem aceita bem pacotes tipo .DEB ou .RPM. Embora possa trabalhar com binários, geralmente usa fontes e os compila automaticamente. Neste artigo são descritas todos os modos de instalar qualquer coisa em Gentoo.
Introdução. Usando o Portage. Método Geral.
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.
# 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:
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:
$ 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
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.
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.
# 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
# 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.
# 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:
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:
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"
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:
- make.conf (Flags de compilação do Gentoo)
- make.conf (Arquivo de Configuração do Gentoo)
- make.conf (Exemplo de make.conf do Gentoo Linux)
- make.conf
- http://www.gentoo.org/main/en/mirrors2.xml
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:
- http://gentoo-wiki.com/MAN_emerge
- http://www.itmnetworks.com.br/suporte/.../install.unix.gentoo.html
- http://gentoo.biz/doc/pt_br/handbook/handbook-amd64.xml?part=2&chap=1
- http://www.gentoo.org/doc/pt_br/handbook/
- http://www.tux-ce.org/portal/node/188
- http://www.litrixlinux.org/site1/index.php?...=view&id=22&Itemid=27
- http://wiki.sabayonlinux.org/...HOWTO:_The_Complete_Portage_Guide
- http://www.linux-magazine.com/issue/58/Gentoo_Linux.pdf
- http://sodki.org/documentos/apresentacoes/Gentoo...mundo.pdf
- http://www.gentoobr.org/.../turbinando-a-procura-de-pacotes-no-gentoo/
- http://petryx.blogrs.com.br/.../5-motivos-para-adorar-o-gentoo/
- http://opens.wetpaint.com/page/Gentoo?t=anon
- Instalando o Gentoo Linux
- Introdução ao Gentoo Linux
- http://en.wikipedia.org/wiki/Portage_(software)
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.- http://www.gentoo.org/doc/pt_br/handbook/handbook-x86.xml?part=3&chap=3
- http://magno.multiply.com/journal/item/40
- Instalando pacotes mascarados no Gentoo
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:
- http://silentcoder.co.za/silentcoder/?p=271
- http://wgo.wolf911.us/?p=28&lang=pt
- http://pt-br.gentoo-wiki.com/Tutorial_Compiz_Fusion
- http://techbase.kde.org/.../KDE4_(pt_BR)#Instalando_na_m.C3.A3o
- http://www.mundolivre.eti.br/.../pacotes-mascarados-no-gentoo/
Fantástico.
Meus parábens, nem preciso fala pra onde foi né ;)
Abraços