Как в ubuntu заблокировать/разблокировать пакет от обновления
Взято отсюда: http://www.linuxrussia.com/2013/10/ubuntu-hold-package.html
Бывают такие случаи, когда вам не нужно, чтобы обновлялся какой-нибудь пакет из нестабильного репозитория. Те же драйвера на нвидиа например. Или Google-chrome из unstable репозитория, выходят каждый день практически. Можно не отключать репозиторий из системы, а просто легко и быстро запретить его обновление, а потом снова разрешить обновление и обновить его. Делается это довольно просто. В этой статье покажу три способа.
Первый способ - использую dpkg
Открываем терминал и для блокировки вводим следующую команду:
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 'имя_пакета'
Второй способ - используя apt-get
Здесь все просто, маркируем пакет, который не хотим, чтобы обновлялся. Команда, чтобы заблокировать обновление пакета:
sudo apt-mark hold package_name
Команда, чтобы разблокировать обновление пакета:
sudo apt-mark unhold package_name
Третий способ - используя aptitude.
Если Вы используете вместо пакетного менеджера apt-get пакетный менеджер aptitude, то там еще проще: Для заблокирования пакета команда:
sudo aptitude hold package_name
Для разблокировки пакета команда:
sudo aptitude unhold package_name