web-dev-qa-db-ja.com

Ubuntuのアップグレード、PerlバージョンがZImbraを破壊

昨夜、bashのバグについて聞いたので、パッケージだけでなくOS全体をサーバーからすべてアップグレードすることに決めたので、実行中のメールサーバーを除くすべてのサーバーで正常に機能しました。 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.

Zmbraのバージョンが表示されない、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

私にとっては非常に大きな束縛であり、どんな助けも大歓迎です。

4
juhenriquez

私はあなたと同じ間違いをしました。

Zimbraパッケージには、インストールパッケージでサポートされているUbuntuバージョンで見つかると予想されるPerlバージョンに対してコンパイルされた多くのバイナリPerlモジュールが付属しています。

つまり、Ubuntu 12.04のZimbraインストールパッケージには、Ubuntu 12.04で提供されるPerlバージョン用にコンパイルされたPerlモジュールが付属しています。
Ubuntu 14.04のZimbraインストールパッケージには、同じPerlモジュールが付属していますが、Ubuntu 14.04で提供されるPerlバージョン用にコンパイルされています。

つまり、Ubuntuのアップグレードを元に戻せないため、Ubuntu 14.04用に特別にビルドされたZimbraインストールパッケージからZimbraのバージョンをアップグレードする必要があります。

現在、Zimbraの最後のバージョンである8.5.xブランチは、Ubuntu 14.04をサポートする最初のバージョンです。

Zimbraのアップグレードを行うとき、現在インストールされているZimbraバージョンのスクリプトを使用して行われるため、メッセージストアデータベースの整合性チェックを受け入れないでください。Perlエンジンがアップグレードされているため実行されないスクリプト別のバージョン。

2
Benoit

正しい手順は次のとおりです。

ソフトウェアオプションのみでインストーラーを実行します。

./install.sh -s

データベースの整合性チェックを実行しない

終了したら、インストーラーを通常の方法で実行してください。

./install.sh
2

IRCでZimbraの@Jorgeが報告したように、最初の実行

./install -s

そして、インストーラーを正常に実行すると、アップグレードは正常に実行されるはずです。

0
Maxxer