Как в ubuntu заблокировать/разблокировать пакет от обновления

Взято отсюда: http://www.linuxrussia.com/2013/10/ubuntu-hold-package.html

Бывают такие случаи, когда вам не нужно, чтобы обновлялся какой-нибудь пакет из нестабильного репозитория. Те же драйвера на нвидиа например. Или Google-chrome из unstable репозитория, выходят каждый день практически. Можно не отключать репозиторий из системы, а просто легко и быстро запретить его обновление, а потом снова разрешить обновление и обновить его. Делается это довольно просто. В этой статье покажу три способа.

Открываем терминал и для блокировки вводим следующую команду:

sudo echo 'имя_пакета hold' | sudo dpkg --set-selections

имя пакета берется из команды, которой вы ставили этот пакет:

sudo apt-get install имя_пакета

Чтобы снова разрешить обновление заблокированного пакета, введите следующую команду:

echo 'имя_пакета install' | sudo dpkg --set-selections

Вот таким способом мы можем, установив какой-либо пакет, тут же заблокировать его обновление, не удаляя репозиторий из системы. А потом снова разблокировать его, если вдруг снова когда-нибудь захотим обновить.

Данной командой можно просмотреть все статусы пакетов в системе (выведется весь список установленных пакетов и можно просмотреть у которых стоит статус hold - то есть заблокированы для обновления):

dpkg --get-selections

Данной командой можно просмотреть статус определенного пакета:

dpkg --get-selections | grep 'имя_пакета'

Здесь все просто, маркируем пакет, который не хотим, чтобы обновлялся. Команда, чтобы заблокировать обновление пакета:

sudo apt-mark hold package_name

Команда, чтобы разблокировать обновление пакета:

sudo apt-mark unhold package_name

Если Вы используете вместо пакетного менеджера apt-get пакетный менеджер aptitude, то там еще проще: Для заблокирования пакета команда:

sudo aptitude hold package_name

Для разблокировки пакета команда:

sudo aptitude unhold package_name
  • shared/block_unblock_packet_from_update.txt
  • Последнее изменение: 2025/02/25 14:04
  • alex