USE Flags
Como vimos no
make.conf otimizado, a variável
USE="..." afeta o sistema inteiro. É aqui que você coloca coisas que definem a "alma" do seu computador.
Exemplo:
USE="systemd wayland pulseaudio -bluetooth"
(Isso diz ao Gentoo: "Quero suporte a Systemd, Wayland e áudio em todos os programas possíveis, mas não instale nada relacionado a Bluetooth").
USE Flags Locais (package.use)
Mas e se você precisar de uma exceção? Digamos que você desativou o suporte a DVDs globalmente (
-dvd), mas quer compilar o seu reprodutor de vídeos com suporte a DVD.
Ficaria feio pra dedéu encher o seu
make.conf com dezenas de USE flags específicas só por causa de um ou dois programas. Para essas exceções, usamos as configurações locais.
Como organizar suas exceções na prática: transforme o
/etc/portage/package.use e o
/etc/portage/package.env em diretórios. Assim, você organiza suas regras por pacotes.
Execute como root para criar a estrutura correta:
mkdir -p /etc/portage/package.use
Agora, quando o cálculo de uma atualização pedir uma flag específica para resolver um conflito, você cria um arquivo com o nome do pacote lá dentro. Lembro do pacote
avahi que frequentemente pedia a flag
mdnsresponder-compat para funcionar com a descoberta de redes do KDE. Com ajuda da Gemini resolvi isso de forma limpa assim:
echo "net-dns/avahi mdnsresponder-compat" > /etc/portage/package.use/avahi
Pronto! O Avahi recebeceu esse recurso extra na hora da compilação, mas o resto do sistema continuou seguindo as regras globais do
make.conf otimizado. Manter essa separação estruturada em diretórios é uma mão na roda para um sistema Gentoo durável sem virar uma bagunça de arquivos.
Turbinando as Atualizações Futuras com o ccache
O Gentoo é construído a partir do código-fonte, o que significa compilar as coisas na sua máquina. Mas e se você precisar recompilar um pacote apenas porque mudou uma USE Flag, ou porque saiu uma atualização muito pequena onde 90% do código continua igual? É aí que entra o
ccache (Compiler Cache).
O
ccache atua como uma "memória fotográfica" para o compilador (GCC/Clang). Quando ele compila um arquivo C ou C++, ele salva o resultado final. Se no futuro o sistema pedir para compilar aquele exato mesmo arquivo novamente, o ccache simplesmente entrega o arquivo já pronto rapidão, pulando todo o trabalho pesado do processador.
Veja como instalar e configurar corretamente.Instale o pacote:
emerge -av dev-util/ccache
Atenção a este detalhe:Lembra que muitos usuários colocam a pasta de compilação do Portage (/var/tmp) na memória RAM (tmpfs) para o sistema ficar mais rápido? Por padrão, o Gentoo tenta salvar o cache do compilador dentro dessa mesma pasta. O problema é que, quando você desliga o PC, a memória RAM é apagada, e o seu cache precioso vai todo para o ralo! Para resolver isso, precisamos obrigar o Gentoo a salvar o cache no seu SSD ou HD físico, em uma pasta permanente.
Abra novamente o
/etc/portage/make.conf e adicione o seguinte:
# -----------------------------------------------------------------
# 6. CCACHE (CACHE DO COMPILADOR)
# -----------------------------------------------------------------
# Adicione "ccache" à variável FEATURES que já existe no seu arquivo:
FEATURES="getbinpkg buildpkg parallel-fetch parallel-install ccache"
# Defina o diretório permanente no disco físico (Fora do tmpfs!):
CCACHE_DIR="/var/cache/ccache"
# Defina o tamanho máximo que o cache pode ocupar no seu SSD (Ex: 50 Gigabytes).
# Quando encher, ele apaga os arquivos mais velhos automaticamente.
CCACHE_SIZE="50G"
Como mudamos o diretório padrão, precisamos garantir que o Portage tenha permissão para gravar lá dentro.
Execute no terminal:
mkdir -p /var/cache/ccache
chown root:portage /var/cache/ccache
chmod 2775 /var/cache/ccache
Pronto! A partir de agora, toda compilação que você fizer ficará silenciosamente armazenada ali. Se você quiser ver a mágica acontecendo e conferir quantos gigabytes já foram salvos ou quanto tempo você economizou, basta digitar no terminal a qualquer momento:
CCACHE_DIR=/var/cache/ccache ccache -s
(Este comando exibe as estatísticas de acertos do cache. Quanto mais você atualiza o sistema, mais a taxa de "Hits" (acertos) aumenta, provando que o seu Gentoo está ficando cada vez mais inteligente e rápido).
Links:
1.
2. USE Flags
Nenhum comentário foi encontrado.