依存関係の問題の解決

依存関係の問題が生じた場合、その解決に aptitude の助けを借りることができます。問題が生じるとすぐにスクリーンの最下部に赤いバーが現れ、そこに、その問題の解決方法に関する aptitude の提案を要約したものが表示されます。例えば、次のスクリーンショットにおいて aptitude は、2 つのパッケージを現在のバージョンに一時固定すると問題の状況を解決できる、と示唆しています。

スクリーン最下部に示されているように、., を押すと別の解決方法を表示できます。また、! を押すと現在の解決方法を適用でき、e を押すとその解決方法をさらに詳しく検討できます。現在選択中の解決方法を検討すると次のようなスクリーンが現れます。

アクションによって影響を受けるパッケージについては、パッケージがハイライトされているときに Enter を押すだけで、情報にアクセスできます。aptitude が特定の決断を下した理由についてのさらに詳しい説明を参照するには、リストの項目をハイライトさせてください。ハイライトさせると、aptitude の選択によって解決される依存関係が、他に可能なすべての解決方法とともにスクリーンの下半分に表示されます。

解決方法の個々のアクションを承認または拒否して、最終的に承認する解決方法まで依存関係解決ツールを導くことが可能です。アクションを承認すると、解決ツールは、可能であればいつでも他の選択肢を無視してそのアクションを選択します (承認されている選択肢が複数ある場合はそれらを全て選択します)。他方でアクションを拒否すると、解決ツールは絶対にそのアクションを選択しません。

解決方法を拒否するには、それをハイライトさせて r を押してください。もう一度 r を押すと拒否を取り消せます。同様に、アクションを選択して a を押すと承認できます。どちらのアクションも、解決ツールのスクリーンがアクティブになっている間に 取り消し取り消し (Control+u) を用いて取り消せます。拒否や承認を取り消すと、次に新しい解決方法を生成するときに、無視されていた全ての解決方法が利用可能になります。

拒否されたアクションは赤色になり「R」という印がつきます。他方で、承認されたアクションは緑色になり「A」という印がつきます。これは次のスクリーンショットを見ればわかるでしょう。このスクリーンショットでは、「gstreamer0.8-cdparanoia を現在のバージョンに一時固定する」というアクションが拒否され、「sound-juicer を現在のバージョンに一時固定する」というアクションが承認されています。

拒否や承認で影響を受けるのは新しく生成された解決方法だけです。スクリーンの左下隅の表示を調べると、新しい解決方法が現在生成可能かどうかがわかります。丸括弧で囲まれた数字がある場合、その数字はこれまでに生成された解決方法の数です。したがって、丸括弧の外側の数字と内側の数字が (上の図のように) 同一である場合、. を押すと新しい解決方法が生成されます。丸括弧で囲まれた数字がない場合 (例えば、表示が [1/5] となっている場合)、生成される解決方法はこれ以上ありません。どんなときでも、> を押すと最後に生成された解決方法を選択でき、< を押すと最初に生成された解決方法を選択できます。

[重要項目]重要項目

問題解決ツールの状態は、どのパッケージの状態を変更しても破棄されます。つまり、パッケージにインストール・更新・削除などの印をつけると、問題解決ツールで行った拒否や承認の情報は、それまでに生成された解決方法の情報とともにすべて消去されます。

スクリーン最上部のリスト内のアクションを選択するだけでなく、スクリーン下半分のリストを使用してアクションを選択することも可能です。このリストにアクセスするには、マウスを用いてその領域をクリックするか、または Tab を押してください。最後に、問題解決ツールが下した決断を順を追って眺めるには o を押してください。そうすると、次のスクリーンショットにあるように、解決される依存関係とその解決のために行うアクションのリストが表示されます。

もう一度 o を押すとこの表示モードから出ることが可能です。