Отключаем автоматическое обновление драйверов Nvidia на Ubuntu Server
Столкнувшись в очередной раз с отказом сервиса в результате “неожиданного” обновления драйверов Nvidia на Ubuntu Server, возник вопрос отключения этой, безусловно, полезной функции.
Контекст
- Виртуальная машина на Ubuntu Server 22.04 с Nvidia gpu на борту.
- Сервис, в работе которого задействована видеокарта, выполняет довольно длительные операции периодически, а иногда и 24 / 7.
- Фоновое обновление пакетов, в том числе драйверов Nvidia, не позволяет сервису в очередной раз достучаться до видеокарты, т.к. она, внезапно, отсутствует в системе.
В составе Ubuntu Server идет пакет unattended-upgrades, используемый для автоматической установки исправлений, связанных с безопасностью, а также обновления уже установленных пакетов в системе. Для решения проблемы мы можем внести корректировки в настройки данного пакета или вовсе его отключить. Тут уже каждый решает сам в зависимости от ситуации.
✅ Вариант №1. Добавить критически важные пакеты в список исключений.
В конфигурационном файле /etc/apt/apt.conf.d/50unattended-upgrades в раздел Unattended-Upgrade::Package-Blacklist прописываем все интересующие нас пакеты:
1
2
3
4
5
Unattended-Upgrade::Package-Blacklist {
"libnvidia-";
"libcuda-";
"nvidia-";
}
✅ Вариант №2. Отключить автоматическое обновление пакетов.
В конфигурационном файле /etc/apt/apt.conf.d/20auto-upgrades устанавливаем правила:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// включение / отключение скриптов обновлений (0 - выкл, 1 - вкл)
APT::Periodic::Enable "0";
// частота выполнения apt-get update (в днях, 0 - откл)
APT::Periodic::Update-Package-Lists "0";
// частота выполнения apt-get upgrade –download-only
APT::Periodic::Download-Upgradeable-Packages "0";
// частота выполнения apt-get autoclean
APT::Periodic::AutocleanInterval "0";
// частота выполнения apt-get upgrade
APT::Periodic::Unattended-Upgrade "0";
Перезапускаем сервис обновлений:
1
sudo systemctl restart unattended-upgrades
