К основному содержимому

Обновление Ubuntu Server: apt upgrade и do-release-upgrade

VDS / VPS · 19.04.2026 · 4 мин чтения
Иллюстрация к статье «Обновление Ubuntu Server: apt upgrade и do-release-upgrade»

Регулярное обновление сервера закрывает уязвимости, добавляет новые функции и обеспечивает совместимость с актуальным софтом. Ubuntu Server имеет два уровня обновлений: пакеты (minor) и версия ОС (major) — и путать их порядок нельзя, иначе можно получить систему с несовместимыми зависимостями.

Обновление пакетов (ежедневная задача)

# Обновить список пакетов
sudo apt update

# Посмотреть доступные обновления
apt list --upgradable

# Обновить все пакеты
sudo apt upgrade -y

# Обновить с разрешением смены зависимостей (рекомендуется)
sudo apt full-upgrade -y

# Убрать ненужные пакеты
sudo apt autoremove -y
sudo apt autoclean

Разница: upgrade vs full-upgrade vs dist-upgrade

КомандаПоведениеКогда использовать
apt upgradeОбновляет без изменения зависимостейБезопасное обновление
apt full-upgradeМожет удалять/добавлять пакетыРекомендуется для серверов
apt dist-upgradeУстаревший алиас full-upgradeНе рекомендуется, используйте full-upgrade

Разбор типичных ошибок при apt upgrade

  • E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it? — параллельно уже запущен другой apt/dpkg или недавно был силовой обрыв обновления; подождите завершения процесса или удалите зависший lock-файл только после проверки, что процесс действительно мёртв.
  • dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' — предыдущее обновление прервалось на середине; команда из сообщения дозавершает настройку пакетов и обычно чинит проблему.
  • Some packages could not be installed... held back — пакет требует установки новой зависимости, которую apt upgrade не ставит по умолчанию; решается через apt full-upgrade.
  • The following signatures couldn't be verified because the public key is not available — устарел или отсутствует GPG-ключ репозитория; нужно переустановить ключ, а не отключать проверку подписи.

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

Обновление пакетов — только часть общей защиты сервера; базовые шаги сразу после покупки VPS собраны в статье первые шаги после покупки VDS, а про отдельное обновление ядра — в статье обновление ядра Linux.

# Установить unattended-upgrades
sudo apt install unattended-upgrades -y

# Настройка
sudo dpkg-reconfigure unattended-upgrades

# Конфигурация: /etc/apt/apt.conf.d/50unattended-upgrades
# Разрешить только security-обновления (безопасно для продакшна)

Обновление версии Ubuntu (Major Upgrade)

# Установить update-manager-core
sudo apt install update-manager-core -y

# Проверить доступные версии
do-release-upgrade -c

# Запустить обновление (рекомендуется через screen/tmux!)
sudo screen -S upgrade
sudo do-release-upgrade

# Если сессия прервётся -- переподключиться:
sudo screen -r upgrade

КРИТИЧНО перед major upgrade: сделайте снапшот или бэкап VPS, запускайте только через screen или tmux — обрыв SSH убьёт процесс обновления на полпути, проверьте совместимость приложений с новой версией и выполняйте апгрейд последовательно (20.04 → 22.04 → 24.04), пропускать промежуточные релизы нельзя.

Сравнение способов обновления

СпособЧто обновляетРиск простояОткат
apt full-upgradeПакеты в рамках текущей версииНизкийОбычно не нужен
unattended-upgradesТолько security-патчи автоматическиОчень низкийНе нужен
do-release-upgradeВся версия ОС целикомВысокийТолько из снапшота

Поддерживаемые версии Ubuntu LTS

ВерсияПоддержка доСтатус
Ubuntu 20.04 LTS (Focal)Апрель 2025Заканчивается
Ubuntu 22.04 LTS (Jammy)Апрель 2027Текущая
Ubuntu 24.04 LTS (Noble)Апрель 2029Актуальная

Рекомендация: используйте только LTS-версии на продакшн-серверах. Регулярные релизы (23.10, 24.10) поддерживаются только 9 месяцев — слишком короткий срок для сервера, который не хочется трогать каждый квартал.

Когда major upgrade делать не стоит

  • На сервере крутится продакшн-приложение с жёсткой зависимостью от старой версии PHP или Python, которую новая LTS уже не поставляет из основного репозитория — сначала мигрируйте приложение, потом обновляйте систему.
  • Нет свежего протестированного бэкапа — обновление версии ОС необратимо без снапшота; откатить пакеты назад после major upgrade практически невозможно.
  • Сервер обслуживает критичный сервис без окна обслуживания — major upgrade требует времени простоя и перезагрузки, планируйте его на заранее объявленное окно, а не «между делом».

Как проверить, что обновление прошло успешно

# Версия системы после апгрейда
lsb_release -a

# Ядро загрузилось новое (после перезагрузки)
uname -r

# Есть ли пакеты, оставшиеся в сломанном состоянии
sudo apt --fix-broken install
sudo dpkg -l | grep -E '^.[^i]'

# Ключевые сервисы поднялись и не падают
systemctl --failed

Если lsb_release показывает ожидаемую версию, systemctl --failed возвращает пустой список, а команда dpkg -l не находит пакетов в статусе, отличном от установленного, — обновление прошло без критичных проблем.

Статья помогла?
← Назад в базу знаний Задать вопрос поддержке