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.

[ Hits: 86.776 ]

Por: Alberto Federman Neto. em 03/07/2008 | Blog: https://ciencialivre.blog/


Usando sistema delta



Sistema delta

O sistema Portage é grande. Isto ocupa muita largura de banda, independente do tempo grande levado na compilação, pode demorar para baixar pacotes Portage grandes, como KDE, GNOME, OpenOffice, GCC, GTK etc.

Por isso alguns usuários preferem usar sincronização com o sistema delta e usar o sistema delta para a atualização. O sistema delta somente baixará as partes novas, patches etc dos pacotes que você já tem instalados.

Primeiro vamos instalar os pacotes aplicativos do Delta:

$ su
(troque x86, por AMD64, se você possui computador Athlon 64)
# echo "app-portage/deltup ~x86" >> /etc/portage/package.keywords
# echo "dev-util/bdelta ~x86" >> /etc/portage/package.keywords
# echo "app-portage/getdelta ~x86" >> /etc/portage/package.keywords
# emerge getdelta
# emerge edelta
# emerge xdelta
# emerge emerge-delta-webrsync
# echo FETCHCOMMAND="/usr/bin/getdelta.sh \${URI}" >> etc/make.conf


As primeiras linhas são para desmascarar os pacotes do sistema Delta. Também pode usar autounmask (veja página 1). Para usar Delta para atualizar um pacote:

# edelta -m pacote_antigo pacote_novo nome_que_vai_dar_ao_patch_do_pacote
# edelta -p nome_que_você_deu_ao_patch


IMPORTANTE: Não interrompa a atualização e compilação do pacote com sistema Delta instalado no micro, como você podia fazer com o emerge normal, usando "Ctrl+C". Também se adverte que na Internet há usuários que reportaram instabilidade do sistema Delta!

Após instalado, também o sistema Delta integra-se ao comando emerge clássico e funciona automaticamente, vai baixar somente as partes necessárias do pacote, aproveitando o que já está instalado em seu sistema. Veja, por exemplo:

Sincronizando usando delta

Outro uso do Delta se instalado, é para sincronizar o Portage com menor tráfego de rede. Use:

$ su
# emerge-delta-websync

(ao invés dos comandos emerge --sync ou emerge --websync)

Para detalhes e exemplos do uso de Delta para atualizar o KDE, veja:
Página anterior     Próxima página

Páginas do artigo
   1. Introdução. Usando o Portage. Método Geral.
   2. Instalando pacotes que não estão no Portage. Usando Ebuilds. Overlay Local
   3. Usando listas de pacotes para o Portage. Usando Overlays
   4. Usando SVN (Subversion) para baixar arquivos
   5. Usando tarballs, snapshots, pacotes de programas fonte de uso geral em Linux
   6. Usando sistema delta
   7. Fazendo e/ou usando binários compilados em Gentoo
   8. Outros métodos. Paludis, PkgCore e Entropy
   9. Advertências, precauções e conclusão
Outros artigos deste autor

Compiz e Compiz-Fusion no novo Sabayon Linux

Como criar pacotes para o Gentoo ou Sabayon Linux

Os bons tempos voltaram! Revivendo e revisitando o WindowMaker

Experimento com Linux (parte 2): de Sabayon a... Gentoo e Funtoo!

Comparando desempenho de distros, arquiteturas ou ambientes gráficos - Método universal

Leitura recomendada

Monitoramento utilizando Centreon 2.4.5 + Nagios 3.5.1 + CentOS 6.5

Explorando o wget

Programação (II) - Modularização

Bioinformática - Instalação do SNAP workbench

Terminal de acesso (Quiosque) com Debian e Firefox

  
Comentários
[1] Comentário enviado por maran em 03/07/2008 - 12:43h

Alberto, hoje você enriqueceu e muto a comunidade, so tenho a agradecer.
Fantástico.
Meus parábens, nem preciso fala pra onde foi né ;)

Abraços

[2] Comentário enviado por joseeeveraldo em 03/07/2008 - 18:21h

Excelente artigo agora ainda fiquei com uma dúvida. Se eu instalar um sistema completo e quiser atulalizá-lo completamente pelo portage eu deveria rodar emerge --sync e depois emerge --update world, mas vc não recomenda rodar esses comandos, em um istema com muitos arquivos. Qual maneira que vc me recomenda para atualizar meu portage e meu sistema sem riscos

[3] Comentário enviado por removido em 04/07/2008 - 00:35h

muito bom !!!!!!!

[4] Comentário enviado por gnomo_dead em 04/07/2008 - 01:56h

joseeveraldo, eu nunca tive problemas em rodar um emerge --sync && emerge -uDN world, sinceramente pra mim nao vejo problema algum em fazer atualizaçao com muitos pacotes velhos, o unico problema eh q vc vai ter muita coisa pra compilar...
pra explica, o -u eh update, o -D eh deep, pra ir a fundo nas atualizaçoes, pelo q eu entendi, me corrijam se eu estiver errado, se nao colocar o -D ele nao vai atualizar as dependencias dos pacotes no world, o world eh a lista de pacotes q vc instalou na mao, e o -N eh pra recompilar tudo q tem use flags novas.
Espero ter ajudado

[5] Comentário enviado por loucos88 em 04/07/2008 - 09:25h

Cara, tentei uma vez instalar o Gentoo em minha maquina e acabei por tomar uma surra que nunca vou esquecer, mas uma coisa te digo, consegui instalar e foi a distro que mais me ensinou sobre linux até hoje.

com toda certeza esse artigo irá ajudar muitas pessoas por ai

valew

[6] Comentário enviado por albfneto em 07/07/2008 - 16:29h

Bom.não recomendo rodar emerge --sync, nem comandos world, em um Gentoo com muita coisa instalada, grande, ou no sabayon, que tambpem é grande.
Não recomendo pq. vai ter muita coisa a ser compilada, e vai demorar e ainda, vai ter muitos pacotes mascarados!
ex... rodado o comando emerge --update world... aí vc quer atualizar seu gnome, por ex... vai ter muita coisa mascarada!
recomendo sim, que primeiro faça emerge dos pacotes que gosta, que vai usar na prática, e depois, quando o sistema estiver rodando redondo pra vc, aí vc faz emerge --sync, por ex. ..
Isto é rodar sincroniuzação, depois da maioria das coisas instaladas, principalmente, se vc. como eu gosta de usar pacotes unstable or testing, como o último ompiz-fusion.
Espero ter esclarescido, é mais prático atualizar seus pacotes usuais, antes de emerge --sync, senão pode demorar e vc pode ter muita coisa mascarada!
isso é particularmente recomendado, no Sabayon, pq o sabayon é muito grande!
Agora, tem usuários de Gentoo, que gostam de poucos apliocativos e um sistema muito rápido, pq a velocidade de execução de um Gentoo enxuto, espanta, aí pode sincronizar na boa. Isto é se vc usa sei lá 40 pacotes, não há problema, mas 400 sim!
agora comandos que removem as dependencias, esses são arriscados, pq vc pode ter pacotes quebrados!
O Gentoo é um Linux fantástico, poderoso, mas é um pouco comoa namorada da gente... exigente , um tanto quanto instável e fácil de ser detonado! rsrrsrs!
Isto é entenderam, o que recomendo é deixar a sincronização para ser rodada no sistama já bem ajeitado.

[7] Comentário enviado por albfneto em 07/07/2008 - 19:33h

Sobre as desvantagens d atualizar tudo, em sistemas com muita coisa instalada(mesmo que em Ubuntu,um Debian!!) e mais ainda se vc compila muita coisa, veja o comentário de Nicolo, na resposta ao tópico:

http://www.vivaolinux.com.br/comunidades/verTopico.php?codigo=82&codtopico=22671

Jose everaldo, minha sugestão é exatamente somente rodar os comandos de profunda atualização, com sync, world. depois do seu sistama estar completo, mais ou menos acertado, com muitos dos pacotes que vc quer já atualizados, ou seja recomendo atualizar, por ex, KDE, GNOME, XFCE, K3b etc... antes., quando estiver redondo, aí roda emerge --sync, por ex.
Se vc tiver, de maniera geral, por ex, 5000 pacotes no seu sabayon ou gentoo e fizer um comando de opção world ou deep, pode ficar atualizado, mas pode ter dezenas de pacotes bloqueados, dificultando atualizações posteriores.
Para alguns problemas após emerge sync, comandos com opção world, em sistemas grandes e parcialmente cofigurados, principalmente de Sabayon,mais do que de gentoo, (pq o instalador de sabayon já compila e instala muita coisa) veja, por exemplo:
http://osdir.com/ml/linux.gentoo.proaudio/2006-11/msg00007.html
http://osdir.com/ml/gentoo.user.brazilian/2006-02/msg00094.html
http://www.sabayonlinux.org/forum/viewtopic.php?f=5&t=229
http://www.linode.com/forums/archive/o_t/t_793/bug_fixed_gentoo_emerge_broken_after_emerge_sync_.htm...
http://www.sabayonlinux.org/forum/viewtopic.php?f=5&t=10453
http://groups.google.com/group/alt.os.linux.gentoo/browse_thread/thread/24aea75fe885eb93/3b140f79bc8...
http://www.techzonept.com/showthread.php?t=126363&highlight=Sabayon&page=3

se algume lê Italiano, mais um problema recente de umusuario de Sabayon, após um comando deatualização profunda tipo world... Porisso que não aconselho:

http://www.sabayonlinux.org/forum/viewtopic.php?f=22&t=13389&p=76530&hilit=slot+conflict#p76530


Porisso que recomendo primeiro atualizar e instalar antes os pacotes que a pessoa gosta e usa mais, principlamnte se vc gosta de testar pacotes unstable que não estão ainda no portage, por ex. após emerge sync,pode não ser fácil instalar um XFCE experimental, mais novo que aquele do portage.

[8] Comentário enviado por albfneto em 08/10/2008 - 23:04h

Dicas sôbre o novo Portage.
Após a versão 19 (atual é a 20), o Portage tem alguns novos comandos. Se voce for instalar um pacote grande, e não tiver muitos pacotes bloqueados ou colisões, voce pode pular esses arquivos, e poderá ter um sistema ou pacote rodando,apesar de alguns poucos erros.
Para isso, rode o emerge com a opção Keep Going. Créditos a zapmedico, inventor do comando, um dos mantenedores do Portage na Fundação Gentoo:

$ su
# emerge -s Nome do Pacote]
# emerge -p Nome do Pacote
# emerge --ask --verbose --keep-going Nome do Pacote

[9] Comentário enviado por albfneto em 04/02/2009 - 04:42h

Aqui uma mini dica:

Conheço também este artigo, muito didático, só que está em inglês.
tem até um jeito automatico de usar layman para criar os overlays em Gentoo

http://learn.clemsonlinux.org/wiki/Gentoo:Overlays#Automatic_Creation

[10] Comentário enviado por albfneto em 16/02/2009 - 19:33h

Adendos ao artigo:

1) PORTAGE AVISA QUE FALTAM DEPENDÊNCIAS

Uma das coisas boas do portage, é que ele te avisa do que precisa instalar.
exemplo ao emergir git no gentoo:
Recebi essas mensagens:

Installing dev-util/git-1.6.1.3
* These additional scripts need some dependencies:

* git-quiltimport : dev-util/quilt
* git-instaweb : || ( www-servers/lighttpd www-servers/apache )

isso me indicou que o sistema pedia atualizar quilt, lighttpd e apache. Assim,é so'fazer o comando:

# emerge dev-util/quilt www-servers/lighttpd www-servers/apache

2) SE VOCÊ NÃO TEM REDE, OU QUER INSTALAR RÁPIDO ALGUM PACOTE, MANUALMENTE:

É simples, vamos exemplificar com o pacote Bash, a Shell.
Baixe o último ebuild do repositório,e garve, por exemplo no seu Pen-Drive Para o Bash, baixe de:

http://gentoo-portage.com/app-shells/bash

e baixe o Ebuild mais novo, para sua arquitetura.
Copie para um local adequado do Portage. para o Bash:

/usr/portage/app-shells/bash

e salve.Aí, é só rodar o comando emerge;

# emerge -a -v bash

O gerenciador de arquivos completo Krusader, ajuda muito nessa tarefa:

http://www.vivaolinux.com.br/dica/Krusader-2.0.0-Phoenix-Egg-Gerenciador-de-arquivos-completo-para-o...




[11] Comentário enviado por xerxeslins em 22/05/2009 - 15:45h

Uhull! estou apanhando muito no Gentoo instalado a menos de uma semana. Resolvi atualizar tudo depois de um tempo, antes do sistema ficar redondo, e o que deu? erros e mais erros na compilação de uns pacotes posteriores.

Agora eu to começando a entender, não se pode dar um update geral com tranquilidade, como no slackware, é preciso atualizar os aplicativos conforme o uso.

Agora eu dei um "update world" pra recompilar tudo para ver se resolve o problema dos erros.

vamos ver o que vai dar...

Seu artigo é excelente!

parabéns e obrigado por compartilhar esse conhecimento.

[12] Comentário enviado por albfneto em 22/06/2009 - 14:40h

ADENDO AO ARTIGO.

PACOTES SEMPRE ÚTEIS E ESSENCIAIS, E QUE DEVEM SER ATUALIZADOS OU INSTALADOS

Aqui, sugiro a instalação de alguns pacotes, que não vem instalados por default, e que são muito úteis para quem trabalha com o Gentoo.
alguns exemplos, são o EIX, um pacote que acha qualquer outro pacote, no micro, no Portage, nos overlays etc... e ainda indica a versão instalada, as disponíveis e se são "deperecated" ou não, se serão fácilmente instaláveis ou não; e um substituto do emerge -s, que usa índice, o esearch
E também, pacotes cuja atualização é absolutamente necessária.

Portanto, de vez em quando, faça os comandos abaixo em seu Gentoo, para mante-lo sempre redondo:

# emerge --sync
# emerge portage portato
# emerge -avu autoconf automake mirrorselect make cmake autounmask esearch eselect demerge eix qmake mirrorselect python-updater bash eselect=opengl eselect-python portage-utils gentoolkit portato gcc-config module-rebuild subversion git dispatch-conf etc-proposals
#emerge -av gtk+ qt python pygtk PyQt glibs
# emerge gcc gcc-config

(demora bastante, mas importante, porque é o compilador)

Lembre que somente se solicitado, rode os comandos etc-update ou dispatch-conf ou etc-proposals e os comandos revdep-rebuild

[13] Comentário enviado por albfneto em 16/07/2009 - 14:08h

ADENDOS AO ARTIGO 2a PARTE

1) Artigos que complementam o meu:

http://www.vivaolinux.com.br/artigo/PORTAGE-Gerenciamento-de-pacotes-no-Gentoo-Linux?pagina=3

http://www.vivaolinux.com.br/dica/Gentoo-overlay-do-portage-no-diretorio-pessoal/

2) Para achar as versões mais recentes do Portage, e todos os pacotes que o Portage tem, veja nestes endereços de rede:

http://packages.gentoo.org/

http://www.gentoo-portage.com/

3) Porém há muitos outros pacotes nos Overlays.

Neste endereço, um jeito fácil de achar Ebuilds para Gentoo que estão nos Overlays, e não no Portage padrão:

http://www.ebuildfind.net/

4) Aqui, também referências e links de como usar o Layman e os Overlays do Gentoo.

Bem explicado e com links para outros índices para achar pacotes para o Gentoo:

http://en.gentoo-wiki.com/wiki/Overlay

5) Para achar pacotes nos Overlays e no Portage, também pode usar estes links:

http://gpo.zugaina.org/AdvSearch

http://bugs.gentoo.org/

Cortesia de FulloTone, Site SabayonMania Forum, Itália.

6) Para achar Pacotes Linux em Geral, procure em:

http://www.filewatcher.com/

[14] Comentário enviado por meinhardt_jgbr em 30/03/2010 - 12:34h

Estimado Alberto,

Excelente seu artigo!!

Com certeza um grande auxilio para todos aqueles que como eu estão se aventurando no mundo Gentoo, mesmo que ainda seja via um Gentoo Like, no caso o Librix 4.0

Estou pesquisando agora, algum meio de fazer uma faxina na minha instalação pois a minha partição raiz está com quase 7GB ficando com apenas algo em torno de 300Mb livres.

Parabéns!!

[15] Comentário enviado por albfneto em 14/04/2010 - 13:36h

Meinhard, o jeito de instalar pacotes no Librix, é o mesmo do Gentoo

O espaço de disco, as Distros Gentoo like maiores, como o Sabayon, o Librix, o VidaLinux e o toorox, precisam de muito espaço de disco.

O Gentoo também se vc tiver muita coisa instalada ou usar muitos Overlays.

O espaço necessário pode ser até maior que o do /home.

Geralmente, Librix, Sabayon, VidaLinux, precisam de uns 20 giga, recomendado 30, ou mesmo mais...

Mesmo alguns Linux Red-Hat, não Gentoo, como o Mandriva Free e o OpenSUSE, são bastante grandes;

[16] Comentário enviado por Lisandro em 05/05/2010 - 14:47h

Beleza de artigo.

[17] Comentário enviado por Lisandro em 28/05/2010 - 08:30h

Excelente!

[18] Comentário enviado por giuzao em 15/02/2011 - 18:23h

Excelente artigo! Hoje em dia está mais fácil de instalar o gentoo...
dificil era quando ainda era stage1 e tinha que fazer bootstrap....hehehe

[19] Comentário enviado por mzibit em 18/08/2011 - 23:00h

Baita artigo, Favoritado!
Gentoo é uma ótima distribuição, leve, estável e bastante modular.
Parabéns pelo guia.

[20] Comentário enviado por ivanofx em 24/02/2015 - 15:07h

Meu Sabayn não possui o arquivo "/etc/make.conf". Como proceder?

[21] Comentário enviado por ivanofx em 24/02/2015 - 15:31h


[20] Comentário enviado por ivanofx em 24/02/2015 - 15:07h

Meu Sabayn não possui o arquivo "/etc/make.conf". Como proceder?


O arquivo estava em "/etc/portage/make.conf".
Aqui a "Pasta_pro_meu_pacote" tem que ter o nome do ebuild. Por exemplo, se o ebuild é algumacoisa-3.1.43.ebuild, a pasta deverá ter o nome "algumacoisa".
Meu problema agora está no penúltimo comando. O terminal me mostra uma mensagem de erro:

* ERROR: app-portage/umplayer-0.95::user_defined failed (depend phase):
* qt4-r2.eclass could not be found by inherit()
*
* Call stack:
* ebuild.sh, line 550: Called source '/usr/local/portage/app-portage/umplayer/umplayer-0.95.ebuild'
* umplayer-0.95.ebuild, line 7: Called inherit 'qt4-r2' 'subversion'
* ebuild.sh, line 257: Called die
* The specific snippet of code:
* [[ -z ${location} ]] && die "${1}.eclass could not be found by inherit()"
*
* If you need support, post the output of `emerge --info '=app-portage/umplayer-0.95::user_defined'`,
* the complete build log and the output of `emerge -pqv '=app-portage/umplayer-0.95::user_defined'`.
* Working directory: '/usr/lib64/python2.7/site-packages'
* S: '/var/tmp/portage/app-portage/umplayer-0.95/work/umplayer-0.95'

O que será isso?

[22] Comentário enviado por xerxeslins em 08/06/2015 - 10:46h

Somente hoje eu favoritei esse artigo.

Estou usando Funtoo e quebrando a cabeça com 28 pacotes bloqueados hahaha

noob só faz noobisse


--
Só digo uma coisa: num digo é nada. E digo mais: só digo isso.

[23] Comentário enviado por mariojuniorjp em 29/12/2019 - 16:18h

Esse artigo merece 1 milhão de estrelas! Show de bola!

[24] Comentário enviado por JoaoVazquez em 14/12/2020 - 17:40h

Artigo excelente!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts