ucaresystem-core

Автоматическое обновление Ubuntu

Вот только читайте внимательно, до нужного места. Плохо все команды вводить не глядя. Негоже так делать со своими серверами. Думать тоже надо прежде.

И так

Автоматическое обновление 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

Итог: работает