可以在 Plesk 服务器上升级操作系统。支持以下 dist-upgrade 升级路径:

  • Debian 6 到 Debian 7
  • Debian 7 到 Debian 8

注解: Plesk 目前不支持使用 dist-upgrade 命令从 Ubuntu 16.04 升级到 Ubuntu 18.04。

Dist-upgrade 不是一个简单的过程。要实现必须要有丰富的系统管理经验以及对系统和其组件充分的了解。

如果您之前从未执行过 dist-upgrade,建议您首先执行下面的步骤:

  1. 在测试服务器或虚拟机内安装升级前的操作系统版本。按照操作系统供应商提供的文档说明升级该系统:

  2. 请解决所有潜在的问题,确保在升级后 Plesk 仍能正常运行。只有这样然后再于生产性服务器上运行升级。

执行从 Debian 6 和 7 的 dist-upgrade

为升级进行服务器准备:

  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. 运行升级前助手脚本(本案例中是从 Debian 7 到 Debian 8 的 dist-upgrade )并为升级进行 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. 升级系统:

    apt-get dist-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 和其所有的服务是否正常运行。