Como impedir atualizações de pacotes no Debian e Arch Linux
Ignorando atualizações automáticas e controlando versões de bibliotecas em sistemas Debian, Ubuntu, Arch Linux, e Manjaro
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 #
.