Обновление операционной системы необходимо для поддержания безопасности, стабильности и доступа к новым возможностям. Ubuntu 22.04, как LTS-релиз, имеет долгосрочную поддержку с максимальным сроком до 2032 года. В течение этого времени персональные пользователи могут бесплатно обновлять Ubuntu 22.04 при подписке на Ubuntu Pro (для коммерческих пользователей подписка платная), включая использование на VPS.
Кроме того, в 2024-м вышла Ubuntu 24.04 LTS, с момента релиза прошёл год, а это означает, что разработчики уже исправили все существенные баги — и можно без опасений обновить Ubuntu 22.04 до новой LTS-версии. Если вы администрируете сервер с Ubuntu 22.04, рассказываем, как установить обновления, в том числе только критические, а также как полностью перейти на Ubuntu 24.04.
Подготовка к обновлению
Прежде чем приступать к обновлению Ubuntu, важно подготовить систему. Это минимизирует риски потери данных, конфликтов пакетов и других неожиданных проблем. Предлагаем чек-лист, который подойдёт как для серверов, так и для десктопных систем.
Резервное копирование данных
Даже если вы уверены в процессе, резервная копия — это страховка на случай непредвиденных сбоев.
Что копировать:
- Пользовательские файлы (/home, /var/www для веб-серверов).
- Конфигурационные файлы сервисов (/etc, включая nginx, mysql).
- Данные баз данных (экспортируйте дампы через mysqldump или pg_dump).
Вам понадобится rsync для синхронизации папок:
sudo rsync -av /home/user /backup/home_user
И tar для создания архива:
sudo tar -czvf /backup/system_backup_$(date +%F).tar.gz /home /etc
Также можно использовать готовые решения: Timeshift (для десктопов) или BorgBackup (для серверов).
Проверка свободного места
Обновление до новой версии Ubuntu требует не менее 10 ГБ свободного места (зависит от количества установленных пакетов). Посмотрите доступное пространство:
df -h /
Убедитесь, что в строке / (корневой раздел) есть достаточно места. Если места мало, очистите кеш пакетов:
sudo apt clean
Удалите старые ядра:
sudo apt autoremove --purge
Используйте ncdu для поиска «тяжёлых» файлов:
sudo apt install ncdu && ncdu /
Обновление текущих пакетов
Если вы собираетесь перейти на новую версию ОС, то перед переходом убедитесь, что текущая система полностью обновлена:
sudo apt update
sudo apt full-upgrade -y # Устанавливает и обновляет зависимости, удаляя устаревшие пакеты
Это устранит потенциальные конфликты версий пакетов при апгрейде.
Управление сторонними репозиториями (PPA)
Пакеты из сторонних источников могут блокировать обновление или вызывать ошибки. Отключите все PPA перед апгрейдом, удалите файлы репозиториев из /etc/apt/sources.list.d/:
sudo rm /etc/apt/sources.list.d/*.list
Или отключите их через графический интерфейс «Источники приложений».
Сохраните список активных PPA, чтобы восстановить их после обновления:
ls /etc/apt/sources.list.d/ > ppa_list.txt
Стабильное интернет-соединение
Процесс загрузки пакетов может занять время (особенно для полного апгрейда). Поэтому используйте проводное подключение или как минимум избегайте Wi-Fi с нестабильным сигналом. Если соединение прервётся, восстановите сессию заново.
Установка критических обновлений
Критические обновления — это исправления уязвимостей безопасности, которые закрывают дыры в системе. Для продакшн-серверов часто достаточно устанавливать только обновления безопасности, чтобы минимизировать риски сбоев, так как полное обновление Ubuntu или апгрейд версии могут быть рискованными. Рассказываем, как работать с такими обновлениями.
Ручная установка security-патчей
Пакетный менеджер apt позволяет фильтровать обновления по типу. Чтобы установить только критические обновления:
sudo apt update
apt list --upgradable | grep -i security
Установите нужные пакеты вручную или настройте автоматическое применение обновлений через unattended-upgrades.
Фильтр --security выбирает обновления из репозиториев с меткой security (официальные патчи от Canonical). Однако не помешает предварительно проверить список. Убедитесь, что обновления действительно относятся к безопасности:
apt list --upgradable | grep -i security
Пример вывода:
openssl/jammy-security 3.0.2-0ubuntu1.15 amd64 [upgradable from 3.0.2-0ubuntu1.12]
Автоматизация через unattended-upgrades
Для серверов удобно настроить автоматическую установку критических обновлений.
- Установите пакет:
sudo apt install unattended-upgrades
- Настройте автоматические обновления.
Запустите конфигурацию:
sudo dpkg-reconfigure unattended-upgrades
Выберите Yes в диалоговом окне.
- Уточните, какие обновления ставить. Отредактируйте файл:
/etc/apt/apt.conf.d/50unattended-upgrades
так:
sudo nano /etc/apt/apt.conf.d/50unattended-upgrades
Убедитесь, что секция security активирована:
Unattended-Upgrade::Allowed-Origins {
"${distro_id}:${distro_codename}-security";
# Закомментируйте остальные пакеты, если они не нужны:
# "${distro_id}:${distro_codename}-updates";
};
- Проверьте работу. Посмотрите логи:
tail -f /var/log/unattended-upgrades/unattended-upgrades.log
Запустите обновление вручную:
sudo unattended-upgrade --dry-run # Тестовый режим
sudo unattended-upgrade -v # Реальный запуск
Дополнительные настройки
Если обновление требует перезагрузки (например, обновляется ядро Linux), добавьте в конфиг 50unattended-upgrades:
Unattended-Upgrade::Automatic-Reboot "true";
Unattended-Upgrade::Automatic-Reboot-Time "04:00";
Система перезагрузится автоматически в указанное время.
Чтобы получать уведомления на почту, установите mailutils и настройте отправку отчётов:
Unattended-Upgrade::Mail "admin@example.com";
Unattended-Upgrade::MailOnlyOnError "true";
Что делать, если обновление безопасности сломало систему
Откат пакета. Найдите предыдущую версию в кеше APT и установите её:
apt list -a openssl # Список доступных версий
sudo apt install openssl=3.0.2-0ubuntu1.12
Временное отключение автоматических обновлений:
sudo systemctl stop unattended-upgrades
sudo systemctl disable unattended-upgrades
Чтобы избежать проблем после апгрейда:
- Тестируйте обновления на staging-сервере перед установкой на продакшн.
- Мониторьте логи /var/log/apt/history.log и /var/log/syslog после апдейтов.
- Для десктопов используйте графический инструмент Software Updater — он по умолчанию ставит security-патчи.
Обновление до новой версии Ubuntu
Переход на новую версию Ubuntu — ответственный шаг. В зависимости от ваших целей (LTS для стабильности или обычный релиз для новых функций) процесс может отличаться. Мы разберём оба варианта, но сначала обратите внимание на общие правила:
- Не прерывайте процесс обновления — это может повредить систему.
- Для серверов планируйте апгрейд в период минимальной нагрузки.
- Если сомневаетесь — протестируйте обновление на виртуальной машине.
Проверка доступности новой версии
Перед началом убедитесь, что новая версия поддерживается вашей текущей системой. Ubuntu LTS позволяет перейти на следующий релиз с долгосрочной поддержкой (LTS) только после выхода первой точки обновления (обычно через 3–4 месяца после релиза). В нашем случае (22.04 → 24.04) прошёл уже год, поэтому проблем быть не должно. Но на всякий случай проверьте, доступно ли обновление:
sudo do-release-upgrade -c # Проверка без запуска
Если вывод содержит New release '24.04' available, можно продолжать.
Обновление Ubuntu до следующего LTS (22.04 → 24.04)
- Запуск процесса:
sudo do-release-upgrade
Во время выполнения команды:
- система проверяет наличие новой версии,
- скачивает пакеты и зависимости (может занять от 30 минут до нескольких часов),
- заменяет конфиги, спрашивая подтверждение для изменённых файлов (например, /etc/ssh/sshd_config).
- Ответы на запросы
Варианты при конфликтах конфигов:
- Y — принять новую версию файла,
- N — сохранить текущую,
- D — показать различия (diff).
Для серверов выбирайте Y, только если уверены в изменениях, а в остальных случаях рекомендуется сохранять текущие файлы.
- Перезагрузка. После завершения система запросит перезагрузку:
sudo reboot
Обновление до не-LTS версии
Если вы хотите обновиться до Ubuntu 24.10 или 25.04, то процесс аналогичен, но с одной особенностью — обновление доступно только в течение 9 месяцев после выхода версии. Не-LTS релизы чаще содержит экспериментальные функции и требуют более частых обновлений.
Команда:
sudo do-release-upgrade
Если система не видит новую версию
Иногда do-release-upgrade не предлагает обновление, даже если оно доступно. Чтобы исправить ситуацию, измените настройки обновлений. Отредактируйте файл /etc/update-manager/release-upgrades:
Prompt=normal
Или:
Prompt=lts # Только LTS-апгрейды
Также может помочь принудительный запуск апгрейда. Для тестирования или раннего перехода используйте флаг -d (development):
sudo do-release-upgrade -d
GUI-метод (для десктопов)
Если вы используете Ubuntu Desktop, обновиться можно через Software Updater. Откройте Software Updater из меню приложений. При появлении сообщения «New Ubuntu release available» нажмите Upgrade и следуйте инструкциям в GUI-мастере.
После обновления: проверка и настройка
Обновление завершено, но на этом работа не заканчивается. Чтобы система работала стабильно, выполните несколько важных шагов.
Проверка версии ОС
Убедитесь, что переход на новую версию прошёл успешно:
lsb_release -a
Ожидаемый вывод для Ubuntu 24.04 LTS:
Distributor ID: Ubuntu
Description: Ubuntu 24.04 LTS
Release: 24.04
Очистка системы от старых пакетов
После обновления остаются неиспользуемые зависимости и старые ядра. Удалите их:
sudo apt autoremove --purge # Удалит ненужные пакеты
sudo apt clean # Очистит кеш загрузок
Восстановление сторонних репозиториев (PPA)
Если вы отключали PPA перед обновлением, то восстановите репозитории из сохранённого списка:
cat ppa_list.txt | xargs -I % sudo cp /backup/ppa/% /etc/apt/sources.list.d/
Обновите список пакетов:
sudo apt update
Убедитесь, что PPA поддерживают новую версию Ubuntu. Если нет — удалите их:
sudo add-apt-repository -r ppa:problematic/ppa
Обратите внимание
Флаг --remove устарел. Используйте -r вместо него.
Проверка сетевых настроек
Этот пункт особенно важен для серверов. Проверьте IP-адреса и интерфейсы:
ip a
Доступность Интернета:
ping -c 3 google.com
Убедитесь, что правила файрвола (UFW) не сбросились:
sudo ufw status numbered
Тестирование критических сервисов
Проверьте работу ключевых служб. Для веб-сервера (в примере — Nginx):
systemctl status nginx
curl -I http://127.0.0.1
Базы данных (MySQL):
sudo mysql -u root -p -e "SHOW DATABASES;"
Чтобы проверить SSH-доступ, подключитесь с другого устройства:
ssh user@ваш_сервер
Обновление конфигурационных файлов
Некоторые файлы могли быть заменены. Сравните старые и новые версии:
sudo diff /etc/nginx/nginx.conf /etc/nginx/nginx.conf.dpkg-old
Если вы выбрали сохранение старых конфигов, убедитесь, что они совместимы с новой версией ПО.
Для некоторых файлов (например, /etc/ssh/sshd_config) проверьте актуальность параметров (PermitRootLogin и других).
Дополнительные обновления
После перехода на новую версию установите последние пакеты с зависимостями:
sudo apt update && sudo apt full-upgrade -y
Резервная копия после успешного обновления
Создайте новый бекап, чтобы зафиксировать рабочее состояние:
sudo tar -czvf /backup/post_upgrade_$(date +%F).tar.gz /home /etc
Мониторинг системы
В первые дни после обновления следите за логами. Не игнорируйте ошибки — даже незначительные сообщения могут указывать на скрытые проблемы:
tail -f /var/log/syslog
Проверяйте нагрузку на ЦП и память:
htop
Также мониторьте ошибки в работе приложений.
Если что-то пошло не так
Даже при аккуратной подготовке обновление Ubuntu может преподнести неприятные сюрпризы. Разберём типичные проблемы.
Обновление прервалось из-за ошибки
Если процесс апдейта до новой версии остановился (например, отключилось электричество или разорвалось соединение), то восстановите работу через APT:
sudo apt --fix-broken install # Устранит «битые» зависимости
sudo dpkg --configure -a # Завершит прерванные операции
Повторите обновление:
sudo do-release-upgrade
Если ошибка повторяется — проверьте логи и ищите причину в них:
cat /var/log/dist-upgrade/main.log | grep -i error
Нехватка места на диске
Чтобы увеличить размер доступного пространства, сделайте следующее. Очистите кеш пакетов:
sudo apt clean
Удалите старые ядра:
sudo dpkg -l | grep '^ii' | grep linux-image
# Убедитесь, какие ядра можно удалить
sudo apt purge linux-image-старое-ядро
Удалите временные файлы:
sudo rm -rf /tmp/*
Конфликты пакетов
Если пакеты конфликтуют, вы увидите сообщения вроде Unable to correct problems, you have held broken packages. Найдите конфликтующие пакеты:
sudo apt install -f
Удалите проблемные зависимости:
sudo apt remove имя_пакета --purge
Обновите списки и повторите установку:
sudo apt update && sudo apt full-upgrade
Система не загружается после обновления
Есть два способа восстановить нормальную работу системы.
Первый — используйте предыдущее ядро. При запуске удерживайте Shift (BIOS) или Esc (UEFI), чтобы открыть меню GRUB. Выберите старую версию ядра (например, Ubuntu, with Linux 5.15.0-105-generic). После загрузки установите актуальное ядро:
sudo apt install --reinstall linux-image-generic
И второй — восстановление через Live USB. Загрузитесь с Ubuntu Live USB. Смонтируйте системный раздел:
lsblk # Посмотрите, какой раздел содержит вашу систему (обычно смонтирован в /)
sudo mount /dev/sdXn /mnt # Замените sdXn на нужный раздел, например, sda2
Исправьте пакеты через chroot:
sudo chroot /mnt
apt --fix-broken install
exit
Сетевые службы перестали работать
Если после обновления не запускается Nginx, MySQL или другие сервисы, проверьте статус службы:
systemctl status служба
Изучите логи:
journalctl -u nginx -b --no-pager
Частой причиной бывают устаревшие конфиги. Сравните их с файлами .dpkg-dist:
sudo diff /etc/nginx/nginx.conf /etc/nginx/nginx.conf.dpkg-dist
Проблемы с графическим интерфейсом (для десктопов)
Если после входа в систему появляется чёрный экран, исчезают иконки или панель задач, то переустановите графическую оболочку:
sudo apt install --reinstall ubuntu-desktop
Или сбросьте настройки GNOME:
dconf reset -f /
Пропали PPA или сторонние приложения
После обновления некоторые репозитории могут стать несовместимыми. Поэтому сначала удалите нерабочие PPA:
sudo add-apt-repository -r ppa:problematic/ppa
Затем найдите альтернативные репозитории для новой версии Ubuntu. Для части приложений (Docker, Node.js) используйте официальные источники:
curl -fsSL https://get.docker.com | sudo sh # Пример для Docker
Обратите внимание
Это способ от разработчиков Docker. Его использование стоит согласовать с политикой безопасности организации.
Ошибки с Secure Boot
Если система требует ключ для подписи драйверов, то временно отключите Secure Boot в BIOS/UEFI либо установите подписанные драйверы:
sudo apt install shim-signed
Заключение
Теперь вы знаете, как установить обновления Ubuntu 22.04, в том числе только критические, и как обновить систему до новой версии (24.04 или не-LTS). Не забывайте о простых, но важных шагах: создавайте резервные копии перед любыми изменениями, тестируйте обновления в изолированной среде и следите за логами после их применения.
Читайте в блоге:
- Как включить и настроить брандмауэр UFW в Ubuntu 22.04
- Как назначить статический IP-адрес в Ubuntu 22.04
- Установка и настройка Apache на Ubuntu 22.04 LTS и Debian 12