Um olhar sobre o Portage Tools - Parte II

Na primeira parte deste artigo vimos alguns conceitos sobre as ferramentas que o Portage utiliza para trabalhar. Apresentei superficialmente o emerge e suas próprias ferramentas: ebuilds, atoms, set e tbz2. Pois bem, é hora de continuarmos nossa jornada por dentro do Portage Tools, através de seus arquivos de configuração.

[ Hits: 8.172 ]

Por: Luiz Santos em 24/03/2016


Arquivos do diretório /usr/portage/profile



deprecated: Seguindo com profiles, temos o arquivo deprecated. Este arquivo marca profiles que não são mais suportados pelo Gentoo. O arquivo também pode conter instruções de como fazer um upgrade. É importante seguir com a atualização conforme lançada.

eapi: ebuild API são um conjunto de definições que regem os pacotes (ebuilds) do Gentoo para os desenvolvedores. Entre estas definições estão: formato do arquivo ebuild, repositório, como o Portage irá interagir com este ebuild, entre outras. Atualmente há seis versões suportadas do EAPI. A versão do EAPI deve ser informada no código fonte do ebuild. Esta padronização foi necessária devido ao suporte do Gentoo para outros gerenciadores de pacotes, através do Projeto: Package Manager Specification.

Como exemplo, vamos ver o ebuild do pacote app-portage/eix-0.30.4 e como está especificado seu EAPI:
No EAPI5 temos algumas definições para metadados, definições para SLOTS e sub slots, dependência de SLOTS, quais arquivos de profile (use.stable.mask, use.stable.force etc) são usados, fases de compilação e algumas variáveis usadas. Cada versão de EAPI inclui novas definições para os ebuilds, mantendo as anteriores. Assim sendo, no EAPI4, por exemplo, foi incluso layouts da árvore do Portage no disco, symlinks etc. No EAPI5, além de conter todas as definições do EAPI4, foram inclusas: arquiteturas (keywords), dependencias (RDEPEND), mascaramento de flags USE, variáveis de perfis, entre tantas outras configurações.

make.defaults: arquivo de configuração padrão do Portage, não mexemos em nada aqui, a não ser desenvolvedores. Este arquivo define alguns profiles padrão para os usuários. São eles:
  • ARCH: tipo de arquitetura (x86, amd64, sparc etc)
  • IUSE_IMPLICIT: espaço delimitado para o uso das USE flags conforme definido no EAPI de cada ebuild.
  • USERLAND: GNU, bsd etc.
  • USE_EXPAND: lista com nomes de variáveis que serão usadas como argumento para as USE flags. Se definirmos uma variável como USE_EXPAND="FOO" e FOO="bar bla", isto resultará na seguinte flag USE="foo_bar".
  • USE_EXPAND_HIDDEN: mesmas variáveis contidas no USE_EXPAND, mas que não serão mostradas em modo verbose no emerge.
  • USE_EXPAND_IMPLICIT: conforme definido no EAPI5 ou posteriores, há flags que cada pacote deve usar implicitamente (como no exemplo do pacote eix, acima, na linha 17).
  • USE_EXPAND_UNPREFIXED: qualquer variável listada aqui, será usada como argumento para as flags USE. Assim, se definirmos USE_EXPAND_UNPREFIXED="FOO" e FOO="bar bla", resultará na seguinte flag USE="bar bla".
  • USE_EXPAND_VALUES_ARCH: arquiteturas usadas para gerar implicitamente as flags IUSE, definidos no EAPI de cada ebuild.
  • USE_EXPAND_VALUES_ELIBC: define o uso de ELIBC para gerar implicitamente as flags IUSE, conforme definido no EAPI5.
  • USE_EXPAND_VALUES_KERNEL: define a variável KERNEL que será usada implicitamente para gerar as flags IUSE, conforme definido no EAPI5.
  • USE_EXPAND_VALUES_USERLAND: define a variável USERLAND que será usada implicitamente para gerar as flags IUSE, conforme definido no EAPI5.
  • ELIBC: suporta glibc, uClibc, BSD libc etc.
  • PROFILE_ONLY_VARIABLES: previne que variáveis críticas sejam alteradas pelo usuário no arquivo make.conf ou pelo env.
  • PROFILE_ARCH: define arquiteturas da máquina. Todas as arquiteturas sparc, terão esta variável setada como ARCH=sparc. Caso tenha diferentes versões, é preciso setar ou uma ou outra.
  • BOOTSTRAP_USE: USE flag especial que será necessária para o processo de bootstrapping do stage1 para o stage2.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Portage - o coração do Gentoo
   3. /usr/portage/profile
   4. Arquivos do diretório /usr/portage/profile
   5. Arquivos do diretório /usr/portage/profile - continuação
   6. /etc/portage/
   7. /etc/portage/ - continuação
   8. Finalizando
Outros artigos deste autor

Um olhar sobre o Portage-tools - Parte I

Um olhar sobre o Portage-Tools - Parte III

Leitura recomendada

Instalando o WebHTB

As vulnerabilidades do IRC

Atualizando o Slackware com SlackGrade

Zabbix + SMS = GoogleCL (Google Command Line)

Inclusão Digital

  
Comentários
[1] Comentário enviado por removido em 25/03/2016 - 01:28h

Dissecando o Portage.
Simples e direto.
Parabéns.

----------------------------------------------------------------------------------------------------------------
http://24.media.tumblr.com/tumblr_m62bwpSi291qdlh1io1_250.gif

# apt-get purge systemd (não é prá digitar isso!)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden

[2] Comentário enviado por spylinux em 26/03/2016 - 01:52h

Ótima sequência de artigos sobre o portage...mas ficou uma dúvida.
É citado "O Gentoo é um sistema rolling release robusto".

Mas por padrão, o Gentoo não é rolling release, correto? Pode-se transformá-lo em RR, assim como o Funtoo por padrão é rolling release, mas pode-se transformá-lo em Stable. Estou errado nesta informação?

Abraço
[]'s spylinux
Comunidade Manjaro Geek -www.manjaro-geek.org

[3] Comentário enviado por luiztux em 26/03/2016 - 16:31h


[2] Comentário enviado por spylinux em 26/03/2016 - 01:52h

Ótima sequência de artigos sobre o portage...mas ficou uma dúvida.
É citado "O Gentoo é um sistema rolling release robusto".

Mas por padrão, o Gentoo não é rolling release, correto? Pode-se transformá-lo em RR, assim como o Funtoo por padrão é rolling release, mas pode-se transformá-lo em Stable. Estou errado nesta informação?

Abraço
[]'s spylinux
Comunidade Manjaro Geek -www.manjaro-geek.org


Opa, e aí meu caro.

Primeiramente obrigado pelo apoio.

O Gentoo é, por padrão, uma distro Rolling Release, assim como seus derivados. Tanto é que não existe versão para o Gentoo, pois não existe um lançamento, assim como ocorre nas distros que não são Rolling Release. O fato, e isto é muito bom, é que todos os softwares são liberados após extensivos testes. Veja, o Gentoo serve pra qualquer coisa. Você pode instalá-lo num pager, se quiser. Por este e tantos outros motivos, os devs mantém esta preocupação em liberar apenas softwares que foram extensivamente testados. Sendo assim, por consequência, os mesmos são extremamente estáveis. Talvez aí haja esta pequena dúvida. O Gentoo é super estável, mas Rolling Release por padrão. Ok?

Grande abraço.

[4] Comentário enviado por luiztux em 26/03/2016 - 16:31h


[1] Comentário enviado por listeiro_037 em 25/03/2016 - 01:28h

Dissecando o Portage.
Simples e direto.
Parabéns.

----------------------------------------------------------------------------------------------------------------
http://24.media.tumblr.com/tumblr_m62bwpSi291qdlh1io1_250.gif

# apt-get purge systemd (não é prá digitar isso!)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden


Valeu meu caro..obrigado pelo apoio!

[5] Comentário enviado por GlauberAnjos em 02/04/2016 - 01:09h

Mais uma vez, meus parabéns pelo artigo, é de muito ajuda.

[6] Comentário enviado por albfneto em 06/04/2016 - 18:51h

Fantástica a segunda parte também. Muito bom tá isso! Favoritado!
lendo seus artigos, o leigo em gentoo e o iniciante podem ver...
eu sempre digo.... Portage "fala" com vc! Ele te diz o que está errado e o que fazer...
eu adoro Portage, é uma Obra-Prima de programação!

Muito legal do Gentoo é que ele fica duro como pedra, ou mole como geléia... grande com KDE, ou só con Flux, ou sem nada, pelado etc... Totalmente personalizável...
embora Rolling, se vc quiser, vc não atualiza, mantém versões antigas de coisas.... protege, desprotege... tira e coloca dependências etc...
se quiser, até coloca pacote muito instável, é só desmascarar...
Com gentoo, realmente, o Root pode tudo... tudo mesmo!

Porisso que gosto de Gentoo e Distros baseadas nele... é um tipo MUITO diferente de Linux...
¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
Albfneto,
Ribeirão Preto, S.P., Brasil.
Usuário Linux, Linux Counter: #479903.
Distros Favoritas: [i] Sabayon, Gentoo, OpenSUSE, Mageia e OpenMandriva[/i].


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts