Manutenção básica para Gentoo Linux (com script)
Publicado por Xerxes em 07/02/2026
[ Hits: 334 ]
Gentoo saudável não é só dar um emerge --sync. Por ser uma distribuição rolling release baseada em compilação, pequenos desalinhamentos em bibliotecas, módulos de linguagens (Python/Perl) e arquivos de configuração podem se acumular.
Portage atualize também os binários sem o parâmetro -g, adicione ao seu /etc/portage/make.conf:
FEATURES="getbinpkg"
eix. Instale-o se não tiver.
#!/bin/bash
# Autor: Xerxes Lins (vivaolinux.com.br/~xerxeslins)
# Versão e data: v1.0 (7 fev 2026)
# Descrição: verifica atualizações e integridade do Gentoo sem aplicar mudanças.
echo "--- Iniciando Varredura de Manutenção ---"
# 1. Sincronização
echo "[1/7] Sincronizando repositórios (eix-sync)..."
eix-sync -q
# 2. Atualizações do World (Filtro Refinado)
echo "[2/7] Verificando atualizações do @world..."
updates=$(emerge -puvDN @world --with-bdeps=y 2>/dev/null)
# Contagens específicas baseadas nas siglas do Portage
upgrades=$(echo "$updates" | grep -E "^\[ebuild U" | wc -l)
newslots=$(echo "$updates" | grep -E "^\[ebuild NS" | wc -l)
reinstalls=$(echo "$updates" | grep -E "^\[ebuild R" | wc -l)
binarios=$(echo "$updates" | grep -E "^\[binary" | wc -l)
total_updates=$((upgrades + newslots + reinstalls + binarios))
# 3. Pacotes Órfãos
echo "[3/7] Analisando pacotes órfãos (depclean)..."
orphans=$(emerge -p --depclean 2>/dev/null)
orphan_count=$(echo "$orphans" | grep -E "^ [a-z0-9]*/[a-z0-9]*" | wc -l)
# 4. Integridade de Bibliotecas
echo "[4/7] Verificando links dinâmicos (revdep-rebuild)..."
revdep_out=$(revdep-rebuild -p 2>/dev/null)
revdep_needed=$(echo "$revdep_out" | grep -E "emerge --oneshot" | wc -l)
# 5. Configurações
echo "[5/7] Verificando arquivos de configuração pendentes..."
conf_files=$(find /etc -name '._cfg????_*' 2>/dev/null | wc -l)
# 6. Perl
echo "[6/7] Verificando consistência do Perl..."
perl_needed=$(perl-cleaner --pretend 2>/dev/null | grep -E "emerge" | wc -l)
# 7. Python
echo "[7/7] Verificando consistência do Python..."
python_needed=$(python-updater -p 2>/dev/null | grep -E "emerge" | wc -l)
echo -e "\n--- RELATÓRIO FINAL ---"
echo " • Atualizações (Upgrades): $upgrades"
echo " • Novos Slots (New Slots): $newslots"
echo " • Reinstalações (Reinstall): $reinstalls"
echo " • Pacotes Binários: $binarios"
echo " • Pacotes órfãos: $orphan_count"
echo " • Arquivos de config: $conf_files"
echo -e "\n--- COMANDOS SUGERIDOS ---"
cmd_next=1
total_acoes=0
if [ "$total_updates" -gt 0 ]; then
# Se houver apenas reinstalações/binários R, sugere um comando mais agressivo
if [ "$upgrades" -eq 0 ] && [ "$newslots" -eq 0 ]; then
echo "${cmd_next}. Atualizar (Deep): emerge -auvDN --with-bdeps=y --changed-use @world"
else
echo "${cmd_next}. Atualizar tudo: emerge -auvDN @world"
fi
((cmd_next++))
((total_acoes++))
fi
if [ "$orphan_count" -gt 0 ]; then
echo "${cmd_next}. Limpar órfãos: emerge --depclean"
((cmd_next++))
((total_acoes++))
fi
if [ "$conf_files" -gt 0 ]; then
echo "${cmd_next}. Configurações: dispatch-conf"
((cmd_next++))
((total_acoes++))
fi
if [ "$revdep_needed" -gt 0 ]; then
echo "${cmd_next}. Corrigir links: revdep-rebuild"
((cmd_next++))
((total_acoes++))
fi
if [ "$perl_needed" -gt 0 ]; then
echo "${cmd_next}. Corrigir Perl: perl-cleaner --all"
((cmd_next++))
((total_acoes++))
fi
if [ "$python_needed" -gt 0 ]; then
echo "${cmd_next}. Corrigir Python: python-updater"
((cmd_next++))
((total_acoes++))
fi
if [ "$total_acoes" -eq 0 ]; then
echo "Nada a fazer. Seu sistema está 100% em ordem!"
fi
echo -e "\n--- Fim da Verificação ---"
getbinpkg, ele baixará binários sempre que possível.
Som apenas em um aplicativo por vez?
rename - Comando para renomear todos os arquivos para letra minúscula
Permitindo PPA no Elementary OS Loki
Quebra de linha na data e hora no Linux Mint
Criando uma imagem ISO no Ubuntu
Como converter vídeos para AVI sem perder qualidade
Copiando CDs e DVDs pelo terminal com facilidade
sysdig - Ferramenta de inspeção de eventos em tempo real
Nenhum comentário foi encontrado.
Instalação e Configuração do Void com Cinnamon
Porque Gentoo semi-binário atualmente (desabafo)
A combinação de WMs com compositores feitos por fora
Audacious, VLC e QMMP - que saudades do XMMS
SUNO OpenSource: Crie um servidor de gerador de música com IA
Guia de instalação do Gentoo Linux com Cinnamon (UEFI, LUKS2, Btrfs)
Aparecer o Chuck Norris no seu terminal
CachyOS vs Arch [RESOLVIDO] (11)
Alguns aplificativos em Flatpak não rodam no Debian (3)
Um filme, uma banda, um jogo, um livro, um anime (ou mangá) (13)









