Product SiteDocumentation Site

6.4. フロントエンド、aptitudesynaptic

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

6.4.1. aptitude

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

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

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

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

aptitude が提供するもう 1 つの興味深い特徴は、パッケージ間の推奨関係を尊重する点です。とは言うものの、個々の場合に応じて、推奨パッケージをインストールしないようにすることも可能です。たとえば、gnome パッケージは (数ある中でも特に) gdebi のインストールを推奨しています。gnome をインストールするよう選んだ場合、同時に gdebi も選ばれます (既にシステムにインストール済みでない限り、自動パッケージとしてマークされます)。保留中の操作を確認するには、g と入力してください。そうすると、依存関係を満足させる目的で自動的にインストールされたパッケージがまとめられているリスト中に gdebi が表示されます。しかしながら、操作の承認前にインストールマークを外すことで、パッケージをインストールしないようにできます。
aptitude を使ってパッケージのアップグレードを行う場合、上で述べた推奨関係を追跡してインストールパッケージを自動選択する機能が作動しない点に注意してください。たとえば、gnome の新バージョンが、以前推奨していなかったパッケージを推奨している場合、推奨されているパッケージは選択されません。しかしながら、管理者がインストールの可否を選択できるように、新しい推奨パッケージはアップグレード画面に表示されます。
さらに、aptitude はパッケージ間の提案関係を考慮しますが、そのやり方はパッケージを特定の表示状態にするだけです。たとえば、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 パッケージマネージャ