Tutorial de Ubuntu 26.04 / Remova, retenha e repare pacotes com cuidado
Separe remoções, retenções, bloqueios e falhas de dependências ao corrigir pacotes Ubuntu. Primeiro examine o estado e as alterações propostas, simule a operação e aplique apenas a ação necessária.
Entenda o alcance da remoção
| Operação | Efeito |
|---|---|
| remove | Remove o programa; algumas configurações de sistema podem permanecer |
| purge | Também remove configurações gerenciadas pelo pacote, não todos os arquivos do usuário |
| autoremove | Remove dependências marcadas como instaladas automaticamente e consideradas desnecessárias |
| hold | Impede alterações normais do pacote e pode bloquear atualizações de segurança |
Use o pacote não essencial hello em uma VM de prática e registre se já estava instalado. Se necessário, instale-o seguindo o procedimento de instalação com APT. Não use kernels ou pacotes de rede e login para praticar remoção.
Simule e examine a remoção
apt-get -s remove hello
apt-get -s purge hello
apt-get -s autoremove
Compare os pacotes cuja remoção foi proposta. Não prossiga se aparecerem drivers ou serviços inesperados. Aplique apenas o que foi examinado, por exemplo sudo apt remove hello, sem eliminar a confirmação com -y.
Confira e reverta uma retenção
O exemplo exige hello instalado e consulta as retenções antes de alterá-las. Se a consulta inicial falhar, a prática para sem aplicar retenção. A comparação abaixo usa o nome hello; em ambientes com nomes qualificados por arquitetura, confira a saída e não execute o exemplo sem adaptá-lo corretamente.
(
set -eu
if [ "$(dpkg-query -W -f='${Status}' hello 2>/dev/null)" != "install ok installed" ]; then
printf 'Install the nonessential hello lab package first.\n' >&2
exit 1
fi
holds=$(apt-mark showhold)
was_held=no
while IFS= read -r name; do
if [ "$name" = hello ]; then was_held=yes; fi
done <<< "$holds"
sudo apt-mark hold hello
apt-mark showhold
if [ "$was_held" = no ]; then
sudo apt-mark unhold hello
fi
apt-mark showhold
)
O exemplo preserva uma retenção prévia e só libera hello quando a prática a criou. Liberar uma retenção não instala atualizações. Uma interrupção ou erro depois de aplicar a retenção pode impedir a etapa de liberação: confira a saída e o estado real e restaure manualmente apenas o estado anterior do pacote de prática. Preserve as demais retenções; para retenções prolongadas, registre motivo, data de revisão e impacto de segurança. Consulte a documentação apt-mark do Ubuntu 26.04.
Investigue trabalhos em andamento antes de tratar bloqueios
systemctl status apt-daily.service apt-daily-upgrade.service --no-pager
ps -eo pid,etime,args | grep -E "[a]pt|[d]pkg|[u]nattended"
Se outra atualização estiver avançando normalmente, aguarde. Apagar arquivos de bloqueio ou encerrar processos de pacotes sem diagnóstico pode interromper operações da base de dados. Um serviço inativo, sozinho, não prova que o bloqueio está abandonado; examine processos e logs relevantes.
Repare configuração incompleta e dependências
sudo dpkg --audit
apt-get -s --fix-broken install
Para configuração interrompida, consulte logs e backups antes de usar sudo dpkg --configure -a. Esse comando executa scripts de manutenção e pode afetar serviços. Leia as instalações e remoções propostas pela simulação antes de decidir se executa sudo apt-get --fix-broken install.
Se a causa for um repositório sem suporte ou com versões misturadas, corrija a origem em vez de repetir comandos de reparo. Termine com sudo dpkg --audit, sudo apt-get check e testes funcionais dos serviços afetados. Consistência de pacotes não comprova a recuperação dos dados da aplicação.
A documentação oficial de gerenciamento de pacotes explica remoção e dependências.




