Ubuntu 升级,Perl 版本破坏了 ZImbra

Ubuntu 升级,Perl 版本破坏了 ZImbra

这里有点陷入困境,因为我昨晚听说了 bash 错误,所以我决定升级我的所有服务器,不仅是软件包,而且是完整的操作系统,它在我的所有服务器上都运行良好,除了我的邮件服务器,它运行的是 Ubuntu 12.04,我升级到 14.04。

一切似乎运行正常,但是当我尝试运行 Zimbra 服务时,出现以下信息:

Perl API version v5.14.0 of Socket does not match v5.18.0 at
/usr/share/perl/5.18/XSLoader.pm line 92. Compilation failed in
require at /usr/lib/perl/5.18/Sys/Syslog.pm line 10. BEGIN
failed--compilation aborted at /usr/lib/perl/5.18/Sys/Syslog.pm line
10. Compilation failed in require at /opt/zimbra/zimbramon/lib/Zimbra/Mon/Logger.pm line 21. BEGIN
failed--compilation aborted at
/opt/zimbra/zimbramon/lib/Zimbra/Mon/Logger.pm line 21. Compilation
failed in require at /opt/zimbra/bin/zmcontrol line 27. BEGIN
failed--compilation aborted at /opt/zimbra/bin/zmcontrol line 27.

我猜测是我的 Perl 版本有问题,所以我下载了 perlbrew,但是当我尝试将版本从 5.18.0 更改为 5.14.0 时,出现以下问题:

Perl API version v5.14.0 of List::Util does not match v5.18.0 at
/usr/share/perl/5.18/XSLoader.pm line 92. Compilation failed in
require at /usr/local/share/perl/5.18.2/App/perlbrew.pm line 22. BEGIN
failed--compilation aborted at
/usr/local/share/perl/5.18.2/App/perlbrew.pm line 22. Compilation
failed in require at /usr/local/bin/perlbrew line 6. BEGIN
failed--compilation aborted at /usr/local/bin/perlbrew line 6.

看不到我的 Zimbra 版本,因为从 zmcontrol -v 我得到以下信息:

Perl API version v5.14.0 of Socket does not match v5.18.0 at
/usr/share/perl/5.18/XSLoader.pm line 92. Compilation failed in
require at /usr/lib/perl/5.18/Sys/Syslog.pm line 10. BEGIN
failed--compilation aborted at /usr/lib/perl/5.18/Sys/Syslog.pm line
10. Compilation failed in require at /opt/zimbra/zimbramon/lib/Zimbra/Mon/Logger.pm line 21. BEGIN
failed--compilation aborted at
/opt/zimbra/zimbramon/lib/Zimbra/Mon/Logger.pm line 21. Compilation
failed in require at /opt/zimbra/bin/zmcontrol line 27. BEGIN
failed--compilation aborted at /opt/zimbra/bin/zmcontrol line 27

这对我来说是一个很大的困境,任何帮助都将不胜感激。

答案1

我犯了和你一样的错误。

Zimbra 软件包附带了许多二进制 Perl 模块,这些模块是针对安装包支持的 Ubuntu 版本中预期可以找到的 Perl 版本进行编译的。

换句话说,Ubuntu 12.04 的 Zimbra 安装包将附带针对 Ubuntu 12.04 附带的 Perl 版本编译的 Perl 模块。Ubuntu 14.04 的
Zimbra 安装包将附带相同的 Perl 模块,但针对 Ubuntu 14.04 附带的 Perl 版本编译的 Perl 模块。

换句话说,由于您无法撤销 Ubuntu 升级,您现在必须从专为 Ubuntu 14.04 构建的 Zimbra 安装包升级您的 Zimbra 版本。

目前,Zimbra 的最后一个版本 8.5.x 分支率先支持 Ubuntu 14.04。

在升级 Zimbra 时,不要接受消息存储数据库完整性检查,因为它是使用当前安装的 Zimbra 版本的脚本完成的,由于 Perl 引擎现在升级到不同的版本,该脚本将无法运行。

答案2

正确的步骤是:

仅使用软件选项运行安装程序:

./install.sh -s

不要运行数据库检查完整性

完成后,请以常规方式运行安装程序:

./install.sh

答案3

根据 Zimbra 的 @Jorge 在 IRC 上的报告,首次运行

./install -s

然后正常运行安装程序,升级应该顺利进行。

相关内容