Прийшов час оновлювати операційну систему Ubuntu Server на моєму VPS. Кожна ssh авторизація нагадує про це вітанням — «New release '20.04.5 LTS' available». Задача доволі тривіальна, тож нема чого відкладати на потім. Оскільки сервер некомерційний, обійдемося без попередніх тестувань, мінімальний downtime не зашкодить. Пересвідчуємося в наявність актуальних бекапів, обираємо найменш активний час (година третя ночі) і розпочинаємо.
$ sudo su
$ do-release-upgrade
І відповідь: Please install all available updates for your release before upgrading.
Очевидно, що система вимагає попередньо встановити усі необхідні оновлення для поточного релізу. Ок, робимо оновлення усіх пакунків:
$ apt-get updates
$ apt-get upgrades
Але цього також недостатньо, потрібно виконати ще одну чарівну команду:
$ apt dist-upgrade
І лише тепер команду $ do-release-upgrade
буде виконано. Відбудеться стандартний аналіз системи та попередження про можливо тривалий час оновлення. Даємо згоду, усвідомлюючи безповоротність дій!
В процесі оновлення система буде робити різноманітні запити про налаштування окремих утиліт та сервісів і збереження чи перезапис поточних конфігурацій. Якщо не впевнені, обирайте дію за замовчуванням. Після перезавантаження всі сервіси/демони мають піднятись автоматично, а сайти стануть доступними. Якщо ж сервер працює (є ping, доступ по ssh), але сайти лежать, імовірніше за все відбувся конфлікт між Apache2 та Nginx. Чому це трапилось, і як виправити — читайте далі.