Обновление Debian 11 до Debian 12 с установленной ispmanager 6
Данные инструкции представляют собой экспериментальный метод перехода с устаревшей Debian 11 к поддерживаемой Debian 12 без миграции данных из ispmanager 6 на новый сервер.
Панель ispmanager 6 официально не поддерживает ни одно обновление мажорной версии ОС!
Подготовка
Первым шагом необходимо сделать резервные копии всех данных на сервере в панели, а также крайне рекомендуется сделать копию или снапшот всего сервера.
Для корректного обновления мажорной версии, требуется последняя доступная минорная версия ОС, а также последние доступные версии ПО. Для этого выполните команду:
apt update && apt upgrade -y && apt dist-upgrade
После успешного обновления перезагрузите сервер и удалите лишние пакеты:
apt autoremove
При использовании apt autoremove, внимательно ознакомьтесь с тем, какие пакеты будут удалены.
Если в списке есть пакеты важного для вас ПО, которое не получилось автоматически обновить, прервите выполнение команды до процесса согласия и удалите пакеты только лишнего ПО вручную.
Никогда не используйте ключ -y с этой командой!
Теперь замените релиз в файлах репозиториев, чтобы система имела доступ к пакетам Debian 12:
sed -i "s/bullseye/bookworm/g" /etc/apt/sources.list && sed -i "s/bullseye/bookworm/g" /etc/apt/sources.list.d/*
Обновите информацию о пакетах в новых репозиториях:
apt update
Если GPG-ключ не совпадает, то при обновлении информации о репозиториях будут возникать ошибки:
W: GPG error: http://download.ispmanager.com/repo/debian 6-stable6-bookworm InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 9A312E132B8F88E7
E: The repository 'http://download.ispmanager.com/repo/debian 6-stable6-bookworm InRelease' is not signed.
Чтобы исправить это, выполните следующие команды:
curl -fL https://download.ispmanager.com/repo/ispmanager.gpg -o /root/newkey.key
gpg --show-keys --with-fingerprint /root/newkey.key
cp /root/newkey.key /etc/apt/trusted.gpg.d/ispmanager.gpg
cp -a /etc/apt/trusted.gpg.d/ispmanager.gpg etc/apt/trusted.gpg.d/ispmanager.gpg.old
После снова обновите информацию о репозиториях:
apt update
Проверьте информацию о количестве пакетов, которые будут обновлены и установлены, а также сколько места потребуется для их установки:
apt -o APT::Get::Trivial-Only=true full-upgrade
Освободить место от лишних пакетов можно с помощью команд:
apt autoremove
apt clean
Предварительное обновление
Запустите обновление существующих пакетов:
apt upgrade --without-new-pkgs
На вопрос об установке пакетов ответьте положительно:
Do you want to continue? [Y/n] Y
Во время процесса обновления появится информация об изменениях (apt-listchanges) - выйти из режима чтения, для продолжения процесса обновления, можно с помощью клавиши Q.
Скрипт запросит разрешение на автоматический перезапуск служб на время обновления - выбирайте ответ Yes.

Также появится запрос на изменение файлов конфигурации Exim - на него ответьте отрицательно:
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
Обновление
Если предварительное обновление прошло успешно, выполните полное обновление мажорной версии:
apt full-upgrade
На вопрос об установке пакетов ответьте положительно:
Do you want to continue? [Y/n] Y
Во время процесса обновления появится информация об изменениях (apt-listchanges) - выйти из режима чтения, для продолжения процесса обновления, можно с помощью клавиши Q.
Если скрипт запросит разрешение на автоматический перезапуск служб на время обновления - выбирайте ответ Yes.

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

Далее установщик предложит выбрать веб-сервер для работы phpMyAdmin - выберите apache2.

Во время обновления будут возникать запросы на действия над файлами конфигурации - на них отвечайте отрицательно. Например:
Configuration file '/usr/local/mgr5/etc/conf.d/php.conf'
==> 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.
*** php.conf (Y/I/N/O/D/Z) [default=N] ? N
Также запросы могут возникать в отдельном "окне" терминала - на такие запросы стоит выбирать пункт Keep the local version currently installed.

После завершения обновления, перезагрузите сервер:
reboot
После обновления
После перезагрузки сервера, разблокируйте панель:
/usr/local/mgr5/sbin/mgrctl -m core -u
Проверьте текущую версию ОС с помощью команды:
lsb_release -a
Вывод должен быть следующим:
Distributor ID: Debian
Description: Debian GNU/Linux 12 (bookworm)
Release: 12
Codename: bookworm
Удалите лишние пакеты:
apt autoremove
При использовании apt autoremove, внимательно ознакомьтесь с тем, какие пакеты будут удалены.
Если в списке есть пакеты важного для вас ПО, которое не получилось автоматически обновить, прервите выполнение команды до процесса согласия и удалите пакеты только лишнего ПО вручную.
Никогда не используйте ключ -y с этой командой!