コマンドラインからの aptitude の使い方

前のセクションで説明したビジュアルインタフェースに加え、aptitude を使って、apt-get と同様にコマンドラインから直接パッケージを管理することも可能です。本セクションでは、aptitude のコマンドラインアクションのうち最もよく使用されるものを取り上げます。さらに詳しくは、aptitude コマンドラインリファレンスを参照してください。

一般に、 aptitude のコマンドライン呼び出しは次のようになります。

aptitude action [arguments...]

action tells aptitude what action it is to take; the remaining arguments are used in an option-specific fashion. Typically they will consist of package names and command-line switches[4].

最も重要なアクションを以下に示します。

aptitude update

このコマンドは、ビジュアルインタフェースに入って u と押すのとちょうど同じように、パッケージ一覧を更新します。

aptitude safe-upgrade

This command will upgrade as many packages as it can upgrade without removing existing packages.

It is sometimes necessary to remove one package in order to upgrade another; this command is not able to upgrade packages in such situations. Use the full-upgrade command to upgrade those packages as well.

aptitude full-upgrade

Like safe-upgrade, this command will attempt to upgrade packages, but it is more aggressive about solving dependency problems: it will install and remove packages until all dependencies are satisfied. Because of the nature of this command, it is possible that it will do undesirable things, and so you should be careful when using it.

[注記]注記

For historical reasons, this command was originally named dist-upgrade, and that name is still recognized by aptitude.

aptitude [ install | remove | purge ] pkg1 [pkg2...]

These commands install, remove, or purge[5] the specified packages. Installing a package which is already installed but can be upgraded will cause it to be upgraded.

aptitude search pattern1 [pattern2...]

This command searches for packages whose name contains any of the given patterns, printing the result to the terminal. In addition to just being a string of text, each pattern can be a search pattern as described in 「Search patterns」. [6] For instance, aptitude search gnome kde will list all packages whose name contains either gnome or kde.

aptitude show pkg1 [pkg2...]

パッケージに関する情報をターミナルに表示します。

パッケージのインストール・更新・削除を行うコマンドはすべて、パラメタ -s をつけることが可能です。このパラメタはシミュレート (simulate)を意味します。コマンドラインに -s が渡されると、プログラムは通常行うアクションをすべて実行しますが、ファイルのダウンロードやインストール・削除は実際には行いません。

aptitude は次のようなプロンプトを表示することがあります。

以下の新規パッケージが自動的にインストールされます:
  space-orbit-common 
以下の新規パッケージがインストールされます:
  space-orbit space-orbit-common 
更新: 0 個、新規インストール: 2 個、削除: 0 個、保留: 0 個。
3200kB のアーカイブを取得する必要があります。展開後に 8413kB のディスク領域が新たに消費されます。
続けますか? [Y/n/?]

はい (Yes)いいえ (No)という明白な選択肢を利用できるだけでなく、多数のコマンドを使用してプロンプトに表示される情報を変更したり追加アクションを指定したりすることが可能です。例えば s と入力すると、各パッケージが使用するディスク領域の大きさに関する情報を表示させたり隠したりできます。

続けますか? [Y/n/?] s

サイズの変化を表示します。

以下の新規パッケージが自動的にインストールされます:
  space-orbit-common <+8020kB> 
以下の新規パッケージがインストールされます:
  space-orbit <+393kB> space-orbit-common <+8020kB> 
更新: 0 個、新規インストール: 2 個、削除: 0 個、保留: 0 個。
3200kB のアーカイブを取得する必要があります。展開後に 8413kB のディスク領域が新たに消費されます。
続けますか? [Y/n/?]

同様に、d と入力すると自動的にインストール・削除されるパッケージに関する情報を表示します。

以下の新規パッケージが自動的にインストールされます:
  space-orbit-common (依: space-orbit)
以下の新規パッケージがインストールされます:
  space-orbit space-orbit-common 
更新: 0 個、新規インストール: 2 個、削除: 0 個、保留: 0 個。
3200kB のアーカイブを取得する必要があります。展開後に 8413kB のディスク領域が新たに消費されます。

これは、space-orbit-common がインストール予定になっているのは space-orbitspace-orbit-common に依存しているためだ、という意味です。プロンプトに ? と入力すると、可能な入力の完全な一覧を参照できます。

自明には解決できないような依存関係の問題が要求によって生じる場合、aptitude はどうするか尋ねます。

The following packages are BROKEN:
  libsdl1.2debian
The following packages will be REMOVED:
  libsdl1.2debian-alsa
.
.
.
The following actions will resolve these dependencies:

Install the following packages:
libsdl1.2debian-all [1.2.12-1 (unstable)]

Score is 41

Accept this solution? [Y/n/q/?]

y と入力する (または単に enter を押す) と提案されている解決方法を受け入れます。n と入力すると、次善の解決方法を表示します。

Accept this solution? [Y/n/q/?] n
The following actions will resolve these dependencies:

Install the following packages:
libsdl1.2debian-esd [1.2.12-1 (unstable)]

Score is 19

Accept this solution? [Y/n/q/?]

メインのコマンドラインプロンプトと同様、依存関係問題解決用プロンプトからは、パッケージ状態の手動での変更など多数の追加アクションを実行できます。完全な一覧を参照するには ? と入力してください。

Typing q will abort the automatic resolver and allow you to resolve the dependencies manually:

Accept this solution? [Y/n/q/?] q
aptitude failed to find a solution to these dependencies.  You can solve them yourself by hand or type 'n' to quit.
The following packages have unmet dependencies:
  libsdl1.2debian: Depends: libsdl1.2debian-alsa (= 1.2.12-1) but it is not installable or
                            libsdl1.2debian-all (= 1.2.12-1) but it is not installable or
                            libsdl1.2debian-esd (= 1.2.12-1) but it is not installable or
                            libsdl1.2debian-arts (= 1.2.12-1) but it is not installable or
                            libsdl1.2debian-oss (= 1.2.12-1) but it is not installable or
                            libsdl1.2debian-nas (= 1.2.12-1) but it is not installable or
                            libsdl1.2debian-pulseaudio (= 1.2.12-1) but it is not installable
Resolve these dependencies by hand? [N/+/-/_/:/?]

You can use any of the package manipulation commands to resolve the broken dependencies (type ? for a full list of the available commands). Type n or press enter to quit aptitude:

Resolve these dependencies by hand? [N/+/-/_/:/?] n
Abort.

aptitude のコマンドライン機能の完全な説明は、Command-line referenceを参照してください。



[4] スイッチは、1 つのハイフンに続く 1 文字です (例: -a-v など)。

[5] パッケージの完全削除は、パッケージだけでなくその設定ファイルも削除します。

[6] 実は同じことが、installshow などの、パッケージを引数にとる他のコマンドにも当てはまります。