Як вимкнути автоматичні оновлення в Ubuntu (Повний посібник)
За замовчуванням Ubuntu автоматично встановлює оновлення, щоб забезпечити безпеку та стабільність вашої системи. Хоча така поведінка ідеальна для більшості користувачів настільних комп’ютерів, вона може бути проблематичною в production середовищах, тестових серверах або будь-якій ситуації, де вам потрібен точний контроль над версіями програмного забезпечення. Несподівані оновлення можуть порушити залежності, перервати запущені сервіси або внести регресії, які важко діагностувати під тиском.
Цей посібник проведе вас через кожен метод відключення автоматичних оновлень в Ubuntu — охоплюючи APT, Snap та systemd таймери — разом із найкращими практиками для забезпечення безпеки при ручному керуванні оновленнями.
Чому ви можете захотіти вимкнути автоматичні оновлення
Автоматичні оновлення — це розумна налаштування за замовчуванням, але є законні причини їх вимкнути:
- Стабільність сервера: У середовищі VPS Hosting або виділеного сервера незаплановане оновлення ядра або перезавантаження сервісу може спричинити несподіваний час простою.
- Закріплення версії: Програми зі строгими вимогами до залежностей можуть зламатися, якщо базові пакети будуть мовчки оновлені.
- Тестові середовища: Відтворювані тестові середовища вимагають послідовних версій пакетів у всіх запусках.
- Контрольовані конвеєри розгортання: Робочі процеси DevOps часто керують оновленнями через конвеєри CI/CD, а не через саму ОС.
- Обмеження ресурсів: Автоматичні фонові оновлення споживають CPU, RAM і пропускну здатність — ресурси, які можуть бути критичними на завантаженому сервері.
Розуміння компромісів є важливим. Вимкнення автоматичних оновлень повністю перекладає відповідальність за безпекові патчі на вас.
Основні механізми автоматичного оновлення в Ubuntu
Перш ніж щось вимикати, корисно розуміти, що саме ви вимикаєте. Ubuntu використовує чотири основні механізми для автоматичного оновлення:
| Механізм | Призначення |
|---|---|
unattended-upgrades | Автоматично встановлює оновлення безпеки та інші оновлення |
APT::Periodic | Контролює, як часто APT перевіряє та завантажує оновлення |
snapd | Автоматично оновлює пакети Snap |
systemd timers | Планує фонові завдання оновлення APT |
Кожен з цих механізмів можна вимкнути незалежно, що дає вам детальний контроль над поведінкою оновлення вашої системи.
Метод 1: Вимкнення автоматичних оновлень APT через файл конфігурації
Це найпоширеніший і рекомендований підхід. Конфігурація періодичного APT Ubuntu зберігається в /etc/apt/apt.conf.d/20auto-upgrades.
Крок 1: Відкрийте файл конфігурації
sudo nano /etc/apt/apt.conf.d/20auto-upgradesКрок 2: Змініть значення конфігурації
Зазвичай ви побачите щось подібне:
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";Змініть обидва значення на "0" для вимкнення автоматичного оновлення списку та автоматичних оновлень:
APT::Periodic::Update-Package-Lists "0";
APT::Periodic::Unattended-Upgrade "0";Крок 3: Збережіть і вийдіть
Натисніть Ctrl+O для збереження файлу, потім Ctrl+X для виходу з редактора nano.
Додатково: розширені параметри APT Periodic
Для більш детального контролю ви також можете редагувати або створити /etc/apt/apt.conf.d/10periodic:
sudo nano /etc/apt/apt.conf.d/10periodicВстановіть усі значення на "0":
APT::Periodic::Update-Package-Lists "0";
APT::Periodic::Download-Upgradeable-Packages "0";
APT::Periodic::AutocleanInterval "0";
APT::Periodic::Unattended-Upgrade "0";Це забезпечує відсутність фонової активності APT.
Метод 2: Повністю видалити пакет unattended-upgrades
Якщо ви віддаєте перевагу більш остаточному підходу, ви можете повністю видалити пакет unattended-upgrades:
sudo apt remove unattended-upgrades -yЩоб також видалити його файли конфігурації:
sudo apt purge unattended-upgrades -yЦе повністю усуває сервіс, відповідальний за автоматичні оновлення безпеки. Використовуйте цей підхід лише якщо ви впевнені у своєму робочому процесі ручного оновлення.
Метод 3: Вимкнення автоматичних оновлень Snap
Пакети Snap керуються snapd і оновлюються незалежно від APT. Існує два способи це вирішити.
Варіант A: Зупинення та вимкнення служби snapd
Це найбільш агресивний підхід і запобігатиме всій функціональності Snap:
sudo systemctl stop snapd.service
sudo systemctl disable snapd.service> Примітка: Повне вимкнення snapd запобігатиме запуску всіх пакетів Snap. Використовуйте це лише якщо ви не покладаєтесь на жодні додатки на основі Snap.
Варіант B: Зміна графіка оновлення Snap (рекомендується)
Безпечніший підхід — встановити таймер оновлення на вікно, яке ніколи не відбувається, ефективно блокуючи автоматичні оновлення, зберігаючи функціональність Snap:
sudo snap set system refresh.timer=00:00-00:00Крім того, ви можете використовувати systemctl edit для перевизначення середовища служби:
sudo systemctl edit snapd.serviceДодайте наступний блок:
[Service]
Environment=SNAPD_REFRESH_TIMER=00:00-00:00Збережіть і вийдіть. Це блокує Snap від автоматичного оновлення пакетів без повного вимкнення служби.
Метод 4: Вимкнення systemd Timers для APT
Ubuntu використовує systemd timers для планування завдань оновлення APT. Ці таймери працюють незалежно від unattended-upgrades сервісу і також повинні бути вимкнені для повного контролю.
Вимкніть і зупиніть обидва таймери однією командою:
sudo systemctl disable --now apt-daily.timer
sudo systemctl disable --now apt-daily-upgrade.timerapt-daily.timer— запускає щоденне оновлення списку пакетів APTapt-daily-upgrade.timer— запускає щоденний процес оновлення
Прапор --now вимикає таймер від запуску при завантаженні та зупиняє його негайно, якщо він наразі працює.
Як перевірити, що автоматичні оновлення вимкнені
Після застосування наведених вище змін підтвердіть, що все правильно вимкнено.
Перевірка статусу таймера systemd
systemctl status apt-daily.timer apt-daily-upgrade.timerОбидва таймери повинні повідомляти як inactive (dead). Якщо один із них показує active, повторіть кроки вимкнення вище.
Перевірка конфігурації APT
cat /etc/apt/apt.conf.d/20auto-upgradesОчікуваний результат:
APT::Periodic::Update-Package-Lists "0";
APT::Periodic::Unattended-Upgrade "0";Перевірка статусу служби unattended-upgrades
systemctl status unattended-upgradesЯкщо ви видалили пакет, ця команда повернеться помилкою, яка вказує, що служба не існує — це очікуваний результат.
Важливі міркування безпеки після вимкнення автоматичних оновлень
Вимкнення автоматичних оновлень є дійсним адміністративним вибором, але це передбачає реальні обов’язки. Ось що ви повинні робити, щоб забезпечити безпеку вашої системи:
1. Оновлюйте вручну та регулярно
Запускайте наступні команди за постійним графіком — мінімум раз на тиждень:
sudo apt update && sudo apt upgrade -yДля повного оновлення на рівні дистрибутива:
sudo apt full-upgrade -y2. Моніторте рекомендації безпеки
Підпишіться на список розсилки Ubuntu Security Notices (USN) або RSS-канал. Це гарантує, що ви будете в курсі критичних вразливостей відразу після їх розкриття.
3. Створюйте знімки перед оновленням
На виробничих серверах завжди створюйте знімок системи або резервну копію перед застосуванням оновлень. Якщо ви використовуєте Dedicated Server, використовуйте інструменти снімків вашого провайдера або рішення на кшталт rsync, Timeshift або LVM snapshots для створення точки відновлення.
4. Використовуйте проміжне середовище
Тестуйте оновлення в проміжному або розробницькому середовищі перед застосуванням їх до виробництва. Це особливо важливо для серверів, на яких запущені складні стеки.
5. Періодично перевіряйте встановлені пакети
apt list --upgradableЦе показує всі пакети з доступними оновленнями, дозволяючи вам вибірково застосовувати патчі на основі пріоритету.
Як повторно увімкнути автоматичні оновлення
Якщо ви вирішите відновити поведінку автоматичного оновлення, процес простий.
Повторне включення через файл конфігурації
Відредагуйте /etc/apt/apt.conf.d/20auto-upgrades і встановіть значення назад на "1":
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";Переустановка unattended-upgrades
sudo apt install unattended-upgrades -y
sudo dpkg-reconfigure -plow unattended-upgradesПовторне включення systemd Timers
sudo systemctl enable --now apt-daily.timer
sudo systemctl enable --now apt-daily-upgrade.timerПовторне включення Snap Auto-Refresh
sudo snap set system refresh.timer=00:00~24:00/4Це відновлює розклад оновлення Snap за замовчуванням (чотири рази на день у випадкові інтервали).
Вибір правильного хостинг-середовища для ручного контролю оновлень
Якщо ви керуєте оновленнями вручну, тип хостинг-середовища, який ви використовуєте, має значення. Повний root-доступ необхідний для рівня контролю, описаного в цьому посібнику.
- VPS Hosting — Ідеально підходить для розробників та системних адміністраторів, які потребують повного контролю над своїм Ubuntu-середовищем, включаючи управління оновленнями, конфігурацію ядра та планування служб.
- Dedicated Servers — Найкраще для високонавантажених виробничих робочих навантажень, де час оновлення, використання ресурсів та стабільність є критично важливими.
- VPS з cPanel — Гарний варіант, якщо ви хочете root-рівневий контроль у поєднанні з графічним інтерфейсом для управління параметрами сервера та розміщеними веб-сайтами.
Середовища спільного хостингу зазвичай не надають доступу на рівні ОС, необхідного для зміни конфігурацій APT або systemd.
Швидкий довідник: Усі команди з першого погляду
# Disable APT auto-updates via config
sudo nano /etc/apt/apt.conf.d/20auto-upgrades
# Set both values to "0"
# Remove unattended-upgrades package
sudo apt remove unattended-upgrades -y
# Disable Snap auto-refresh (safe method)
sudo snap set system refresh.timer=00:00-00:00
# Disable Snap service entirely (aggressive)
sudo systemctl stop snapd.service
sudo systemctl disable snapd.service
# Disable systemd APT timers
sudo systemctl disable --now apt-daily.timer
sudo systemctl disable --now apt-daily-upgrade.timer
# Verify timer status
systemctl status apt-daily.timer apt-daily-upgrade.timer
# Manual update command
sudo apt update && sudo apt upgrade -yВисновок
Вимкнення автоматичних оновлень в Ubuntu дає вам точний контроль над тим, коли і як зміни застосовуються до вашої системи. Це особливо цінно в серверних середовищах, конвеєрах CI/CD та будь-якому контексті, де стабільність і передбачуваність мають пріоритет над швидкістю.
Процес включає чотири ключові області: конфігурація APT periodic, пакет unattended-upgrades, механізм оновлення Snap та таймери systemd. Розгляд всіх чотирьох гарантує, що жоден фоновий процес оновлення не зможе змінити вашу систему без вашої явної дії.
Однак цей контроль несе відповідальність. Ви повинні дотримуватися регулярного графіка ручного оновлення, стежити за рекомендаціями безпеки та зберігати резервні копії перед застосуванням змін. Добре керована сервер з ручними оновленнями є безпечною — занедбана ж ні.
Незалежно від того, чи запускаєте ви середовище розробки, сервер виробничого додатку чи спеціалізоване навантаження на GPU Hosting, розуміння та контроль вашої стратегії оновлення є фундаментальною частиною професійного адміністрування системи.
на всіх хостингових послугах