パッケージ管理

破損パッケージの管理

パッケージ一覧の中を動き回れるようになったら、いよいよ aptitude を用いてパッケージのインストールや削除をする時間です。本セクションでは、パッケージにインストール・削除・更新用のフラグをつける方法を学びます。

[ティップ]ティップ

システムの構成に変更を加えることが可能なのは root ユーザだけです。aptitude で実験をしたい場合は、root 以外のユーザで aptitude を安全に実行し、どんなかたちであれシステムに損傷を与えることのないようにするとよいでしょう。root のみができることをしようとすると、aptitude はそれを通知してくれます。続行したい場合は root のパスワードを入力しなければなりません。

パッケージへの変更はすべて、まずパッケージ一覧でそのパッケージをハイライトさせ、次に実行すべきアクションに相当するキーを押すことで実行できます。基本的なアクションキー[2]は、パッケージのインストールや更新の場合は +、パッケージの削除の場合は -、パッケージを自動的に更新しないようにする (これをパッケージを固定すると言います。) 場合は = です。これらのアクションはすぐには実行されません。aptitude は、要求された変更を示すようパッケージ一覧を更新するだけです。

例えば次のスクリーンショットは、kaffeine パッケージを選択して + を押したときのものです。kaffeine パッケージが緑色にハイライトされており、「i」 という文字が名前の左側に現れて、パッケージがインストール予定であると示しています。さらに、パッケージが使用する領域の推定量も表示されています。

[ティップ]ティップ

いつでも、1 つ以上のパッケージに加えたあらゆる変更を 取り消し取り消し (Control+u) を用いて「取り消す」ことが可能です。これは、アクションが予想外の結果をもたらしてしまい「元に戻し」たくなった場合に有用です。

個々のパッケージに対して行うアクション以外に、もう 1 つ重要なアクションが利用可能です。U と入力すると、更新可能なあらゆるパッケージを更新しようとします。システムを最新状態に保つために、このコマンドを定期的に使用してください。

破損パッケージの管理

パッケージの状態を変更すると依存関係が満たされなくなることがあります。依存関係が満たされていないパッケージは破損しているといいます。破損パッケージが生じると aptitude は警告を発し、その発生原因を説明します。例えば、sound-juicer を削除しようとするとこんなことが起こります。

御覧のとおり、aptitude は何か問題が起きたことを 3 つの表示で示しています。まず、破損パッケージの数が上部の青い領域に表示されています。次に、画面の下半分が、現在ハイライトされているパッケージに関連する破損パッケージの記述に変わっています。3 番目に、問題を解決する方法に関する提案を含むバーがスクリーン最下部に現れています。パッケージ一覧から破損パッケージを手早く見つけるには、b を押すか、~b で検索してください。

[注意]注意

[1(1)/...] というテキストは、aptitude の依存関係解決ツールの進行状況を示しています。最初の数字は現在選択中の解決方法を示し、2 番目の数字は aptitude がこれまでに生成した解決方法の数を示します。「...」というテキストの存在は、生成された解決方法の他に追加の解決方法が存在するということを意味します。唯一可能な解決方法を生成したと aptitude が確信している場合は、表示は [1/1] となるでしょう。

どうやったらこの問題を解決できるかと aptitude が考えているか、さらに詳しく見るには、e を押してください。次のようなスクリーンが現れるでしょう。

この状態から、. を押すとさらに多くの解決方法を見ることができ、, を押すと前に検討した解決方法に戻ることができます。現在選択中の解決方法を適用してパッケージ一覧に戻るには、! を押してください。例えば、上のスクリーンの表示中に . を押すと、次のような解決方法が提案されます。

基本的な解決方法操作コマンドによる操作だけでなく、r を押して、同意しないアクションを「拒否」することも可能です。例えば、提案された最初の解決方法では sound-juicer の削除を取り消そうとしています ―― sound-juicer の削除は、まさに私たちが行おうとしていたアクションです! このアクションに対応する項目の上で r を押すと、aptitude に、このように sound-juicer の削除を取り消してはいけない、と教えることができます。

御覧のとおり、sound-juicer を現在のバージョンに一時固定するというアクションに相当するリスト項目が赤色になり「R」という印がつけられて、このアクションが拒否されていることを示すようになりました。今後生成される解決方法 (すなわち、まだ表示されていないあらゆる解決方法) には、このアクションは含まれません。しかし、これまでに生成された、このアクションを含む解決方法も利用可能です。

[注意]注意

上のスクリーンショットでは、sound-juicer の説明がスクリーンの中央に表示されています。御覧のとおり、その下には、sound-juicer を現在のバージョンに一時固定させる原因となった依存関係が、aptitude が知っているこの依存関係の解決方法すべてとともに表示されています。

例えば、sound-juicer を削除しようとした直後にこの拒否を行った場合、. を押すと、sound-juicer のインストールを取り消し gstreamer0.8-cdparanoia をダウングレードするという解決方法を飛ばして次の解決方法が得られます。

拒否は、新しく生成される解決方法、すなわち最後に生成された解決方法を表示中に . を押したときに生成される解決方法のみに適用されます。拒否の実行前に生成された解決方法には、拒否したアクションが依然として含まれています。拒否はいつでも、拒否したアクションをもう一度選択して r を押せば取り消せます。拒否を取り消せば、その前に「飛ばされた」解決方法など、そのアクションを含む解決方法をもう一度生成できます。

アクションの拒否の逆は承認です。アクションを承認するには、単にそのアクションを選択して a を押してください。そうすると問題解決ツールは、可能なときにはいつでもそのアクションを選択するようになります[3]。承認されたアクションは緑色になり、次のスクリーンショットのように「A」という印がつきます。

[重要項目]重要項目

壊れた依存関係を解決せずに g を押して選択をコミットすると、aptitude は現在選択中の提案を自動的に実行します。しかし、依存関係の問題を自動的に解決するのは難しいので、あなたはその結果に満足できない可能性があります。したがって、一般に、選択をコミットするには aptitude が何を行おうとしているのか確認するとよいでしょう。



[2] パッケージメニューを用いてパッケージに変更を加えることが可能です。詳しくは「パッケージ」メニュー項を参照してください。

[3] アクションの承認は、すべての解決方法にアクションが含まれるように要求することとはわずかに異なります。承認とは、承認されたアクションと承認されていないアクションの間で選択をしなければならなくなるといつでも、問題解決ツールは承認されたアクションを選ぶ、ということです。承認された可能なアクションが複数ある場合は、それらすべてが解決方法に含められる候補となります。