Вот только читайте внимательно, до нужного места. Плохо все команды вводить не глядя. Негоже так делать со своими серверами. Думать тоже надо прежде.
И так
Автоматическое обновление Ubuntu это для ленивых. Вот как было ранее, для обновления Ubuntu:
sudo apt update
sudo apt -y full-upgrade
sudo apt -y upgrade
sudo apt -y autoremove
sudo apt -y autoclean
## кто любит snap-пакеты ещё делают так
sudo snap refresh
## кто любит flatpak-пакеты ещё делают так
sudo flatpak update
## и рестарт по требованию
sudo reboot
или тот же вариант в одну строчку:
sudo apt update && sudo apt -y full-upgrade && sudo apt -y upgrade && sudo apt -y autoremove && sudo apt -y autoclean && snap refresh && flatpak update && sudo reboot
В предыдущих командах объединитель && говорит, что следующую команду выполнить при положительном завершении предыдущей.
А что? Ведь простое решение – повторить строчку команд из истории консоли просто полистав стрелками вверх/вниз. Даже можно не листать до неё, а просто нажать в консоли CTRL+R и написать например “upgrade” и эта строчка будет найдена, после чего – просто ENTER. И вуаля, всё обновляется, а потом и перезагружается.
И самое важное в обновлении это не то, что бы быть всегда с самыми новыми релизами программ. Программы не самое важное. Важное то, что вы устанавливаете обновления безопасности. Да, да. Это пожалуй самое важное, что может быть в деяниях по обновлению. И это надо делать регулярно.
Автоматическая установка обновлений Ubuntu
Вот поэтому есть вариант – регулярно устанавливать обновления безопасности и не отвлекаться на это деяние. Для этого существует маленькая консольная программа ucaresystem-core (uCareSystem)
uCareSystem будет помогать вам обслуживать обновления операционной системы и установленных пакетов программ. Что именно будет:
- Обновляет список доступных пакетов
- Загружает и устанавливает доступные обновления
- Проверяет, есть ли в системе более старые ядра Linux, и удаляет их. Однако сохраняет текущую и одну предыдущую версию
ядра. - Очищает кеш загруженных пакетов
- Удаляет устаревшие пакеты
- Удаляет осиротевшие пакеты
- Удаляет файлы конфигурации пакета из пакетов, которые были удалены вами.
Не плохо программу поставить ещё и в крон (crontab), чтобы выполнялось по таймеру.
И так, установим uCareSystem:
sudo add-apt-repository ppa:utappia/stable
sudo apt-get update
sudo apt-get -y install ucaresystem-core
Проверить как работает uCareSystem можно в консоли командой:
sudo ucaresystem-core
Или вот так uCareSystem с перезагрузкой по окончанию обновления:
sudo ucaresystem-core -r
Настройка автоматического обновления Ubuntu
Теперь надо настроить ежедневное обновление, например после полуночи, откройте на редактирование кронтаб:
sudo crontab -e
и вставьте в конец файла следующую строку (помните, что файл crontab должен оканчиваться новой строкой, т.е. дописали строчку и нажали ENTER)
0 0 * * * /usr/bin/ucaresystem-core >/dev/null 2>/dev/null
Теперь, у вас в полночь будут устанавливаться все обновления безопасности, и новые релизы программ.
Если хотите настроить другое время, то вот вам в помощь кронтаб.гуру
Вуаля!
UD: всё это также справедливо и для версии Ubuntu 18.04, 20.04, 22.04
UPDATE 2024-06-20
На данный момент, применительно к Ubuntu 24.04 Server устанавливается, но не работает, выдаёт вот такую ошибку:
-bash: /usr/bin/ucaresystem-core: cannot execute: required file not found
Исправляем выполнением команды в одну строку:
sudo sed -i '1 s|^#!/usr/bin/pkexec /bin/bash$|#!/bin/bash|' /usr/bin/ucaresystem-core
Запускаем для проверки:
sudo ucaresystem-core
Итог: работает