# Поддержка dist-upgrade

Начиная с Plesk 12.5, стало возможным обновлять операционную систему на сервере Plesk. В Plesk поддерживаются следующие варианты обновлений с помощью команды dist-upgrade:

- С Debian 6 на Debian 7
- С Debian 7 на Debian 8
- С Ubuntu 12.04 на Ubuntu 14.04
- C Ubuntu 14.04 на Ubuntu 16.04 (поддерживается только в Plesk Onyx)

Примечание

Примечание. В настоящее время Ubuntu не поддерживает dist-upgrade с Ubuntu 16.04 на Ubuntu 18.04, и, соответственно, Plesk также не предоставляет такой поддержки.

Процесс dist-upgrade не так прост. Чтобы его провести, вам потребуется значительный опыт в системном администрировании, знание системы и ее компонентов.

Если вы до этого ни разу не проводили dist-upgrade, рекомендум вам выполнить следующие действия:

1. Установите предыдущую версию ОС на тестовом сервере или на виртуальной машине. Обновите ее, используя инструкции из документации поставщика ОС:

   - С Debian 6 на Debian 7

   - С Debian 7 на Debian 8

     Примечание

     Согласно документации по обновлению Debian с помощью dist-upgrade, во время обновления с Debian 7 на Debian 8 не рекомендуется использовать `aptitude`. Для обновления с помощью dist-upgrade на Ubuntu лучше используйте инструмент `do-release-upgrade`.

   - С Ubuntu 12 на Ubuntu 14 – повторите этот процесс на тестовом сервере, но с установленным Plesk 12.5, с помощью документации по ОС и инструкций из этой статьи.

2. Выполните все необходимые действия по решению потенциальных проблем и удостоверьтесь в том, что Plesk работает после обновления. И только после этого запустите обновление на рабочем сервере.

С Ubuntu 14 на Ubuntu 16 (Ubuntu 16 не поддерживается Plesk 12.5)

Во время обновления с Ubuntu 14 на Ubuntu 16 системный PHP версии 5.x от производителя ОС будет обновлен до PHP 7.x. Таким образом, чтобы предотвратить проблемы, связанные с совместимостью PHP, настоятельно рекомендуем вам перед обновлением переключить все сайты, использующие обработчик PHP версии 5.x от производителя ОС, на использование персональных обработчиков PHP. Пожалуйста, смотрите подробную информацию в этих статьях: KB #213382129, KB #213933525.

Примечание

Примечание. Большая часть APS-приложений не будет работать с PHP 7.x.

## Выполнение dist-upgrade с Ubuntu 14 на Ubuntu 16

Чтобы выполнить dist-upgrade с Ubuntu 14 на Ubuntu 16:

1. Запустите следующий скрипт и следуйте указаниям помощника:

       # /opt/psa/bin/distupgrade.helper.ubt14-ubt16.x64.sh

   Этот скрипт записывает все свои действия в журнал `/var/log/plesk/install/plesk-distupgrade.log`.

2. Во время выполнения скрипта вам будет предложено перезагрузить сервер. Перезагрузка сервера.

3. После перезагрузки сервера запустите скрипт еще раз.

## Выполнение dist-upgrade с Debian 6,7 и Ubuntu 12

Подготовка сервера к обновлению:

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

2. Удалите резервные копии, которые могли остаться после предыдущего выполнения dist-upgrade, из списка источников:

       /etc/apt/sources.list.saved_by_plesk_distupgrade
       /etc/apt/sources.list.d/50sw_autoinstaller.list.saved_by_plesk_distupgrade

3. Запустите скрипт-помощник, используемый перед обновлением (в этом случае будет выполнен dist-upgrade с Debian 7 на Debian 8) и подготовьте Plesk и систему к обновлению:

       # /opt/psa/bin/distupgrade.helper.deb7-deb8_pre.x64.sh

   Этот скрипт записывает все свои действия в журнал `/var/log/plesk/install/plesk-distupgrade.log`.

4. Отключите переключение на `systemd` во время обновления ОС. Создайте файл `/etc/apt/preferences.d/local-pin-init` со следующим содержимым:

    # cat /etc/apt/preferences.d/local-pin-init
    Package: systemd-sysv
    Pin: release o=Debian
    Pin-Priority: -1

Выполнение dist-upgrade

1. Обновите информацию о системных пакетах:

       # apt-get update

2. Обновите систему:

   - На Debian:

         # apt-get dist-upgrade

   - На Ubuntu:

         # do-release-upgrade

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

   В ходе обновления система может выдавать сообщения наподобие этого:

    Configuration file `/etc/mysql/my.cnf'
     ==> 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.
    *** my.cnf (Y/I/N/O/D/Z) [default=N] ?

Выберите замену конфигурационных файлов новым файлом (ответ Y).

Завершение обновления

1. Запустите скрипт-помощник после обновления:

       # /opt/psa/bin/distupgrade.helper.deb7-deb8_post.x64.sh

   Этот скрипт записывает все свои действия в журнал `/var/log/plesk/install/plesk-distupgrade.log`.

2. Удалите файл `/etc/apt/preferences.d/local-pin-init` и установите пакет `systemd-sysv`:

       # rm -f /etc/apt/preferences.d/local-pin-init
       # apt-get install systemd-sysv

3. Перезагрузите сервер.

4. Проверьте, что Plesk и все его службы работают.