パッケージ一覧は大規模にカスタマイズできます。パッケージの表示方法・パッケージ階層構造の形成方法・パッケージの並べ方が、そして表示のまとめ方さえも、自由に変更可能です。
This section describes how to configure the contents and format of the
package list, status line, and header line, as well as the output of
aptitude search
.
これらの各領域の書式は、「書式指定文字列」によって定義されます。書式指定文字列とは、%p
や %S
などのような %
エスケープを含む一連のテキストです。結果として返される出力は、このテキストを取得し、その中の %
エスケープをその意味内容 (以下で説明します) によって置換して生成されます。
%
エスケープは固定サイズの場合と「伸長可能」な場合があります。前者の場合、%
エスケープは、常に同じ長さのテキストで (欄を埋めるために必要に応じて余分な空白文字を追加して)
置換されます。後者は、固定サイズの欄が使用しない領域をすべて使用するという意味です。伸長可能な欄が複数ある場合は、余分な空白が等しく分配されます。
すべての %
エスケープは、デフォルトサイズをもっているか伸長可能であるか、またはその両方です。%
エスケープのサイズは、%
とエスケープの識別文字の間に書いて変更できます。例えば
%20V
は、パッケージのインストール候補のバージョンを表す、20
文字分の幅をもつテキストを生成します。%
とエスケープの識別文字の間にクエスチョンマーク
(?
)
を置くと、欄の「基本的な」幅を欄の内容に応じて変更可能です。この場合、結果として返される欄が垂直方向に一列に並ばない可能性があることに注意してください!
通常は幅が固定されている特定の %
エスケープを伸長可能にしたい場合は、ナンバー記号
(「#
」)
をエスケープ表記の直後に置いてください。例えば、あるパッケージのインストール候補のバージョンがどんなに長くてもすべて表示するには、書式指定文字列
%V#
を使用してください。また、%
エスケープ以外のテキストの後に
#
を置くと、aptitude は、#
の前のテキストを、その後ろに余分な空白を挿入して「伸長」します。
まとめると、%
エスケープの構文は次のようになります。
%
[幅
][?
]コード
[#
]
The configuration variables Aptitude::UI::Package-Display-Format
,
Aptitude::UI::Package-Header-Format
,
and Aptitude::UI::Package-Status-Format
define the default formats the package list, the header at the top of the
package list, and the status line below the package list respectively. To
change how the results of an aptitude
search
command are displayed, use the -F
option.
書式指定文字列では以下の %
エスケープが利用可能です。
注記 | |
---|---|
以下の説明の一部では、「(その) パッケージ」という言葉を用いています。GUI では、これは表示されているパッケージと現在選択中のパッケージのどちらか一方を指します。コマンドライン検索では、表示されているパッケージを指します。 |
エスケープ表記 | 名前 | デフォルトサイズ | 伸長可能か? | 説明 |
---|---|---|---|---|
%% | リテラル % | 1 | いいえ | これは実際にはエスケープ表記ではありません。出力において、この表記がある場所にパーセント記号を挿入するだけです。 |
%# | パラメタ置換 | 可変 | いいえ |
状況によっては、表示用の書式指定文字列に「パラメタ」が含まれていることがあります。例えばコマンドラインで
search
を実行すると、検索結果を表示する際に、検索にマッチしたグループがパラメタとして使用されます。この書式指定コードは、数字 で表されるパラメタで置換されます。
|
%a | アクションフラグ | 1 | いいえ | パッケージに対して実行予定のあらゆるアクションを簡潔に表す、単一文字のフラグ (図2.10「「アクション」フラグの値」を参照してください)。 |
%A | アクション | 10 | いいえ | パッケージに対して実行予定のアクションについての、いくらか冗長な記述。 |
%B | 破損の数 | 12 | いいえ |
破損パッケージがない場合は何も生成しません。存在する場合は、破損パッケージ数を表す「Broken:
10 」のような文字列を生成します。
|
%c | 現在の状態のフラグ | 1 | いいえ | パッケージの現在の状態を簡潔に表す、単一文字のフラグ (図2.9「「現在の状態」フラグの値」を参照してください)。 |
%C | 現在の状態 | 11 | いいえ | パッケージの現在の状態についての、より冗長な記述。 |
%d | 説明 | 40 | はい | パッケージ説明・要約版。 |
%D | パッケージサイズ | 8 | いいえ | パッケージを含むパッケージファイルのサイズ。 |
%E | Architecture | 10 | いいえ |
Outputs the string of the architecture, for example
「amd64 」.
|
%e | Source | 30 | いいえ |
Outputs the source package, for example
「aptitude 」 for
「aptitude-doc-en 」.
|
%H | ホスト名 | 15 | いいえ | aptitude を実行しているコンピュータの名前。 |
%i | Pin プライオリティ | 4 | いいえ | パッケージバージョンに対しては、指定されたプライオリティ値の中で最も高いものを表示します。パッケージに対しては、強制的にインストールされる予定のバージョンがもしあれば、そのプライオリティ値を表示します。 |
%I | インストールサイズ | 8 | いいえ | パッケージが占有するディスク領域の (推定) 量。 |
%m | メンテナ | 30 | はい | パッケージのメンテナ。 |
%M | 自動フラグ | 1 | いいえ |
パッケージが自動的にインストールされたものである場合、「A 」を出力します。そうでない場合は何も出力しません。
|
%n | プログラムバージョン | 「0.8.13」の長さ。 | いいえ |
Outputs the version of aptitude that is running, currently
「0.8.13 」.
|
%N | プログラム名 | The length of the name. | いいえ |
Outputs the name of the program; usually
「aptitude 」.
|
%o | ダウンロードサイズ | 17 | いいえ |
インストール予定のパッケージがない場合は何も出力しません。パッケージがある場合は、インストール予定の全パッケージファイルの合計のサイズ
(必要なダウンロードの量を示す推定値) を表す文字列 (例えば 「DL サイズ:
1000B 」) を出力します。
|
%O | Origin | 30 | いいえ |
Outputs a string of the origin of the package, for example
「Debian:unstable [amd64] 」.
|
%p | パッケージ名 | 30 | はい | パッケージの名前を出力します。パッケージがツリー状の一覧に表示される場合、可能であれば、パッケージの名前はツリー内での深さに応じてインデントされます。 |
%P | 優先度 | 9 | いいえ | パッケージの優先度を出力します。 |
%r | 逆依存の数 | 2 | いいえ | パッケージに依存しているインストール済みパッケージのおおよその数を出力します。 |
%R | 優先度・簡略版 | 3 | いいえ |
パッケージの優先度の簡略表記を出力します。例えば「重要 」は「重 」となります。
|
%s | セクション | 10 | いいえ | パッケージのセクションを出力します。 |
%S | 信頼状態 | 1 | いいえ | パッケージが信頼できないものである場合、"U" の文字を表示します。 |
%t | アーカイブ | 10 | はい | パッケージが発見されたアーカイブ。 |
%T | Tagged (and user-tags) | 30 | いいえ |
Outputs 「 This field also includes user-tags. |
%u | ディスク使用量の変化 | 30 | いいえ |
予定されているアクションによって、使用されるディスク領域の量が変化する場合は、ディスク領域の変化を記述する文字列
(例えば、「100MB のディスク領域を新たに使用します 」)
を出力します。
|
%v | 現在のバージョン | 14 | いいえ |
パッケージが現在インストールされている場合はそのバージョンを、現在インストールされていない場合は
<なし> を、出力します。
|
%V | インストール候補のバージョン | 14 | いいえ |
パッケージが現在入手可能な場合は、+)
がそのパッケージに対して発行されたときにインストールされるバージョンを、現在入手不可能な場合は
<なし> を、出力します。
| → (
%Z | サイズの変化 | 9 | いいえ | パッケージのインストール・更新・削除によって使用または解放されるディスク領域の量を出力します。 |
パッケージの階層構造は分類規則によって生成されます。分類規則とは、階層構造の構築方法を記述する一連の規則です。分類規則は規則の「処理の流れ」を記述し、各規則は一部のパッケージを捨てたり、一部のパッケージを含む部分階層構造を作成したり、ツリーを操作したりします。設定項目
Aptitude::UI::Default-Grouping
と Aptitude::UI::Default-Preview-Grouping
が、それぞれ、新規に作成したパッケージ一覧とプレビュースクリーンに分類規則を設定します。G
を押すと、現在のパッケージ一覧に分類規則を設定できます。
分類規則は、
というようなコンマ区切りの規則のリストで記述されます。各規則 1
,規則
2
,...
規則
は、例えば
versions
や section(subdir)
というように、必要に応じて引数を後ろにつけた規則名から成ります。引数が必要か否かや、必要とする (あるいは任意で指定可能な)
引数の数は、規則の種類によります。
規則は非末端と末端のいずれか一方です。非末端規則は、階層構造の一部を生成してパッケージを後方の規則に渡す、という方法でパッケージを処理します。他方で末端規則は、やはりツリーの一部 (通常はパッケージに相当する項目) を生成しますが、パッケージを後方の規則に渡しません。末端規則が指定されていない場合、aptitude はデフォルトの規則を使用します。デフォルトの規則では、標準「パッケージ項目」が作成されます。
action
パッケージに対して予定されているアクションに応じてパッケージを分類します。更新可能ではなく変更もなされないパッケージは無視されます。これは、プレビューツリーで使用されている分類方法です。
architecture
Groups packages according to their architecture.
deps
この規則は末端規則です。
展開してパッケージの依存関係を見えるようにできる標準パッケージ項目を作成します。
filter(パターン
)
1 つ以上のバージョンがパターン
にマッチするパッケージのみを含めます。
パターン
が「与えられていない」場合、捨てられるパッケージはありません。これは後方互換性のための機能で、将来削除されるかもしれません。
firstchar[(mode
)]
パッケージ名の 1 文字目に基づいてパッケージを分類します。
To be precise, it is not always the first letter -- for packages starting
with lib*
the name of the group is
liba
, libb
, ... like in Debian FTPs.
モード
には以下のいずれかを指定できます。
binary
Group based on the binary package name. This is the default if no
mode
is specified.
例2.7 Grouping policy firstchar
or
firstchar(binary)
With the source package dpkg
as an example, the binary
packages dselect
, dpkg
and
dpkg-dev
would be grouped under d
,
while libdpkg-dev
and libdpkg-perl
would be added to the libd
group.
source
Group based on the source package name.
This is useful for example when browsing packages coming from the same
source package (source grouping
policy) within large collections (examples: all installed packages, all
upgradable packages, all packages from "main" section), to add an
intermediate grouping step. In this way, one can for example emulate the
hierarchy of FTPs (try grouping:
"section(topdir),firstchar(source),source"
).
例2.8 Grouping policy firstchar(source)
Again, with the source package dpkg
as an example, all
the binary packages dselect
, dpkg
,
dpkg-dev
, libdpkg-dev
and
libdpkg-perl
would be grouped under d
.
pattern(pattern
[=>title
] [{policy
}] [, ...])
A customizable grouping policy. Each version of every package is matched
against the given pattern
s. The first match
found is used to assign a title
to the package;
packages are then grouped by their title
.
Strings of the form \N
that occur in
title
will be replaced by the Nth result of the
match. If title
is not present, it is assumed to
be \1
. Note that packages which do not match any
pattern
s will not appear in the tree at all.
The example above will group packages according to their Maintainer field.
The policy pattern(
will do the same
thing, as the absent ?maintainer
())title
defaults to
\1
.
Instead of =>
, an entry
may end with title
||
. This indicates that packages matching
the corresponding pattern
will be inserted into
the tree at the same level as the pattern
grouping,
rather than being placed in subtrees.
The example above will place packages that are being removed into a subtree,
and place all the other packages at the current level, grouped according to
the policies that follow pattern
.
By default, all the packages that match each pattern are grouped according
to the rules that follow the pattern
policy. To specify
a different policy for some packages, write the policy in braces
({}
) after the title of the group, after the
||
, or after the pattern if neither is present. For
instance:
The policy in the above example has the following effects:
Packages that are being removed are placed into a subtree labeled 「Packages Being Removed」; the grouping policy for this subtree is empty, so the packages are placed into a flat list.
Packages that are being installed are placed into a subtree labeled
Packages Being Installed
and grouped according to the
policies that follow pattern
.
All remaining packages are placed at the top level of the tree, grouped according to their status.
パターン
の書式についてさらに詳しく知りたい場合は、「Search patterns」を参照してください。
priority
優先度に応じてパッケージを分類します
section[(モード
[,passthrough])]
セクション (Section) フィールドに応じてパッケージを分類します。
モード
には以下のいずれかを指定できます。
none
Group based on the whole Section field, so categories like
「non-free/games」 will be created. This is the default if no
mode
is specified.
topdir
Group based on the part of the Section field before the first
/
character; if this part of the Section is not
recognized, or if there is no /
, the first entry in the
list Aptitude::Sections::Top-Sections
will be used instead.
subdir
Group based on the part of the Section field after the first
/
character, if it is contained in the list
Aptitude::Sections::Top-Sections
.
If not, or if there is no /
, group based on the entire
Section field instead.
subdirs
Group based on the part of the Section field after the first
/
character, if the portion of the field preceding it is
contained in the list Aptitude::Sections::Top-Sections
;
if not, or if there is no /
, the entire field will be
used. If there are multiple /
characters in the portion
of the field that is used, a hierarchy of groups will be formed. For
instance, if 「games
」 is not a member of
Aptitude::Sections::Top-Sections
,
then a package with a section of
「games/arcade
」 will be placed under the
top-level heading 「games
」, in a sub-tree
named 「arcade
」.
passthrough
が指定されている場合、何らかの理由で実際のセクションフィールドがないパッケージ
(例えば仮想パッケージ) は、次の分類レベルに渡される前に下位のカテゴリに入れられることはなく、そのまま渡されます。
status
パッケージを以下のカテゴリに分類します
セキュリティアップデート
更新可能
New
インストール済み
インストールされていない
Obsolete and Locally Created
仮想
source
Groups packages according to their source package name.
tag[(facet
)]
Debian パッケージファイル内に格納されたタグ情報に応じてパッケージを分類します。facet
が指定されている場合、その facet に相当するタグのみが表示され、その facet
がないパッケージは隠されます。facet
が指定されていない場合は、全てのパッケージが一度以上表示されます
(タグのついていないパッケージは、タグのついているパッケージとは別に一覧表示されます)。
debtags についてさらに詳しく知りたい場合は、http://debtags.alioth.debian.org を参照してください。
task
利用可能なタスクを含む「タスク」と呼ばれるツリーを作成します
(タスクに関する情報は、tasksel
パッケージ内の
debian-tasks.desc
から読み込まれます)。task
以降の規則は、タスクの兄弟ノードとしてカテゴリを作成します。
versions
この規則は末端規則です。
展開してパッケージのバージョンを見えるようにできる標準パッケージ項目を作成します。
By default, packages in the package list or in the output of aptitude search
are sorted by
name. However, it is often useful to sort them according to different
criteria (for instance, package size), and aptitude allows you to do just
that by modifying the sorting policy.
前のセクションで説明した分類規則と同様、並び替え規則はコンマ区切りのリストです。リスト内の各項目は並び替え規則の名前で、最初の規則で複数のパッケージが「同等」になる場合は
2 番目の規則が並び替えに使用される、というように処理されます。規則の前にチルダ文字 (~
)
を置くと、その規則の意味を通常と逆にできます。例えば priority,~name
とすると、優先度によってパッケージを並び替えますが、同じ優先度のパッケージは名前による並び替え結果の逆順で並べられます。
To change the sorting policy for an active package list, press
S. To change the default sorting for all package lists,
set the configuration option Aptitude::UI::Default-Sorting
.
To change the sorting policy for aptitude search
, use the
--sort
command-line option.
以下の規則が利用可能です。
installsize
インストール時に必要となるサイズの推定量でパッケージを並び替えます。
installsizechange
Sorts packages by the change in the installed size (estimated amount of size required when installed), comparing the current version (if installed) and the candidate version to be installed, upgraded or removed.
debsize
Sorts packages by the size of the package.
name
名前でパッケージを並び替えます。
priority
優先度でパッケージを並び替えます。
version
バージョン番号でパッケージを並び替えます。