Product SiteDocumentation Site

6.5. フロントエンド、aptitudesynaptic

APT is a C++ program whose code mainly resides in the libapt-pkg shared library. Using a shared library facilitates the creation of user interfaces (front-ends), since the code contained in the library can easily be reused. Historically, apt-get was only designed as a test front-end for libapt-pkg but its success tends to obscure this fact.

6.5.1. aptitude

aptitude is an interactive program that can be used in semi-graphical mode on the console. You can browse the list of installed and available packages, look up all the available information, and select packages to install or remove. The program is designed specifically to be used by administrators, so that its default behaviors are designed to be much more intelligent than apt-get's, and its interface much easier to understand.
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.5.1.1. 推奨パッケージ、提案パッケージ、タスクの管理

Another interesting feature of aptitude is the fact that it respects recommendations between packages while still giving users the choice not to install them on a case by case basis. For example, the gnome package recommends transmission-gtk (among others). When you select the former for installation, the latter will also be selected (and marked as automatic if not already installed on the system). Typing g will make it obvious: transmission-gtk appears on the summary screen of pending actions in the list of packages installed automatically to satisfy dependencies. However, you can decide not to install it by deselecting it before confirming the operations.
aptitude を使ってパッケージのアップグレードを行う場合、上で述べた推奨関係を追跡してインストールパッケージを自動選択する機能が作動しない点に注意してください。たとえば、gnome の新バージョンが、以前推奨していなかったパッケージを推奨している場合、推奨されているパッケージは選択されません。しかしながら、管理者がインストールの可否を選択できるように、新しい推奨パッケージはアップグレード画面に表示されます。
さらに、aptitude はパッケージ間の提案関係を考慮しますが、そのやり方はパッケージを特定の表示状態にするだけです。たとえば、gnomeempathy を提案しているので、empathy は保留中の操作の要約画面 (他のパッケージによって提案されたパッケージのセクションの中) に表示されるでしょう。このように、提案されたパッケージは一覧に表示され、管理者はこの提案に従ってインストールするか否かを決めます。パッケージ間の提案関係とは依存関係でも推奨関係でもないので、提案されたパッケージは自動的にインストールマークを付けられません。つまり、ユーザがインストールするか否かを手作業で選択します (このため、提案されたパッケージは自動パッケージとしてマークされません)。
同様の観点から aptitude はタスクの概念をうまく取り扱うことにも触れておきます。タスクはパッケージリストの画面内にカテゴリとして表示されるため、ユーザはタスクのインストールおよび削除を、タスク全体に対して適用するか、タスクのパッケージの一部を選択してそれらに適用するかを選ぶことが可能です。

6.5.1.2. より良い解決アルゴリズム

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

6.5.2. synaptic

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

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