SDB:Zypper のトラブルシューティング

Zypper/Troubleshootingから転送)
移動先: 案内, 検索
使い方 - トラブルシューティング - バージョン - 機能 - 開発 - ロードマップ - バグ修正 - チーム
Zypper でのトラブルシューティングのヒントが書かれています。

冗長な出力

--verbose グローバルオプションを指定することで、 zypper がより詳しい出力を行なうようになります。これを複数回指定すると (最大で 2 レベルまで) 、さらに詳しい出力を行なうことができます。たとえば zypper -vv up のようにして実行します。

ログ

バージョン 0.8.0 およびそれ以降では、 zypper のログは既定で /var/log/zypper.log に出力されます。ログファイルの出力先は ZYPP_LOGFILE 環境変数で設定することができます。たとえば下記のように実行します:

$ ZYPP_LOGFILE=zypper-refresh-updates.log zypper refresh updates

なお、デバッグログをできるだけ多く出力したい場合は、実行時に ZYPP_FULLLOG=1 を指定してください。

また、解決器をデバッグしたい場合は ZYPP_LIBSAT_FULLLOG=1 を指定します。

解決器のテストケース

バージョン 0.8.7 およびそれ以降では、パッケージの依存関係や libzypp の依存関係解決器に関連する問題をデバッグする目的で、解決器のテストケースを生成することができます。解決器のテストケースを作成するには、 install, remove, update, dist-upgrade, verify, source-install の各コマンドに対して、 --debug-solver コマンドオプションを指定します。たとえば下記のようになります:

$ zypper install --debug-solver MozillaFirefox

テストケースのファイルは /var/log/zypper.solverTestCase ディレクトリ以下に出力されます。バグを報告する際は、バグレポート内にこのファイルを圧縮して添付してください。

バグの報告方法

バグ を報告する際には、コンポーネントを libzypp に設定して、ログファイルと zypper の出力をそれぞれ添付してください。もしもバグを簡単に再現できるようであれば、前回の実行からのログ全体をお送りいただく必要はありません。また、バグを再現させる場合には、 zypper のコマンドの前に ZYPP_LOGFILE=ログファイル名 を指定して実行し、記録されたログファイルをお送りください。たとえば下記のようになります:

$ ZYPP_LOGFILE=zypper.log zypper -vv install MozillaFirefox

動作中の zypper を無視する方法

アプリケーションを開発する際は、 zypper のロック (施錠) 機構を無視したほうが便利な場合があります (ただし、本番環境のマシンでは実行してはなりません!):

$ export ZYPP_READONLY_HACK=1
$ zypper ...