Ubuntu 24.04 -> 26.04¶
Ниже приведен практический сценарий обновления сервера с Ubuntu 24.04 до Ubuntu 26.04 поверх установленного окружения EnDeBx.
Перед началом
Рекомендуется дождаться выхода 26.04.1
PHP missing
PPA for PHP пока что не имеет пакетов для resolute
Percona MySQL
Если у вас используется Percona MySQL, для Ubuntu 26.04 пока что нет пакетов в репозитории
Подготовка¶
- изучите Ubuntu 26.04 LTS summary
- изучите инструкцию по обновлению
- сначала проверьте upgrade на тестовой копии;
- используйте терминальный мультиплексор на случай потери ssh-соединения (screen/tmux/byobu/zellij);
- обновите меню;
- обновите пакеты текущего релиза.
- если у вас подключены дополнительные внешние репозитории, заранее убедитесь, что у них есть пакеты под новый релиз.
- если у вас установлен rabbitmq, то следуйте инструкции по ссылке или просто удалите
File Conversion Server (transformer)через меню, после обновления его можно установить обратно
Первый этап обновления¶
Во время процесса полезно читать changelog и вопросы maintainer scripts, а не подтверждать их автоматически.
Правка Nginx-конфигов под новый синтаксис HTTP/2¶
find /etc/nginx/bx/site_avaliable/ -type f -print0 |
xargs -0 perl -0777 -i -pe '
s/^\s*http2 on;\s*\n//mg;
s/(\blisten[^\n]*443[^\n]*ssl[^\n]*)\s+http2\b/\1/mg;
s/((?:^[^\n]*listen[^\n]*443[^\n]*ssl[^\n]*\n)+)(?!.*^[^\n]*listen[^\n]*443[^\n]*ssl\b)/$1 http2 on;\n/ms;
'
Второй этап обновления¶
Перезагружаем сервер
Дополнительные действия после upgrade¶
Переключение сторонних репозиториев¶
Включаем обратно sury ppa¶
mv /etc/apt/sources.list.d/ppa_launchpad_net_ondrej_php_ubuntu.list.disabled /etc/apt/sources.list.d/ppa_launchpad_net_ondrej_php_ubuntu.list
Включаем остальные репозитории:¶
Установка удалённого при обновлении¶
Чистим остатки¶
Пока не обновился ppa php этот шаг можно пропустить
Переустановить Ansible под новый Python¶
export BS_ANSIBLE_REQUIRED_VERSION=$(grep '^BS_ANSIBLE_REQUIRED_VERSION=' /root/vm_menu/bash_scripts/config.sh | awk -F'"' '{print $2}')
pipx reinstall-all
Если pipx reinstall-all не сработал, можно установить ansible заново вручную:
rm -f ~/.local/bin/ansible* && rm -rf ~/.local/pipx/
pipx install --include-deps "ansible==$BS_ANSIBLE_REQUIRED_VERSION"
pipx inject ansible jmespath passlib python-debian
Почистить устаревшие MySQL-параметры¶
Просто перегенерируйте конфиг через меню
При необходимости сменить collation¶
sed -i 's/utf8mb4_unicode_ci/utf8mb4_0900_ai_ci/g' /etc/mysql/mariadb.conf.d/x_server.cnf
sed -i 's/utf8mb4_unicode_ci/utf8mb4_0900_ai_ci/g' /root/.env.menu
После правок:
При необходимости сконвертировать БД после смены collation¶
Если вы меняли collation, можно дополнительно сконвертировать базы через скрипт busconvert. Делать это нужно отдельно для каждого ядра.
Инструкция:
Не забудьте скорректировать в самом скрипте требуемые значения:
После завершения¶
После upgrade проверьте:
- запуск сайтов;
- работу PHP-FPM;
- MySQL/PostgreSQL;
- выпуск SSL и редиректы;
- запуск меню и
ansible-playbook.