segunda-feira, 19 de janeiro de 2026

Marcando e desmarcando pacotes para atualização, instalação e remoção no Debian e agregados

Marcando e desmarcando pacotes para atualização, instalação e remoção no Debian e agregados

    Há várias razões para se "travar" a atualização, instalação e remoção de pacotes no Linux, seguem algumas delas:

  • Economizar banda de internet;
  • Evitar que um programa seja desinstalado, atualizado ou instalado;
  • Evitar a atualização de um pacote que pode fazer o sistema ficar instável;
  • Evitar a atualização de um pacote que faça programas pararem de funcionar;
  • Manter uma versão de pacote ou programa cujas atualizações não o deixarem funcionar adequadamente.

    Há outras mas vou me ater nesses citados pois são as mais comuns. O Debian não sofre tanto em relação às atualizações pois usa pacotes bem testados e que sempre ficam ali no meio termo entre o mais atual e o nem tão atual; então as atualizações são relativamente espaçadas. Exemplificando, entre pacotes versão 1, 2 e 3 o Debian e agregados ficam no 2, onde o "1" é o mais antigo e o "3" o mais novo. Já nas versões rolling release (que não possuem "versões" como Debian 11, 12 ou 13) que possuem desenvolvimento contínuo há sempre pacotes a serem atualizados e que podem passar de 1GB de tamanho entre uma semana e outra.

    No caso de uma atualização de sistema, o Debian tem a versão atual + atualizações de sistema. Por exemplo, o Debian 13 no lançamento era 'Debian 13.0" e agora, uns 5 meses depois desse lançamento e algumas atualizações de sistema agora é "Debian 13.x". Por exemplo, digitando no Terminal:

cat /etc/os-release 

deverá aparecer:

PRETTY_NAME="Debian GNU/Linux 13 (trixie)"
NAME="Debian GNU/Linux"
VERSION_ID="13"
VERSION="13 (trixie)"
VERSION_CODENAME=trixie
DEBIAN_VERSION_FULL=13.3
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

    Veja em vermelho a versão do Debian 13 (Trixie) que está atualmente em 13.3 e essa nomenclatura vai se alterando conforme atualizações DO SISTEMA (13.4, 13.5, etc) mas sempre mantendo a versão "13" que é o release do Trixie até o próximo lançamento, daqui a mais ou menos 2 anos com o Debian 14.

    Para travar pacotes, o comando seria:

sudo apt-mark hold nome-do-pacote (ou mais de um deles)

     Digamos que você queira bloquear os pacotes do Firefox e Google Chrome que aparecem para serem atualizados:

sudo apt-mark hold firefox firefox-l10n-pt-br google-chrome-stable      

    O comando acima faz com que os pacotes não sejam atualizados, não sejam desinstalados e eventualmente não sejam instalados. Dá pra fazer isso com qualquer pacote que esteja sendo instalado via apt. Por exemplo, depois de um " sudo apt update " pra ver o que está pra ser atualizado, é só escolher dessa listagem e eventualmente bloquear a atualização dos pacotes desejados. Para ver os pacotes que estão "holdados":

sudo apt-mark showhold

    Para "desholdar" um pacote:

sudo apt-mark unhold nome-do-pacote (ou nomes)

    Para desbloquear todos os "holdados":

sudo apt-mark showhold | xargs sudo apt-mark unhold

    A princípio pode parecer besteira bloquear certos pacotes mas com o tempo de uso e acúmulo de experiência dá pra notar a vantagem. E esses comandos servem para todas as as pilhas que usam o apt/dpkg. Se um pacote está em hold:

  • apt respeita;
  • GNOME (e Discovery do KDE) Software respeita;
  • PackageKit respeita;
  • aptitude respeita;
  • updates automáticos respeitam.

    Nada que use APT/dpkg vai mexer nele a não ser que seja forçado. O que não vai funcionar será então:

  • Flatpak (outro sistema)
  • Snap
  • AppImage
  • Programas compilados à mão (make install) ou instalados manualmente com cp.

    Boas holdadas aí...

 

Nenhum comentário:

Postar um comentário