Ilustração minimalista mostra homem no chão e mulher numa escada movendo engrenagens em uma parede
Freepik/vectorjuice

Uma das grande vantagens de sistemas operacionais baseados em Linux é a regularidade com a qual atualizações de pacotes são realizadas, o que garante sistemas sempre seguros e com bom desempenho. No entanto, em algumas situações, pode ser necessário impedir que determinados pacotes sejam atualizados, seja por motivos de compatibilidade, falhas de segurança em atualizações ou por simples preferência do usuário.

Neste artigo, vamos explorar como é possível impedir que pacotes sejam atualizados no Debian, Arch Linux e seus derivados, como Ubuntu, Manjaro e EndeavourOS, mas é sempre importante ter cuidado ao ignorar pacotes, pois pode levar a um sistema desatualizado e inseguro. Certifique-se de que apenas ignora pacotes que você realmente precisa evitar atualizar.

No Debian

Utilizando o arquivo preferences

No Debian e sistemas derivados, como Ubuntu e Linux Mint, é possível utilizar o arquivo de preferências para controlar quais pacotes serão atualizados e quais versões serão instaladas. Para isso, siga os seguintes passos:

Passo 1: Crie o arquivo de preferências, se ainda não existir, utilizando um editor de texto:

sudo nano /etc/apt/preferences

Passo 2: as seguintes linhas ao arquivo, substituindo pacote pelo nome do pacote que deseja impedir a atualização:

Package: pacote
Pin: version versao_desejada
Pin-Priority: -1

Passo 3: o arquivo e saia do editor com Ctrl+O e Ctrl+X, respectivamente.

Para aplicar as alterações, atualize a lista de pacotes:

sudo apt update

Com isso, o pacote especificado não será atualizado, a menos que uma versão mais recente seja explicitamente solicitada.

Utilizando o apt-mark

Outra forma de impedir a atualização de um pacote específico no Debian é utilizando o comando apt-mark. Para isso, siga os passos abaixo:

Passo 1: o pacote como “não atualizável”:

sudo apt-mark hold pacote

Passo 2: desfazer a operação e permitir que o pacote seja atualizado novamente, utilize o comando:

sudo apt-mark unhold pacote

No Arch Linux

No Arch Linux e sistemas derivados, como Manjaro e EndeavourOS, o processo para impedir a atualização de pacotes é um pouco diferente, devido à natureza rolling release da distribuição. No entanto, é possível usar o pacman, o gerenciador de pacotes do Arch, para alcançar o mesmo resultado.

Utilizando o pacman

Para impedir a atualização de um pacote no Arch Linux, você pode utilizar o seguinte comando:

sudo pacman -Syu --ignore pacote

Substitua pacote pelo nome do pacote que deseja ignorar na atualização. Com esse comando, o pacman ignorará a atualização desse pacote específico.

Para permitir que o pacman atualize o pacote novamente, remova-o da lista de pacotes ignorados no arquivo /etc/pacman.conf ou use o seguinte comando:

sudo pacman -Syu --ignore --noconfirm pacote

Isso irá ignorar o pacote especificado apenas durante a atualização atual, permitindo que ele seja atualizado normalmente nas próximas atualizações.

Editando manualmente

Para prevenir que a biblioteca seja atualizada no Arch Linux no futuro, você pode adicionar o nome da biblioteca à seção IgnorePkg do arquivo pacman.conf. Para fazer isso, siga os passos abaixo:

Passo 1: o arquivo pacman.conf com um editor de texto como o nano:

sudo nano /etc/pacman.conf

Passo 2: pela linha #IgnorePkg = no arquivo. Se não existir, crie uma nova linha com IgnorePkg =.

Adicione os nomes das bibliotecas que deseja ignorar, por exemplo, do protocolo de controle de bluetooth BlueZ, após o =:

IgnorePkg = bluez bluez-libs bluez-utils

Passo 3: as alterações pressionando Ctrl+O e feche o editor com Ctrl+X.

Dessa forma, o pacman irá ignorar atualizações futuras para a biblioteca especificada, permitindo que você mantenha a versão atual instalada no sistema.

Para reverter, basta apagar o nome do pacote da lista de ignorados ou comentar a linha IgnorePkg com um #.