Автоматическое обновление Ubuntu 24.04 или 22.04 LTS с помощью неуправляемых обновлений

Если вы пользуетесь Ubuntu, особенно серверной версией, очень важно следить за своевременным обновлением системы. Это необходимо для того, чтобы устранить любую лазейку в системе безопасности, как только разработчики обнаружат ее и выпустят исправления. Поддержание системы в актуальном состоянии снижает вероятность атаки и гарантирует, что установленные пакеты имеют более новые версии. Кто не хочет, чтобы его система была в самом последнем состоянии? Выполнять команду вручную каждый раз может быть затруднительно, особенно если сервер находится в каком-то удаленном месте и вам приходится каждый раз ждать его по SSH. В такой ситуации мы можем воспользоваться инструментом Debian под названием unattended-upgrades, который позволяет пользователям легко загружать обновления безопасности и обновления автоматически через заданный интервал времени без участия человека.

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

Шаги по установке и использованию неуправляемых обновлений на Ubuntu 24.04 или 22.04

Команда для установки, включения и настройки неуправляемых обновлений на Ubuntu 24.04 или 22.04 может быть использована для Ubuntu 20.04 Focal, Debian и других подобных Linux-систем.

Запустить обновление системы

Инструмент обновления Unattended доступен в репозитории Ubuntu. Следовательно, мы можем установить его с помощью менеджера пакетов APT. Однако мы должны вручную выполнить команду обновления системы, чтобы обновить индексный кэш пакетов APT.

sudo apt update

Установка неуправляемых обновлений на Ubuntu 24.04 или 22.04

Как уже отмечалось, для установки этого инструмента нам не нужен сторонний репозиторий, что позволяет автоматизировать процесс обновления на Ubuntu. Итак, в терминале выполните указанную команду:

sudo apt install unattended-upgrades

Проверка состояния службы

По завершении установки или после ее завершения проверьте, работает ли служба этого инструмента в фоновом режиме.

systemctl status unattended-upgrades --no-pager -l
systemctl status unattended upgrades ubuntu 22.04

Для знаний: Чтобы запустить и остановить службу, мы можем использовать —

Для остановки:

sudo systemctl stop unattended-upgrades

Начать:

sudo systemctl start unattended-upgrades

Настройка неуправляемых обновлений в Ubuntu 24.04 или 22.04

Для настройки и управления работой инструмента Unattended-Upgrades доступны два конфигурационных файла. Один из них 20auto-upgrades , а второй 50unattended-upgrades

20auto-upgrades

Файл находится по адресу «/etc/apt/apt.conf.d/20auto-upgrades»

sudo nano /etc/apt/apt.conf.d/20auto-upgrades

Со следующим содержанием:

APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";

Здесь уже следует дать краткое пояснение:

APT::Periodic::Update Package Lists «1»; — Обновление списков пакетов, это похоже на выполнение команды sudo apt update.

APT::Periodic::Unattended Upgrade «1»; — Выполнение обновлений без участия пользователя
, устанавливает доступные обновления аналогично команде sudo apt upgrade

Значение «1» означает, что настройка включена, и если вы хотите отключить ее, измените 1 на 0. В то время как по умолчанию эта настройка будет искать обновления ежедневно, если вы хотите, чтобы она проверяла их раз в два дня, измените значение на «2«.

Нам не нужно это редактировать. Однако если вы хотите, чтобы для установки обновлений автоматически выполнялась только команда sudo apt update, оставьте значение 1, а если вы не хотите, чтобы система устанавливала обновления для всех доступных пакетов, установите значение 0. Все зависит от того, что именно вы хотите.

50unattended-upgrades

Этот файл позволяет нам управлять поведением инструмента unattended-upgrades, указывать системе, что именно ей нужно обновлять автоматически, какие пакеты пропускать, когда перезагружаться и т. д.

Чтобы отредактировать его, используйте:

sudo nano /etc/apt/apt.conf.d/50unattended-upgrades
50 файл обновлений без участия пользователя

Вы увидите длинный список строк. С их помощью мы можем контролировать и автоматизировать процесс обновления Ubuntu.

Вот несколько примеров:

Примечание: Система не будет обрабатывать строки конфигурационного файла Unattended-Upgrades со слешами //. Таким образом, если вы хотите разрешить некоторые настройки в файле, уберите // из передней части этой конкретной строки настроек, а чтобы запретить их, вам просто нужно снова поставить две прямые косые черты //.

Обновление & Обновление настроек Origin

Первая область файла посвящена настройке источника, из которого будут автоматически устанавливаться обновления. Обновления безопасности включены по умолчанию.

Автоматическое обновление пакетов из этих Ubuntu

Однако если вы также хотите включить обновления пакетов, тогда удалите //, указанный перед

"${distro_id}:${distro_codename}-updates";

Кроме этого, есть еще два источника: один для получения и установки Предлагаемый Обновления и другие для Бэкпорты обновления.

Если вы хотите включить их, удалите // даны перед ними. Однако сначала узнайте, что это такое.

// "${distro_id}:${distro_codename}-proposed";
// "${distro_id}:${distro_codename}-backports";

«${distro_id}:${distro_codename}-proposed»: Если вы включите эту опцию, система также установит обновления, которые все еще находятся на стадии тестирования, а значит, такие обновления могут сломать систему.

«${distro_id}:${distro_codename}-backports»; : Он предоставляет новые обновления для установленного программного обеспечения на вашем Ubuntu. Таким образом, если вы используете старое приложение, которое требует и совместимо с какой-то старой версией пакета, то включение этой функции обновления может остановить работу приложения. Бэкпорты считаются в целом безопасными, если использовать их по назначению для каждого отдельного пакета. Однако если вам нужны новые возможности, включите эту функцию.

Исключить конкретный пакет из обновления.

Чтобы внести пакеты в черный список для обновления: Предположим, что вы не хотите, чтобы система автоматически обновляла какой-либо пакет. Короче говоря, при обновлении системы она должна пропускать этот пакет. Допустим, вы не хотите, чтобы система автоматически обновляла пакет Apache, тогда добавьте это в файл, как показано на рисунке.

// Python regular expressions, matching packages to exclude from upgrading
Unattended-Upgrade::Package-Blacklist {
// The following matches all packages starting with linux-
// "linux-";
"apache2";

Вы можете видеть формат, в котором мы добавили Apache2 пакет, который автоматические обновления системы будут пропускать.

Черный список пакетов при неуправляемых обновлениях

Аналогично, вы можете настроить и включить другие настройки, такие как :

Просто удалите // с сайта Unattended-Upgrade , чтобы включить соответствующий параметр.

/ Automatically reboot *WITHOUT CONFIRMATION* if
//  the file /var/run/reboot-required is found after the upgrade
//Unattended-Upgrade::Automatic-Reboot "false";

// Automatically reboot even if there are users currently logged in
// when Unattended-Upgrade::Automatic-Reboot is set to true
//Unattended-Upgrade::Automatic-Reboot-WithUsers "true";

// If automatic reboot is enabled and needed, reboot at the specific
// time instead of immediately
//  Default: "now"
//Unattended-Upgrade::Automatic-Reboot-Time "02:00";

// Use apt bandwidth limit feature, this example limits the download
// speed to 70kb/sec
//Acquire::http::Dl-Limit "70";

// Enable logging to syslog. Default is False
// Unattended-Upgrade::SyslogEnable "false";

// Specify syslog facility. Default is daemon
// Unattended-Upgrade::SyslogFacility "daemon";

Как только вы закончите, , вы можете сохранить файл, нажав Ctrl+O, нажав Введите , а затем выйти из системы использование Ctrl+X.

Контролируйте время автоматических обновлений.

По умолчанию система будет автоматически обновляться через день или через значение, заданное в конфигурационном файле 20auto-upgrade. Однако мы также можем контролировать время, создав файл задания Cron.

Вот как это можно сделать:

Здесь мы настраиваем задание Cron на запуск обновлений без участия пользователя в 01:00 утра каждый день недели.

sudo crontab -e

Нажмите кнопку Введите или выберите редактор, который вы хотите использовать для редактирования файла конфигурации Contrab:

Файл конфигурации Contrab

После этого добавьте следующую строку в конец файла:

00 01 * * */1 /usr/bin/unattended-upgrade -v

Сохраните его, используя Ctrl+O, нажмите кнопку Введите клавиша и выход Ctrl+X.

Тестирование неуправляемых обновлений

Вы можете протестировать свою конфигурацию с помощью пробного запуска.

sudo unattended-upgrades --dry-run --debug
Тестирование неуправляемых обновлений для Ubuntu 22.04

Вот и все. Система автоматически проверит и обновит вашу Ubuntu 24.04 или 22.04 с помощью инструмента Unattended Upgrades. Если позже вы захотите убедиться, что все работает нормально, вы можете проверить журналы.

cd /var/log/unattended-upgrades
tail unattended-upgrades.log

Подробнее об этом инструменте можно узнать на сайте Debian Wiki.

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *