Product SiteDocumentation Site

6.4. フロントエンド: aptitudesynaptic

APT は C++ プログラムで、libapt-pkg 共有ライブラリがその機能の多くを担っています。共有ライブラリを使うとユーザインターフェイス (フロントエンド) の作成が楽になります。なぜなら、ライブラリに含まれるコードは簡単に再利用できるからです。歴史的に言って、apt-getlibapt-pkg のテスト用フロントエンドとして設計されましたが、成功を収めたためにその事実は曖昧にされがちです。

6.4.1. aptitude

aptitude は対話型プログラムで、コンソールの準グラフィカルモードで使うことができます。このプログラムを使うと、インストール済みや利用可能なパッケージのリストを閲覧したり、全ての利用可能な情報を調べたり、インストールや削除するパッケージを選択できます。このプログラムは、特に管理者が使うように設計されました。そのため、デフォルトの挙動は apt-get よりもずっと合理的で、インターフェイスもより理解しやすいです。
aptitude パッケージマネージャ

図6.1 aptitude パッケージマネージャ

aptitude は起動すると、状態 (インストール済み、未インストール、インストール済みだがミラーから利用不可 - 他のセクションでタスク、仮想パッケージ、最近ミラーに登場した新しいパッケージを表示します。) ごとに分類したパッケージのリストを表示します。テーマ別のパッケージリストを簡便に閲覧できるビューも用意されています。すべての場合について、aptitude はカテゴリとパッケージを併せたリストを画面に表示します。カテゴリは木構造を使って系統付けられ、木構造の枝は Enter[] キーで開けたり閉じたりする事ができます。+ はインストールマーク、- は削除マーク、_ は完全消去マークをパッケージに対して付加するのに使われます (これらのキーはカテゴリに対しても使えることに注意してください。この場合、カテゴリ内の全てのパッケージに対して対応する操作を行います)。u は利用可能なパッケージのリストを更新、Shift+u はグローバルシステムのアップグレードを準備します。g は要求された変更の要約ビューに切り替えます (再度 g を打てば変更を適用します)。q は現在のビューを終了します。最初のビューにいるなら、aptitude を閉じます。
パッケージを検索するには、/ を押して、検索パターンを入力してください。このパターンはパッケージの名前にマッチしますが、(~dを先頭に付けた場合) 説明、(~s) セクション、その他の特性にもマッチします。これは文書中で詳しく説明されています。同じパターンを表示されたパッケージのリストから抽出するためにも使えます: l キーを押して (limit の意味) パターンを入力してください。
Debian パッケージの「自動フラグ」の管理 (「自動的にインストールされたパッケージの追跡」参照) は aptitude を使えば簡単にできます。インストール済みパッケージのリストを閲覧し、Shift+m キーでパッケージに自動マークを付けるかまたは m キーでそのマークを消すすることが可能です。「自動パッケージ」はパッケージリストでは「A」でタグ付けされています。この機能はまた、全く関心の無いライブラリと依存関係を除外して、マシンで利用されているパッケージを可視化する単純な方法を提供します。l (フィルタモードを有効化する) と一緒に使える関連パターンは ~i!~M です。これは、インストール済みパッケージを (~i) 見たいけれど自動パッケージとしてマークされたパッケージを見たくない (!~M) ということを意味しています。

6.4.1.1. 推奨パッケージ、提案パッケージ、タスクの管理

aptitude が提供するもう 1 つの興味深い特徴は、パッケージ間の推奨関係を尊重する点です。とは言え、個々の場合に応じて、推奨パッケージをインストールしないようにすることも可能です。例えば、gnome パッケージは (数ある中でも特に) gdebi のインストールを推奨しています。gnome をインストールするよう選んだ場合、同時に gdebi も選ばれます (既にシステムにインストール済みでない限り、自動パッケージとしてマークされます)。これを確認するには、g とタイプしてください: gdebi は、依存関係を満足させる目的で自動的にインストールされたパッケージのリスト中、保留動作の要約画面に現れます。しかしながら、操作確認の前にインストールマークを外すことで、パッケージをインストールしないようにできます。
パッケージをアップグレードする場合、上で述べた推奨関係を追跡してインストールパッケージを自動選択する機能が作動しない点に注意してください。例えば、gnome の新バージョンが、以前推奨していなかったパッケージを推奨している場合、このパッケージは選択されません。しかしながら、管理者がインストールの可否を選択できるように、このパッケージはアップグレード画面に表示されます。
さらに、パッケージ間の提案関係が考慮されますが、そのやり方はパッケージを特定の表示状態にするだけです。例えば、gnomedia-gnome を提案しており、dia-gnome は保留動作の要約画面 (他のパッケージによって提案されたパッケージのセクションの中) に表示されるでしょう。このように、提案されたパッケージは一覧に表示され、管理者はこの提案に従ってインストールするか否かを決めます。パッケージ間の提案関係とは依存関係でも推奨関係でもないので、提案されたパッケージは自動的にインストールマークを付けられません - ユーザがインストールするか否かを手作業で選択します (このため、提案されたパッケージは自動パッケージとしてマークされません)。
同様の姿勢で、aptitude はタスクの概念を上手に取り扱うことを思い出してください。タスクはパッケージの画面内にカテゴリとして表示されるため、ユーザはタスクのインストール作業および削除作業を、タスク全体に対して適用するか、タスクのパッケージの一部を選択してそれらに適用するかを選ぶことができます。

6.4.1.2. より良いソルバアルゴリズム

この節を締め括るために、aptitudeapt-get に比べてより複雑なアルゴリズム使って難しい状況を解決する、という点に注意しましょう。一連の動作が要求され、全ての動作を適用するとシステムの一貫性が失われる場合、aptitude は幾つかの解決策を検討し、適用後の一貫性が高い順に解決策を提示します。しかしながら、このアルゴリズムは単なるケアレスミスの予防策ではありません。幸いなことに、ユーザは常に手作業で適用する動作を選択できます。現在選択された動作によって矛盾が引き起こされる場合、画面の上の方に「壊れた」パッケージの数が表示されます (パッケージの選択を直接操作するには b を押してください)。そして、見つかった問題を手作業で解決することも可能です。具体的に言うと、単純に Enter でパッケージを選択すれば、利用可能な複数のバージョンを確認できます。複数のバージョンから 1 つ選ぶだけで問題が解決されるなら、迷わずこの機能を使うべきです。壊れたパッケージの数がゼロになったら、動作適用前の最終確認のために、保留動作の要約画面に問題なく移動できるはずです。

6.4.2. synaptic

synaptic は Debian 用のグラフィカルパッケージマネージャで、GTK+/GNOME を使った綺麗で効率的なグラフィカルインターフェイスです。数多くのすぐに使えるフィルタのおかげで、新しく利用可能になったパッケージ、インストール済みパッケージ、アップグレード可能なパッケージ、時代遅れのパッケージなどを素早く確認できます。リストを全て閲覧して、パッケージに対して行われる操作 (インストール、アップグレード、削除、完全消去) を選択できます; これらの操作はすぐに実行されるのではなく、まずは操作リストに追加されます。ボタンを一度クリックするだけで、操作の正当性が検証され、操作は一度に実行されます。
synaptic パッケージマネージャ

図6.2 synaptic パッケージマネージャ