PORTAGE - Gerenciamento de pacotes no Gentoo Linux

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.

[ Hits: 44.216 ]

Por: Juliao Junior em 23/10/2008


SLOTS e máscaras



SLOTS e VIRTUALS

Já mostramos o suficiente para entender como o Portage é uma ferramenta poderosa. Mas ainda há outras características específicas que passamos a ver agora.

Outras distribuições intitulam seus pacotes segundo as versões disponíveis, tal como pacote1, pacote1.3, pacote2.2 etc. O Portage gerencia as versões de forma diferente, possibilitando a convivência de várias versões do mesmo pacote dentro do sistema. É utilizada uma metodologia chamada SLOTS. Um determinado ebuild declara um SLOT para sua versão. Assim ebuilds com SLOTs diferentes podem coexistir no mesmo sistema.

Além disso, o Gentoo Linux preza pela liberdade de escolha do usuário. Essa é uma de suas premissas básicas. Dessa forma diversas vezes há mais de um pacote disponível para a mesma tarefa. Por exemplo, metalogd, sysklogd e syslog-ng são todos loggers do sistema. No Gentoo, se um pacote precisa de um logger para funcionar, ele não dependerá especificamente do metalogd, por exemplo, pois os outros loggers são vistos igualmente como boas escolhas. O Portage usa, para esses casos, os chamados VIRTUALS: cada logger dispõe um virtual/syslog, de forma que os programas possam depender desse virtual/syslog e não dos loggers específicos.

Pacotes "mascarados" e mensagens de erro

Quando tentamos instalar um pacote, pode ocorrer uma mensagem de erro avisando que o pacote está "mascarado", significando que você não conseguirá instalar o pacote - pelo menos pelas vias padrões. A solução trivial seria instalar outro pacote ou esperar que o pacote desejado fique disponível, o que não é muito confortável. Para ver a lista de pacotes mascarados, veja em /usr/portage/profiles/package.mask. Por que acontece esse tipo de erro? Há diversas razões, e elas são vistas na própria mensagem de erro. Veja a mensagem exibida em certo sistema ao tentar instalar o pacote latex-beamer:

# emerge latex-beamer
Calculating dependencies -
!!! All ebuilds that could satisfy "latex-beamer" have been masked.
!!! One of the following masked packages is required to complete your request:
- dev-tex/latex-beamer-3.01-r1 (masked by: package.mask, ~amd64 keyword)
# Alexandre Buisse <nattfodd@gentoo.org> (21 Feb 2007)
# All of those are provided by tetex-3 which is now stabilized everywhere.
# The current TeX setup doesn't yet allow for single package updates so
# those are masked for the time being.

- dev-tex/latex-beamer-3.06-r1 (masked by: package.mask, ~amd64 keyword)
- dev-tex/latex-beamer-3.00-r1 (masked by: package.mask)
- dev-tex/latex-beamer-3.06 (masked by: package.mask, ~amd64 keyword)

Note que a mensagem de erro dá informações que vão além do simples aviso "pacote mascarado". Após o nome do pacote, há a expressão "masked by:". O que vem a seguir indica o motivo do erro. Veja abaixo o significado de cada expressão (onde houver "arquit" leia "arquitetura", ou seja, x86, amd64 etc):
  • ~arquit keyword: o pacote não foi testado o suficiente para ser colocado como estável. Pode demorar alguns dias ou semanas para ficar disponível.
  • -arquit keyword ou -* keyword: o programa não funciona para sua arquitetura.
  • missing keyword: a aplicação ainda não foi testada para sua arquitetura. Duas opções: ou peça para a equipe do Gentoo testar o pacote, ou teste você mesmo e envie os resultados para o site bugzilla.
  • package.mask: o pacote é instável, e foi deliberadamente marcado para não ser usado.
  • profile: o pacote não se comporta bem para o seu sistema. Ele pode causar uma interrupção, 'quebrando' o sistema.

Um erro pode ocorrer quando tentamos instalar uma aplicação usando uma expressão que indica mais de um pacote. Se isso ocorrer, o Portage indica as opções disponíveis e você deve escolher entre elas.

Embora não seja frequente, podem surgir situações de dependência circular, ou seja, onde dois ou mais pacotes dependem uns dos outros para serem instalados. Isso geralmente vem de um bug na árvore do Portage. Para corrigir, após alguns dias atualize a árvore do Portage (conforme já vimos anteriormente) e tente novamente. Se possível, entre no bugzilla e informe a ocorrência.

Conforme já mencionamos, o Portage não verifica a relevância de pacotes quando estamos tentando removê-los, a menos que tal remoção possa "acabar" com o sistema. Se for o caso, mais uma mensagem de erro pode aparecer, e é geralmente melhor seguir a recomendação dessa mensagem.

Página anterior     Próxima página

Páginas do artigo
   1. Instalando e gerenciando pacotes
   2. Removendo e atualizando com Portage
   3. SLOTS e máscaras
   4. Flags
   5. Características especiais
Outros artigos deste autor

manDVD - Produza DVD-vídeo rápido e fácil

Grace - Usando a função "Regression"

Guia Introdutório do Linux III

Usando variáveis de ambiente

Python, o curso (parte 1)

Leitura recomendada

Recebendo notificações do Nagios via Jabber

Instalando e utilizando o agendador at

Masterização de VCD's com menu interativo

Scid vs. PC - O melhor programa para estudar Xadrez no GNU/Linux

Instalação do Arch Linux com LVM + Luks

  
Comentários
[1] Comentário enviado por nicolo em 23/10/2008 - 12:22h

Portage (portar, transportar) , segundo consta é inpirado no BSD. O sistema do Portage é considerado pelos experts
o "mais perfeito" sistema de intalação de pacotes (programas e drivers), segundo a metáfora do "perfeito":
"Um sistema operacional para uma máquina". Isso inclui drivers específicos, etc.
Acho que chamam metáfora porque essa perfeição não parece prática.

Fato é que o Sabayon, um irmão (ou derivado) do Gentoo consegue instalar o driver da nvidia (3D) automaticamente,
na instalação do sistema, uma façanha respeitável.
Creio que essa linha de distros é uma alternativa às tradições dos TGZ, RPM e Debian(s) sem deixar de ser GNU-Linux

Ótimo artigo. Parabéns

[2] Comentário enviado por albfneto em 23/10/2008 - 14:31h

Julião, vc também está usando Gentoo?
Excelente o seu artigo...
De fato, voce pode abreviar, ex

# emerge -p nomedopacote
ou
# emerge --pretend pacote
O Portage também faz muitas outras coisas, instala binários, recompila co FLAGS de compilação diferentes etc...
Uma das importantes caracteristicas do Portage, é de ser um gerenciador de pacotes compilador, isto é ele faz o binário a partir do fonte baixado através de um ebuild!
O portage, usando autoconf e automake, ele vai usar o gcc do gentoo r automatiza os processos de configure, make e make install!
é fantástico o portage e suas possibilidades são quase ilimitadas.
Outra carateristica do gentoo: embora não seja feito para usar .BIN. .RPM etc... e nem pácotes slackaware, o gentoo aceita (instalação via emerge) apt-get, rpm, yum... se vc quer usar...
não é aconselhável, mas dá.
também descobri, usando gentoo e sabayon, que muitas coisas para slackware, rodam no gentoo.
Complementando, cada Linux tem sua Filosofia e finalidade.
Se você quer um Linux, fácil, para usar, algo do tipo "Instalou, sai navegando", se voce quer linux rápido, produtivo, para usar etc... Seu Linux NÂO é o Gentoo!
A grande desvantagem do Gentoo é a demora da compilação, mas isso é sua maior vantagen, a otimização e o qu8e pode ser fazer com o Gentoo, linux que "se faz prá sua máquina"!!!
Se vc quer um Linux, pra mexer, pra usar, pra aprender e pra xeretar, então seu Linux pode ser o Gentoo!

[3] Comentário enviado por juliaojunior em 23/10/2008 - 14:55h

albfneto, comecei a usar o Gentoo há umas duas semanas. Desde a primeira vez que ouvi falar sobre o Gentoo, fiquei louco para usar, pois sempre falavam positivamente. É incrível o nível de satisfação dos usuários. Por um motivo ou outro, demorei para experimentar. Mas agora que comecei, compreendo o porquê da satisfação: ele é simplesmente incrível.

kara, se tiver alguma sugestão de uso, alguma particularidade no uso do Portage, pode mandar!!! Estou devorando tudo que posso sobre o Gentoo.

[4] Comentário enviado por percival em 24/10/2008 - 15:31h

Sou usuário Debian há 4 anos ( portanto CHATO e exigente ), dei uma passeada pelo FreeBSD e há 2 meses uso Gentoo no meu notebook.

Simplesmente fantástico, rápido e estável.

Arrecomendio.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts