Как отключить автоматические обновления в 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: Отключение системных таймеров APT
Ubuntu использует системные таймеры для планирования задач обновления 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 Timer
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 — Лучший выбор для высоконагруженных production-сервисов, где время обновления, использование ресурсов и стабильность критичны для бизнеса.
- VPS with cPanel — Хороший вариант, если вам нужен root-уровень контроля в сочетании с графическим интерфейсом для управления параметрами сервера и размещенными веб-сайтами.
Среды shared hosting обычно не предоставляют доступ на уровне ОС, необходимый для изменения конфигураций 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, понимание и контроль вашей стратегии обновления — это фундаментальная часть профессионального администрирования систем.
на всех хостинговых услугах