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.
Após algumas atualizações e instalações de pacotes, é interessante atualizar os arquivos de sistema e o ambiente. Use os comandos:
$ su
# env-update
# source /etc/profile
Se após um ciclo de emerge o sistema retornar mensagem de necessidade disso, execute:
$ su
# etc-update (em sistemas grandes, seja cuidadoso, em geral é melhor e mais seguro dispatch-conf)
Cuidados
Em distros muito grandes, como o Sabayon ou um Gentoo, onde muitos pacotes foram instalados, não rode "emerge --sync" antes de atualizar muitos pacotes. O comando demorará muito, consumirá banda de net e ainda, você poderá ter dezenas de pacotes bloqueados ou mascarados, o que vai dificultar atualizações de pacotes que você efetivamente usa!
Os comandos de limpeza e remoção de arquivos "emerge -C", --clean, --deepclean etc também são arriscados. Podem ser removidas dependências, inclusive internas, dentro de bibliotecas (.so) e você pode ter dezenas de pacotes quebrados. Eu tive um problema assim, após um "emerge -C openoffice".
O comando para reconstruir pacotes quebrados (redep-rebuild) só piorou. Só consegui consertar re-emergindo um por um!
Melhor excesso que falta. Somente use se você fizer absoluta questão de um Gentoo muito enxuto e muito rápido...
Do mesmo recomenda-se cuidado com comandos que ignoram dependências, como "emerge --nodeps".
Comandos para atualizações mais profundas ou de arquivos de sistema (emerge system, emerge update system, emerge world, --deepworld etc), são para Gentoo, não para Sabayon. Centenas de pacotes já estão no Sabayon. Sua atualização levará horas, e como nem tudo roda redondo em sistemas tão grandes, você estará arriscado a ter um sistema instável, até não utilizável, cheio de bugs para consertar, após horas e horas e horas de compilação.
Em Sabayon, prefira atualizar realmente os pacotes que utiliza mesmo, e suas dependências se forem requeridas.
Conclusão
Os diversos métodos de instalação de pacotes e atualização do Gentoo e aplicáveis a outras distribuições baseadas no Gentoo, foram revisados.
Os protocolos aqui expostos foram testados em Gentoo 2008 Beta 2, Sabayon Linux 3.4F, Tutoo Linux 2.0 virtualizado.
Paludis foi testado apenas em Tutoo Linux 2.0 instalado em máquina virtual VMWare, rodando sobre Sabayon 3.4F.
Embora não testados, espera-se que esses procedimentos sejam úteis em outras distros baseadas no Gentoo, como Litrix, Librix e VidaLinux.
O autor agradece à Universidade de São Paulo, Faculdade de Ciências Farmacêuticas de Ribeirão Preto, por permitirem os testes de diversas distribuições Linux, em seus computadores.
[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
[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
[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:
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:
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
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:
[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:
[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.
[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'