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.248 ]

Por: Juliao Junior em 23/10/2008


Flags



Usando "bandeiras"?

Quando instalamos o Linux, seja em qual for a distribuição, nós fazemos escolhas que dependem do ambiente que desejamos criar para o nosso trabalho. Escolhas para criar um servidor web não serão as mesmas para um desktop doméstico. E vai além da escolha de pacotes. Inclui também quais as características e peculiaridades acionadas em diversos pacotes. Por exemplo, se vamos trabalhar apenas no GNOME sem usar o KDE, por que deveríamos compilar pacotes com o suporte a KDE? Será inútil.

Para auxiliar o usuário a instalar ou ativar o que realmente ele quer, o Gentoo mais uma vez surge com sua política de liberdade de escolha ao máximo. É aqui onde entram as flags (bandeiras). Vamos usar a expressão original, flag, e não "bandeira", por questões de padronização com outras documentações.

Uma USE flag é uma palavra-chave que inclui informação sobre suporte e dependências. Se definimos uma USE flag, o Portage sabe que desejamos dar suporte para a palavra-chave indicada. Apenas lembre que isso também muda a informação de dependências para um pacote.

Vejamos um exemplo típico: o uso de kde. Se não tivermos essa palavra chave na variável USE, todos os pacotes com suporte opcional para KDE serão compilados sem suporte ao KDE. Todos os pacotes com uma dependência opcional serão instalados sem as bibliotecas do KDE como dependências. Do contrário, se definirmos a palavra-chave kde, então os pacotes mencionados serão compilados com suporte a KDE, e as bibliotecas citadas serão todas instaladas como dependências.

Portanto, se definirmos bem as palavras-chave, teremos como consequência um sistema desenhado especificamente para nossas necessidades.

Existem dois tipos de USE flags: globais e locais. Uma USE flag global é usada por todos os pacotes, em todo o sistema. É a opção mais usada. Já a local é usada para um pacote específico.

Uma lista das USE flags globais pode ser vista em /usr/portage/profiles/use.desc. Para uma lista das locais, veja /usr/portage/profiles/use.local.desc.

USE flags EM AÇÃO

Provavelmente você já está convencido de como as USE flags são úteis se bem usadas. Agora vamos ver como fazer isso.

Todas as USE flags são declaradas a partir da variável USE. O Gentoo já vem com uma configuração padrão para a variável. A equipe do Gentoo tenta "adivinhar" quais as opções mais úteis e comuns para a maioria dos usuários. Se você quiser mudar, o que eu certamente faço sempre, defina usando o arquivo /etc/make.conf para USE flag global. Para basta incluir a palavra chave dentro da variável para incluir o suporte. Se desejar tirar o suporte, coloque a palavra chave com um sinal de menos na frente ( - ). Por exemplo, para incluir suporte ao GNOME, mas retirar suporte ao KDE, edite o /etc/make.conf incluindo a variável como abaixo:

USE="gnome -kde"

Não vamos entrar em detalhes para o uso das USE flags locais. Mas também é algo bem simples. Para mais informações, veja man portage e tudo está bem explicado por lá.

Há ainda a possibilidade de usar USE flags apenas "momentaneamente". Traduzindo: quando vamos instalar um determinado pacote, talvez não desejamos acrescentar suporte a determinada característica. Podemos então editar o /etc/make.conf uma vez, instalar o pacote, e depois editar novamente o /etc/make.conf. Mas isso não é necessário. Se for apenas para um pacote específico, podemos definir a variável USE como uma variável de ambiente. Instalamos o pacote com a USE flag que queremos, e ao reiniciarmos o sistema ela não estará mais lá.

Após alterar suas USE flags, é preciso dizer ao sistema para usar os novos valores. Primeiro, use a opção -- newuse:

# emerge --update --deep --newuse world

Agora use o --depclean para remover as dependências que ficaram obsoletas pelo uso dos novos valores da variável USE:

# emerge -p --depclean

No comando acima usamos a opção -p em vista de emerge --depclean ser uma operação perigosa, podendo acarretar em danos ao sistema. A opção -p altera o comportamento do comando, e apenas uma lista dos pacotes que serão removidos é mostrada na tela. Após termos certeza que a lista a ser removida não é "perigosa", passamos para o último passo:

# revdep-rebuild

Agora o sistema está atualizado para usar as novas USE flags.

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

Grace - Usando a função "Regression"

CSS - Manual de Estilo (parte 3)

Baixando ISOs-Linux em altíssima velocidade

Guia Introdutório do Linux VI

Guia Introdutório do Linux III

Leitura recomendada

Atualizando o clamav via YUM no Fedora Core 3

Utilização e instalação do Litrix Live CD

Criatividade para TI parte 1

Servidor de monitoramento Nagios

Editor de textos / IDE Geany

  
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