dist-upgrade の潜在的な問題

Created:

2016-11-16 12:49:37 UTC

Modified:

2017-08-16 17:19:45 UTC

7

Was this article helpful?


Have more questions?

リクエストを送信

dist-upgrade の潜在的な問題

Applicable to:

  • Plesk 12.5 for Linux
  • Plesk 12.0 for Linux

dist-upgrade は単純なプロセスではありません。使用するためには、システム管理についての十分な経験や、システムとそのコンポーネントに関する知識が必要になります。本記事は、dist-upgrade の使用中や使用後に発生するいくつかの問題の解決策をご紹介します。

dist-upgrade 手順を開始する前に、OS ベンダーが提供するマニュアルの指示を必ずお読みください。

Debian 6 から Debian 7 へ
Debian 7 から Debian 8 へ
Ubuntu 12 から Ubuntu 14 へ

潜在的な問題を回避するには、KB 記事 #213410369 に記述された手順に従ってください。

目次

dist-upgrade 中に発生する一般的なエラー

  • Plymouth パッケージの依存関係が満たされていない

    dist-upgrade が以下のエラーで失敗します。

        # apt-get dist-upgrade 
    Reading package lists...
    Done Building dependency tree
    Reading state information...
    Done Calculating upgrade... Failed
    The following packages have unmet dependencies:
    udev : Breaks: plymouth (< 0.9.0-7) but 0.8.5.1-5 is to be installed
    E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.

    'plymouth' パッケージの依存関係が満たされていません。このパッケージを削除し、もう一度 dist-upgrade を実行してください。

  • 即時構成を実行できない

    dist-upgrade が以下のエラーで失敗します。

    E: Could not perform immediate configuration on...

    以下を実行してください。

    # apt-get dist-upgrade -o APT::Immediate-Configure=0
  • D-Bus 接続の取得に失敗する

    dist-upgrade 後に、一部のサービスが以下のエラーで起動に失敗します。

    Failed to get D-Bus connection: Unknown error -1
    Switching to 'systemd' system initialization service was not completed:

    # ps -p 1 -o comm=
    init
    1. ファイル /etc/apt/preferences.d/local-pin-init を削除して、'systemd-sysv' パッケージをインストールします。

      # rm -f /etc/apt/preferences.d/local-pin-init
      # apt-get install systemd-sysv
    2. サーバを再起動します。

    3. Plesk サービスを修復します。

      # plesk repair installation
  • 使用可能なパブリックキーがない

    #apt-get update コマンドが警告を表示します。

    N: Ignoring file '50sw_autoinstaller.list.saved_by_plesk_distupgrade' in directory '/etc/apt/sources.list.d/' as it has an invalid filename extension
    W: There is no public key available for the following key IDs:
    9D6D8F6BC857C906
    W: There is no public key available for the following key IDs:
    7638D0442B90D010

    これは無視しても問題ありませんが、これらを解消したい場合には、キーリングをインストールしてください。

    # apt-get install debian-archive-keyring
  • initscripts : Breaks: nfs-common

    nfs-common がインストールされている場合に dist-upgrade がエラーで失敗します。

    # apt-get dist-upgrade
    Calculating upgrade... Failed
    The following packages have unmet dependencies:
    initscripts : Breaks: nfs-common (< 1:1.2.5-3) but 1:1.2.2-4squeeze2 is to be installed
    E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.

    nfs-common パッケージを削除して、アップグレードを続けます。

    #apt-get remove nfs-common
  • mysql-server-5.5 の即時構成を実行できない

    dist-upgrade コマンドがエラーで失敗します。

    E: Could not perform immediate configuration on 'mysql-server-5.5'. Please see man 5 apt.conf under APT::Immediate-Configure for details. (2)

    これは、 libc6-dev パッケージがインストールされており、 mysql-server gcc-4.4 が必要な場合に失敗します。足りないパッケージをインストールして、アップグレードを続けます。

    # apt-get install gcc-4.4
    # apt-get install mysql-server-5.5
  • Horde ウェブメールにアクセスできない

    Horde ウェブメールで、認証後にエラーが表示されます。

    Call to a member function write() on NULL

    /var/log/maillog のレコードは以下のようになります。

    Dec 18 22:03:23 testpar1 courier-imapd: Connection, ip=[::ffff:127.0.0.1]
    Dec 18 22:03:23 testpar1 courier-imapd: authdaemon: s_connect() failed: No such file or directory
    Dec 18 22:03:24 testpar1 courier-imapd: LOGIN FAILED, method=PLAIN, ip=[::ffff:127.0.0.1]
    Dec 18 22:03:24 testpar1 courier-imapd: authentication error: No such file or directory

    メールサーバの構成を修復します。

    # plesk repair mail
  • Plesk アップグレード前スクリプトで、パッケージが最新状態ではないと返される

    Debian 7 から Debian 8 への Plesk アップグレード後スクリプトが以下のメッセージを返します。

    The following packages are not up-to-date:
    db4.8-util
    You should install the latest updates before performing dist-upgrade

    パッケージ db4.8-util を手動で更新します。

    # apt-get install --only-upgrade db4.8-util
  • SpamAssassin メールフィルタデーモンの再起動:NetAddr/IP.pm が見つからない

    dist-upgrade が SpamAssassin エラーで失敗します。

    Restarting SpamAssassin Mail Filter Daemon: Can't locate NetAddr/IP.pm in
    @INC (you may need to install the NetAddr::IP module) (@INC contains:
    /usr/share/perl5 /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.20.2
    /usr/local/share/perl/5.20.2 /usr/lib/x86_64-linux-gnu/perl5/5.20
    /usr/lib/x86_64-linux-gnu/perl/5.20 /usr/share/perl/5.20
    /usr/local/lib/site_perl) at /usr/share/perl5/Mail/SpamAssassin/NetSet.pm
    line 25.

    以下のコマンドでパッケージを完全インストールします。

    # apt-get -f install

    dist-upgrade を続行します。

    # apt-get dist-upgrade
  • udev パッケージが原因で dist-upgrade が失敗する

    アップグレードされていないカーネルが原因で udev パッケージをアップグレードできないというメッセージで、dist-upgrade が失敗します。

    以下のコマンドでパッケージを完全インストールします。

    # apt-get -f install

    dist-upgrade を続行します。

    # apt-get dist-upgrade

    'udev' パッケージのみがアップグレード対象としてマークされるまで、 apt-get -f install および apt-get dist-upgrade を繰り返します。

    サーバの再起動を実行します。dist-upgrade を終了します。

    # apt-get dist-upgrade
  • 重要な Plesk コンポーネントの一部がアップグレードされない:panel

    Debian 7 から Debian 8 への dist-upgrade 後に、アップグレード後スクリプト /opt/psa/bin/distupgrade.helper.deb7-deb8_post.x64.sh が以下のメッセージで終了します。

    Some of essential Plesk components are not upgraded: panel
    You may either upgrade them manually upgrade them or rerun utility with option --skip-check-latest
    Some error during dist-upgrade post stage occurs.

    また、Horde パッケージが削除されます。

    アップグレード後スクリプト /opt/psa/bin/distupgrade.helper.deb7-deb8_post.x64.sh を実行する前に、以下のコマンドを実行します。

    # apt-get install psa-phpfpm-configurator
  • libmyodbc の依存関係が満たされていない

    Debian 6 から Debian 7 へのアップグレード中に、依存関係に関して以下の問題が表示されます。

    # apt-get dist-upgrade
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    Calculating upgrade... Failed
    The following packages have unmet dependencies:
    odbcinst1debian2 : Breaks: libmyodbc (< 5.1.6-2) but 5.1.6-1 is to be installed
    pp12.5.30-bootstrapper : Depends: plesk-mysql-server (>= 12.5.30) but it is not going to be installed
    E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.

    解決するには、パッケージ odbcinst1debian2 をインストールして dist-upgrade を続けます。

    # apt-get install odbcinst1debian2
    ...
    # apt-get dist-upgrade
  • sasl2-bin のセットアップが失敗する

    dist-upgrade 中に、以下のエラーが表示される場合があります。

    Setting up sasl2-bin (2.1.25.dfsg1-6+deb7u1) ...
    saslpasswd2: user not found
    dpkg: error processing sasl2-bin (--configure):
    subprocess installed post-installation script returned error exit status 20
    Errors were encountered while processing:
    sasl2-bin
    E: Sub-process /usr/bin/dpkg returned an error code (1)

    これを解決するには、 sasldbconverter2 ユーティリティを実行し、プロンプトに対して Enter を押します。次に、以下のコマンドを実行します。

    # apt-get install -f

    パッケージ sasl2-bin の構成が終了したら、dist-upgrade を続けます。

  • rsyslog が起動できない

    # /etc/init.d/rsyslog restart
    [....] Starting enhanced syslogd: rsyslogd rsyslogd: [origin software="rsyslogd" swVersion="5.8.11" x-pid="1973" x-info="http://www.rsyslog.com"] start rsyslogd-2013:CONFIG ERROR: could not interpret master config file '/etc/rsyslog.conf'. [try http://www.rsyslog.com/e/2013 ] rsyslogd:EMERGENCY CONFIGURATION ACTIVATED - fix rsyslog config file!. ok

rsyslog の構成を、アップグレード前のものに置き換えて、サービスを再起動します。

    # mv /etc/rsyslog.conf.saved_by_plesk_distupgrade /etc/rsyslog.conf
# /etc/init.d/rsyslog restart
[ ok ] Stopping enhanced syslogd: rsyslogd.
[ ok ] Starting enhanced syslogd: rsyslogd.

dist-upgrade での Apache エラー

dist-upgrade がエラーなしで失敗し、Apache パッケージのインストールに失敗したことだけがわかっている場合、以下のコマンドを使用してパッケージのインストールをもう一度実行してエラーを確認するか、問題を修正してから dist-upgrade を続けます。

# apt-get install -f
  • 構成ファイル dir.conf が正しく有効化されていない

    コマンド apt-get install -f で、Apache サービスのエラーが表示されます。

    Config file dir.conf not properly enabled: /etc/apache2/mods-enabled/dir.conf is a real file, not touching it.

    'dir.conf' をシンボリックリンクに置き換えて、Apache が起動できる場合はアップグレードを続けます。

    # ln -sf ../mods-available/dir.conf /etc/apache2/mods-enabled/dir.conf
  • API モジュール構造 1aclr_module1 が正しくない

    アップグレードが失敗しました。

    API module structure 1aclr_module1 in file /usr/lib/apache2/modules/mod_aclr.so is garbled - expected signature 4 1503234 but saw 41503232 - perhaps this is not an Apache module DSO, or was compiled for a different Apache version?

    'aclr' モジュールが正しくアップグレードされませんでした。'fcgi' モジュールにも同じ問題がある可能性があります。無効化して、Apache の起動を試みます。

    # a2dismod aclr
    Module aclr disabled

    必要な場合、同じコマンドを使用して 'fcgi' を無効化します。Apache が起動できる場合はアップグレードを続けます。

  • ワイルドカード '*.conf' に一致するものがない'

    Apache の起動が失敗します。

    apache2: Syntax error on line 234 of /etc/apache2/apache2.conf: Syntax error on line 5 of /etc/apache2/conf.d/zz010_psa_httpd.conf: Syntax error on line 72 of /etc/apache2/plesk.conf.d/server.conf: No matches for the wildcard '*.conf' in '/etc/apache2/plesk.conf.d/ip_default', failing (use IncludeOptional if required)
    Action 'configtest' failed.
    The Apache error log may have more information.

    記事 [KB213944365]After upgrade Apache from 2.2 to 2.4, Apache is not starting の解決策を実行し、Apache が起動できる場合はアップグレードを続けます。

  • 構成ファイル /etc/apache2/sites-enabled/000-default を開けない。そのようなファイルまたはディレクトリが存在しない

    Apache の起動が失敗します。

    apache2: Syntax error on line 268 of /etc/apache2/apache2.conf: Could not open configuration file /etc/apache2/sites-enabled/000-default: No such file or directory

    シンボリックリンクを削除して、Apache が起動できる場合はアップグレードを続けます。

    # rm /etc/apache2/sites-enabled/000-default
  • 無効なコマンド 'LockFile'

    Apache の起動が失敗します。

    Invalid command 'LockFile', perhaps misspelled or defined by a module not included in the server configuration Action 'configtest' failed.
    The Apache error log may have more information.

    'LockFile' ディレクティブが Apache 2.4 に存在しません。 /etc/apache2/apache2.conf で以下のように 'Mutex' ディレクティブに置換してください。

    LockFile ${APACHE_LOCK_DIR}/accept.lock

    を以下に置き換えます。

    Mutex file:${APACHE_LOCK_DIR} default

    また、 /etc/apache2/mods-enabled/ssl.conf で 'SSLMutex' を 'Mutex' に置換して、Apache が起動できる場合はアップグレードを続けます。

  • SSLSessionCache:'shmcb1' セッションキャッシュがサポートされていない

    Apache の起動が失敗します。

    SSLSessionCache: 'shmcb1' session cache not supported (known names: ). 
    Maybe you need to load the appropriate socache module (mod_socache_shmcb?).

    /etc/apache2/mods-enabled/ssl.conf で 'SSLSessionCache' をコメントアウトして、Apache が起動できる場合はアップグレードを続けます。

  • 無効なコマンド 'Order'

    Apache の起動が失敗します。

    Invalid command 'Order', perhaps misspelled or defined by a module not included in the server configuration.

    /etc/apache2/plesk.conf.d/server.conf のすべてのセクションで 'Order..' と 'Allow..' を削除して 'Require all granted' を追加します。

    <Directоry "/var/www/vhosts/default/cgi-bin">
    AllowOverride None
    Options None
    - Order allow,deny
    - Allow from all
    + Require all granted
    </Directory>

    Apache が起動できる場合はアップグレードを続けます。

  • Apache がサイトなしで起動する

    Apache が正しく起動しているが、サイトがロードされません。 apache2ctl -S の出力に、デフォルトサイトのみが表示されます。

    /etc/apache2/conf.d/zz010_psa_httpd.conf から /etc/apache2/conf-enabled/zz010_psa_httpd.conf へのシンボリックリンクを作成します。

    # ln -s /etc/apache2/conf.d/zz010_psa_httpd.conf /etc/apache2/conf-enabled/zz010_psa_httpd.conf
  • nginx とのポートの不整合

    Debian 8 へのアップグレード後に、以下のメッセージで Apache ウェブサーバが起動しません。

    root@dist-upgrade:~# apache2ctl start
    (98)Address already in use: AH00072: make_sock: could not bind to address [::]:80
    (98)Address already in use: AH00072: make_sock: could not bind to address 0.0.0.0:80
    no listening sockets available, shutting down
    AH00015: Unable to open logs
    Action 'start' failed.
    The Apache error log may have more information.

    つまり、ファイル /etc/apache2/ports.conf がパッケージメンテナのバージョンに上書きされ、http にはポート 80、https には 443 がそれぞれ使用されるようになっています。ところが、nginx も実行中であり、同じポートを使用します。

    Apache が適切なポートを使用するように再構成するには、nginx リバースプロキシサーバを無効化し、有効化します。

    # plesk sbin nginxmng --disable
    # plesk sbin nginxmng --enable

    次に、 plesk repair web を実行して dist-upgrade を続けます。

注: Plesk 自動インストーラを実行して、使用可能なすべての Plesk アップデートを dist-upgrade 後に忘れずにインストールしてください。

他にご質問がございましたら、リクエストを送信してください
ログインしてコメントを残してください。