Linux

/
/
Обновление Ubuntu 20.04 до Ubuntu 22.04 с установленной ispmanager 6

Обновление Ubuntu 20.04 до Ubuntu 22.04 с установленной ispmanager 6

Обратите внимание!

Данные инструкции представляют собой экспериментальный метод перехода с устаревшей Ubuntu 20.04 к поддерживаемой Ubuntu 22.04 без миграции данных из ispmanager 6 на новый сервер.

Панель ispmanager 6 официально не поддерживает ни одно обновление мажорной версии ОС!

Подготовка

Первым шагом необходимо сделать резервные копии всех данных на сервере, а также крайне рекомендуется сделать копию или снапшот всего сервера.

Для корректного обновления мажорной версии, требуется последняя доступная минорная версия ОС, а также последние доступные версии ПО. Для этого выполните команду:

apt update && apt upgrade -y

После успешного обновления перезагрузите сервер и удалите лишние пакеты:

apt autoremove

При использовании apt autoremove, внимательно ознакомьтесь с тем, какие пакеты будут удалены. Никогда не используйте ключ -y с этой командой!

Следующим шагом закомментируйте строку с директивой IdentLookups в файле по пути /etc/proftpd/proftpd.conf:

# If set on you can experience a longer connection delay in many cases.
# IdentLookups			off

Теперь замените релиз в файлах репозиториев, чтобы система имела доступ к пакетам Ubuntu 22.04:

sed -i "s/focal/jammy/g" /etc/apt/sources.list && sed -i "s/focal/jammy/g" /etc/apt/sources.list.d/*

Убедитесь, что репозитории доступны и система сообщает о доступной новой версии Ubuntu 22.04:

do-release-upgrade -c

Обновление

После подготовки, система готова к обновлению. Запустите его с помощью команды:

do-release-upgrade

На все запросы продолжения установки "Continue [yN]" и "To continue please press [ENTER]" отвечайте положительно.

Скрипт запросит разрешение на автоматический перезапуск служб на время обновления - выбирайте ответ Yes.

Во время обновления будут возникать запросы на действия над файлами конфигурации - на них отвечайте отрицательно. Например:

Configuration file '/etc/exim4/exim4.conf.template'
 ==> Modified (by you or by a script) since installation.
 ==> Package distributor has shipped an updated version.
   What would you like to do about it ?  Your options are:
    Y or I  : install the package maintainer's version
    N or O  : keep your currently-installed version
      D     : show the differences between the versions
      Z     : start a shell to examine the situation
 The default action is to keep your current version.
*** exim4.conf.template (Y/I/N/O/D/Z) [default=N] ? N

Также запросы могут возникать в отдельном "окне" терминала - на такие запросы стоит выбирать пункт Keep the local version currently installed.

Когда установщик запросит обновление конфигурации базы данных phpMyAdmin в отдельном "окне", выберите ответ No.

После обновления системы, установщик запросит перезагрузку, на которую нужно согласиться:

System upgrade is complete.

Restart required 

To finish the upgrade, a restart is required. 
If you select 'y' the system will be restarted. 

Continue [yN] y

После обновления

Проверьте текущую версию ОС с помощью команды:

lsb_release -a

Вывод должен быть следующим:

Distributor ID: Ubuntu
Description:    Ubuntu 22.04.5 LTS
Release:        22.04
Codename:       jammy

Удаляем лишние пакеты:

apt autoremove

При использовании apt autoremove, внимательно ознакомьтесь с тем, какие пакеты будут удалены. Никогда не используйте ключ -y с этой командой!

Замените файлы с отключенными репозиториями по пути /etc/apt/sources.list.d/:

cd /etc/apt/sources.list.d/
mv exosoft.list.distUpgrade exosoft.list
mv ispmanager-repo-nginx.list.distUpgrade ispmanager-repo-nginx.list
mv ispmanager-repo-roundcube.list.distUpgrade ispmanager-repo-roundcube.list
mv ispsystem-base.list.distUpgrade ispsystem-base.list
mv ispsystem.list.distUpgrade ispsystem.list

Выполните обновление всех пакетов:

apt update && apt upgrade -y

После обновления пакетов, перезагрузите сервер.

Известные проблемы

Не загружается панель

Если после выполнения всех инструкций веб-интерфейс панели не загружается вовсе, мог возникнуть конфликт пакетов libssl. Проверьте наличие разных пакетов libssl:

dpkg -l | grep libssl

Чтобы устранить конфликт, удалите устаревший файл libssl:

rm /lib/x86_64-linux-gnu/libssl.so.1.1

После чего переустановите пакеты панели:

apt install --reinstall $(dpkg -l | grep -E "coremanager|ispmanager" | awk '{print $2}' )

Во время установки отказывайтесь от всех запросов системы по сбросу конфигурационных файлов.

Недоступен раздел Сайты

Раздел Сайты может быть недоступен, из-за попытки Apache подключить модуль libphp7.4.so для нативной PHP 7.4, что использовалась в Ubuntu 20.04.

Чтобы исправить эту ошибку, закомментируйте в файле по пути /etc/apache2/mods-enabled/php7.4.load строку с директивой LoadModule. После внесения изменений, содержимое файла должно выглядеть так:

# Conflicts: php5
# Depends: mpm_prefork
# LoadModule php7_module /usr/lib/apache2/modules/libphp7.4.so

Перезагрузите веб-сервер и панель:

service apache2 restart
/usr/local/mgr5/sbin/mgrctl -m ispmgr -R