Um olhar sobre o Portage-Tools - Parte III

Nesta terceira parte, pretendo introduzir os conceitos de USE flags e sua utilização. Como podemos construir um sistema moderno e estável definindo as flags necessárias. Vou expor também o arquivo de configurações que, talvez, seja o mais conhecido e utilizado no Gentoo: o make.conf. Vou apresentar também outros arquivos de configuração muito úteis para a dupla dinâmica: Portage/Emerge. Vamos nessa!

[ Hits: 12.156 ]

Por: Luiz Santos em 07/07/2016


O arquivo make.conf - PARTE V



Continuando com as variáveis...

- PORTAGE_NICENESS: nesta variável declaramos o nível de prioridade que será adicionado à prioridade atual do emerge. Esta variável não irá trocar as prioridades, apenas irá adicionar a já existente. Antes de fuçar aqui, dê uma bela lida na man page do comando nice.

- USE: lista de flags USE permitidas globalmente, abUSE com sabedoria... O caso aqui é o seguinte: habilitar ou desabilitar globalmente as flags USE. Entretanto não abuse demais ou você terá grandes problemas. Mas como saber quais flags habilitar para todo o sistema e quais não habilitar? Simples: extensiva leitura e bom senso. Mas logicamente darei alguns exemplos.

Imaginemos que nossa máquina não tenha a melhor das configurações e precisamos de um ambiente leve. Simplesmente instalaremos um ambiente leve, como o XFCE. Para isto definimos no eselect profile que nosso ambiente será o padrão simples desktop. Entretanto alguns pacotes contém dependências como KDE ou GNOME, influenciando assim, no nosso sistema. Para evitar isto de uma vez por todas, colocamos o seguinte no make.conf:

USE="-kde -gnome"

Esta instrução desabilita (-) as flags kde e gnome de forma global. Sempre que possível o Portage evitará compilar estas dependências. Isto é interessante, mas alguns pacotes podem precisar destas flags de forma que seja impossível instalá-los sem as mesmas. Neste caso use um dos arquivos explicados anteriormente para refinar a instalação de determinados pacotes.

Ok. Este é um caso. Mas podemos deixar flags "padrões" habilitadas globalmente, como é o caso da flag X (suporte ao X11), bash-completion, alsa (se você quer apenas o ALSA no sistema, defina isto e isto: -pulseaudio), qt ou gtk etc. etc. Então:

USE="X bindist -kde -gnome -qt4 -qt5 gtk bash-completion -pulseaudio -systemd -pam..."

De novo: cada caso é um caso. Decida por si próprio qual flag você quer e/ou precisa. Há alguns programas que nos ajudam a saber mais sobre as flags, falarei sobre eles na continuação deste artigo.

Estas são as variáveis padrão do make.conf, entretanto há outras variáveis que foram convencionadas como variáveis USE_EXPAND e ARCH_USE. Vamos ver o que temos aqui:
  • ABI_MIPS: ABI (application binary interfaces), MIPS (arquitetura MIPS) - provê suporte para instalação e para rodar aplicações na arquitetura MIPS;
  • ABI_PPC: provê suporte para instalação e para rodar aplicações na arquitetura PowerPC;
  • ABI_S390: provê suporte para rodar aplicações na arquitetura S390;
  • ABI_X86: suporte à instalação e aplicações na plataforma X86;
  • ALSA_CARDS: define a(s) placa(s) de áudio gerenciada(s) pelo ALSA;
  • APACHE2_MODULES: especifica os módulos que serão usados pelo Apache;
  • APACHE2_MPMS: especifica os módulos de multiprocessamento do Apache;
  • CALLIGRA_FEATURES: nesta variável especificamos recursos adicionais para o calligra (disponível por Overlay);
  • CAMERAS: controla recurso(s) para câmeras (Ex.: CAMERAS="ptp2");
  • COLLECTD_PLUGINS: variável que controla os plugins adicionais para o programa collectd (daemon que coleta, guarda e transfere informações do sistema);
  • CPU_FLAGS_X86: especifica as flags da cpu para arquitetura X86. É importante notar que se na variável USE tiver alguma flag como: USE="mmx mmxext sse sse2 sse3", as mesmas devem ser copiadas para a variável CPU_FLAGS_X86;
  • CROSSCOMPILE_OPTS: nesta variável especificamos com quais opções construir um conjunto de ferramentas através do pacote crossdev;
  • CURL_SSL: flags adicionais para o pacote net-misc/curl;
  • DRACUT_MODULES: dependências adicionais para o Dracut;
  • DVB_CARDS: opções de módulos e recursos adicionais para Digital Video Broadcasting (DVB);
  • ELIBC: configurações adicionais para a biblioteca C do GNU;
  • ENLIGHTENMENT_MODULES: módulos adicionais para o Enlightenment;
  • FCDSL_CARDS: módulos para placas baseadas na tecnologia fcdsl;
  • FFTOOLS: ferramentas adicionais para o pacote ffmpeg;
  • FRITZCAPI_CARDS: módulos adicionais para o pacote fritzcapi (obsoleto);
  • GPSD_PROTOCOLS: protocolos extras para o pacote sci-geosciences/gpsd;
  • GRUB_PLATFORMS: defina aqui a plataforma do teu sistema. Por padrão, o GRUB tentará adivinhar qual é;
  • INPUT_DEVICES: indique ao sistema quais drivers compilar para os dispositivos listados aqui (evdev, synaptics etc);
  • KERNEL: configurações adicionais para o tipo de kernel (linux, freebsd, Darwin);
  • L10N: suporte extra à localização. Se definir algo aqui, deve ser o mesmo da variável LINGUAS. Algumas modificações podem ocorrer como: pt_BR(LINGUAS) fica pt-BR(L10N). Para conhecer melhor as opções de sintaxe verifique o arquivo no diretório do Portage: profiles/desc/l10n.desc;
  • LCD_DEVICES: configurações de suporte extras para o pacote app-misc/lcd4linux;
  • LIBREOFFICE_EXTENSIONS: extensões adicionais para o libreoffice;
  • LINGUAS: adiciona suporte à localização para instalação dos pacotes, linguagem da GUI etc. Ex: LINGUAS="pt_BR". Podemos encontrar a lista de LINGUAS localmente no diretório /usr/portage/profiles/desc/linguas.desc:

    grep -i portuguese /usr/portage/profiles/desc/linguas.desc

  • LIRC_DEVICES: recursos extras para o pacote app-misc/lirc;
  • MONKEYD_PLUGINS: plugins adicionais para o pacote www-servers/monkeyd;
  • NETBEANS_MODULES: módulos adicionais para o pacote dev-util/netbeans;
  • NGINX_MODULES_HTTP, NGINX_MODULES_MAIL, NGINX_MODULES_STREAM: módulos adicionais para o pacote www-servers/nginx;
  • OFED_DRIVERS: configuração de drivers adicionais para o pacote sys-infiniband/ofed;
  • OFFICE_IMPLEMENTATION: define a suíte de escritório padrão para o sistema (libreoffice, openoffice);
  • OPENMPI_FABRICS, OPENMPI_OFED_FEATURES, OPENMPI_RM: configurações extras para o pacote sys-cluster/openmpi;
  • PHP_TARGETS: especifica múltiplas versões do PHP;
  • PYTHON_SINGLE_TARGET, PYTHON_TARGETS: variáveis que controlam várias versões do Python no sistema;
  • QEMU_SOFTMMU_TARGETS, QEMU_USER_TARGETS: configurações de plataforma adicionais para o pacote app-emulation/qemu;
  • RUBY_TARGETS: ativa implementações específicas para múltiplas versões do Ruby;
  • SANE_BACKENDS: configurações adicionais para o pacote media-gfx/sane-backends;
  • USERLAND: configurações para sistemas com ferramentas GNU ou BSD;
  • UWSGI_PLUGINS: plugins para o pacote www-servers/uwsgi;
  • VIDEO_CARDS: configurações para diversas placas de vídeo (ver arquivo /usr/portage/profiles/desc/video_cards.desc);
  • VOICEMAIL_STORAGE: configurações adicionais para o pacote net-misc/asterisk;
  • XFCE_PLUGINS: plugins adicionais para o ambiente XFCE;
  • XTABLES_ADDONS: configurações adicionais para o pacote net-firewall/xtables-addons.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. USE FLAGS
   3. USE FLAGS - PARTE II
   4. USE FLAGS - PARTE III
   5. O arquivo make.conf
   6. O arquivo make.conf - PARTE II
   7. O arquivo make.conf - PARTE II - variáveis cflags / cxxflags e otimização do sistema
   8. O arquivo make.conf - PARTE III
   9. O arquivo make.conf - PARTE IV
   10. O arquivo make.conf - PARTE V
   11. Finalizando
Outros artigos deste autor

Um olhar sobre o Portage Tools - Parte II

Um olhar sobre o Portage-tools - Parte I

Leitura recomendada

WhatsApp no Debian 8.7.1 via Genymotion

Acessando desktop remotamente com noMachine

Ubuntu Packages - Uma forma mais rápida e simples de instalar programas

Kolourpaint - Um editor gráfico muito útil

OpenNebula Sunstone

  
Comentários
[1] Comentário enviado por luiztux em 07/07/2016 - 08:41h

Galera, uma atualização:

Sobre a variável do USE_EXPAND, a L10N, esta irá substituir a variável LINGUAS em um futuro próximo. Então, obrigatoriamente, devemos ter ambas informadas no nosso make.conf respeitando as diferenças de padrões entre elas.

É isso aí.

-----------------------------------''----------------------------------

"If it moves, compile it."


[2] Comentário enviado por albfneto em 07/07/2016 - 12:06h

muito bom isso! parabéns.
favoritado , como as outras partes.
é legal a galera conhecer Portage. Portage é uma obra prima de programação
¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
Albfneto,
Ribeirão Preto, S.P., Brasil.
Usuário Linux, Linux Counter: #479903.
Distros Favoritas: [i] Sabayon, Gentoo, OpenSUSE, Mageia e OpenMandriva[/i].

[3] Comentário enviado por luiztux em 07/07/2016 - 12:20h


[2] Comentário enviado por albfneto em 07/07/2016 - 12:06h

muito bom isso! parabéns.
favoritado , como as outras partes.
¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
Albfneto,
Ribeirão Preto, S.P., Brasil.
Usuário Linux, Linux Counter: #479903.
Distros Favoritas: [i] Sabayon, Gentoo, OpenSUSE, Mageia e OpenMandriva[/i].


Obrigado Alberto. Sua opinião vale muito pois, como escrevi, parte deste conhecimento obtive através de você. Então eu sinto uma relação de supervisão da sua parte, por assim dizer..rsrsr

[4] Comentário enviado por albfneto em 09/07/2016 - 19:53h

quando terminar tudo, vou fazer uma sugestão.
você junta todas as partes, com copiar e colar, e faz uma apostila ou pequeno livro, e posta no Site "Domínio Público". Cite sua autoria, lógicamente.

tem muita coisa de linux lá, de Química, de Artes, de tudo. Pa vc ver, vai no site

http://www.dominiopublico.gov.br/pesquisa/PesquisaObraForm.do

e no formulário de busca use Palavras-Chave "Ciências da Computação", "Linux".

o legal do site Domínio Público é que ele é desenvolvido usando Software Livre

No que se refere a seu Artigo, sugerí porque Portage tem pouca literatura em Português.

Eu gostaria que muita gente conhecesse Portage, porque é fenomenal, muito bem programado. Ele acha as dependências, gerencia tudo, faz o que vc quer... um GCC, mas um GCC todo automático. Portage é genial

Não sei Porque, mas alguns Gentoístas, no Mundo todo, não eu, você ou o próprio Daniel Robbins (ele é muito acessível, sempre respondeu meus emails), não gostam de ensinar a usar Gentoo ou Portage, não sei ao certo o por que.
¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
Albfneto,
Ribeirão Preto, S.P., Brasil.
Usuário Linux, Linux Counter: #479903.
Distros Favoritas: [i] Sabayon, Gentoo, OpenSUSE, Mageia e OpenMandriva[/i].

[5] Comentário enviado por luiztux em 09/07/2016 - 20:20h

Gostei da ideia e agradeço. Farei isto quando terminar.

Em relação ao Daniel, realmente, o cara é muito acessível e solícito. Também tive a oportunidade de falar com ele e com outros desenvolvedores do Gentoo como: Nathan Zachary, Michal Gorny e Zack Medico e os caras sempre muito solícitos, sem problema nenhum. Mas infelizmente tem aqueles que se acham superiores aos outros e não gostam de ajudar. É uma lástima...


-----------------------------------''----------------------------------

"If it moves, compile it."


[6] Comentário enviado por Pygoscelis em 13/07/2016 - 13:51h

.

[7] Comentário enviado por Pygoscelis em 13/07/2016 - 13:52h

Muito bom e útil! Se tivesse lido esses artigos um tempo atrás, quando migrei para Gentoo, diminuiria bastante minhas leituras e buscas. Legal também reunir links do Alberto que tanto já me foram úteis. Valeu!

[8] Comentário enviado por luiztux em 14/07/2016 - 08:48h


[7] Comentário enviado por Pygoscelis em 13/07/2016 - 13:52h

Muito bom e útil! Se tivesse lido esses artigos um tempo atrás, quando migrei para Gentoo, diminuiria bastante minhas leituras e buscas. Legal também reunir links do Alberto que tanto já me foram úteis. Valeu!


Obrigado pelo comentário. Realmente precisamos de extensiva leitura para usar o Gentoo. Nestes artigos tentei passar um pouco do que aprendi, depois de muita busca e leitura, como você disse. Claro que isto não irá tornar nada mais fácil para quem chega ao sistema, mas espero que dê um "Norte" para quem precisar.
O Alberto é um cara excepcional que manja demais. Os artigos e dicas dele são referência e por este motivo eu reuni estas informações.

Um abraço.

[9] Comentário enviado por removido em 30/07/2016 - 19:16h

Ainda vou instalar o Gentoo, basta eu conseguir algum tempo livre.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts