Provided by: apt_2.0.10_amd64
名前
apt.conf - APT の設定ファイル
説明
/etc/apt/apt.conf は、APT スイートの全ツールで使用するメイン設定ファイルです。しかし、間違 いなくオプションを設定しておくだけの場所などではありません。そのため、APT スイートは統一環 境を提供するため、共通のコマンドラインパーサを共有しています。 APT ツールの起動時に、設定ファイルを以下の順番で読み込みます。 1. APT_CONFIG 環境変数で指定したファイル (存在する場合) 2. Dir::Etc::Parts にあるすべてのファイルを英数字の昇順になります。ファイル名には拡張子が ないか、"conf" となっており、英数字、ハイフン (-)、アンダースコア (_)、ピリオド (.) で 構成されています。そうでなければ、Dir::Ignore-Files-Silently 設定リストのパターンに一 致するもの以外に対して、ファイルを無視するという注意を APT が出力します。一致する場合 は黙って無視します。 3. Dir::Etc::Main で指定される、メイン設定ファイル 4. バイナリ固有の設定サブツリーに設定されたすべてのオプションは、ツリーのルートに移動され ます。 5. コマンドラインオプションにより、設定ディレクティブの上書きや設定ファイルの追加読み込み ができます。
構文
設定ファイルは、機能グループごとに系統立てられたオプションを木構造で表します。オプションの 指定は、2 つのコロンで区切ります。例えば APT::Get::Assume-Yes は、APT ツールグループの Get ツール用オプションです。オプションは、親グループからは継承しません。 設定言語の構文は、bind や dhcp のような ISC ツールをモデルにしています。// で始まる行はコ メントとして扱われます (無視)。同様に C/C++ のコメントのような /* と */ の間もコメントとし て扱います。いずれの行も、APT::Get::Assume-Yes "true"; のような形式です。引用符と行末のセ ミコロンは必須です。値は1行でなければならず、文字列結合はありません。値の中にバックスラッ シュや余計な引用符があってはいけません。オプション名は、英数字と "/-:._+" が使用できま す。以下のように波カッコを使うと、新しいスコープを開くことができます。 APT { Get { Assume-Yes "true"; Fix-Broken "true"; }; }; また適宜改行することで、より読みやすくなります。リストは、開いたスコープ、クォートで囲まれ た 1 単語、そしてセミコロンと続けることで作成できます。セミコロンで区切って、複数のエント リを表せます。 DPkg::Pre-Install-Pkgs {"/usr/sbin/dpkg-preconfigure --apt";}; /usr/share/doc/apt/examples/configure-index.gz は一般的な設定ファイルのサンプルです。どの ように設定するか参考になるでしょう。 設定項目の名前にある文字の大小は、重要ではありません。そのため、前述の例を dpkg::pre-install-pkgs とすることもできます。 前述した DPkg::Pre-Install-Pkgs の例で見られるように、リストを定義した場合、設定項目名はオ プションになります。名前を指定しない場合、新しいエントリは、単純に新しいオプションをリスト に追加します。名前を指定して同様にすると、あらゆる他の選択肢をオプションに再割り当てし、オ プションを上書きできます。 #include (これは廃止予定でサポートしない他の実装もあります) と #clear の 2 つの特別なコマ ンドがあります。#include は指定したファイルを取り込みます。ファイル名がスラッシュで終わっ た場合には、そのディレクトリをすべて取り込みます。#clear は、設定ツリーの一部を削除するの に使用します。指定した要素と、それ以下の要素を削除します (これらの行も、セミコロンで終わる 必要があることに注意してください)。 #clear コマンドは、リストや完全なスコープを削除する唯一の方法です。スコープの再オープン (や後述する :: スタイル)は、それまで書いたエントリを上書きしません。オプションでは新しい値 を与えて上書きするしかありませんが、リストやスコープは上書きできません。クリアされるだけで す。 すべての APT ツールでは、コマンドラインで任意の設定ディレクティブを指定できる -o オプショ ンが使用できます。構文は、完全なオプション名 (例: APT::Get::Assume-Yes) に続き等号、その後 オプションの新しい値となります。リスト名に続き :: を加えることで、リストを追加できます (疑 問に思われたように、スコープ構文はコマンドラインで使用できません)。 :: を用いたリストへの項目追加は、1 行で 1 項目の場合にのみ使用でき、スコープ構文と組み合わ せるべきではないことに注意してください (スコープ構文には暗黙で :: が追加されます)。両方の 構文を同時に使用すると、「他のオプションと同様に名前と共に動作する、通常ではありえない名前 "::" のオプションである」といった、(残念なことに) 複数のユーザに渡るバグの引き金になりま す。たくさんの問題の中には、リストに追加しようと誤った構文で複数行書いたユーザが、このオプ ション "::" を最後に割り当てようとして、正反対の結果を得るということも含まれます。APT の次 期バージョンでは、この誤用を検出すると、動作を停止しエラーを上げるようになります。そのた め、APT がこの件で明白にエラーを吐かない限りは、自分でそのような構文を修正してください。
APT グループ
このオプショングループは、ツール全体に影響のある、一般的な APT の振る舞いを制御します。 Architecture システムアーキテクチャ - ファイルを取得したり、パッケージリストを解析するときに使用す るアーキテクチャをセットします。内部でのデフォルトは、apt をコンパイルしたアーキテク チャです。 Architectures システムがサポートする、すべてのアーキテクチャです。例えば、amd64 (x86-64 とも呼ばれま す) 命令セットを実装した CPU は、i386 (x86) 命令セット用にコンパイルされたバイナリも実 行できます。このリストは、ファイルを取得しパッケージリストを解析する際に利用されま す。初期のデフォルト値は、常にシステムのネイティブアーキテクチャ (APT::Architecture) です。dpkg --add-architecture を用いて、外部アーキテクチャをデフォルトリストに追加しま す。 Compressor この設定項目ではどの圧縮形式をサポートするのか、その形式のサポートが apt に直接組み込 まれていない場合に圧縮と展開をどのように行えばいいのか、それとこの形式で何か圧縮するの にどれくらいコストがかかるのか、という値を定義します。1つの例として、以下の内容では拡 張子が .reversed のコストの低いファイルについて、ファイルの作成と保存に加えてダウン ロードと展開を apt に許可し、rev による圧縮と展開の際に渡すコマンドラインパラメータを 追加しない設定となります: APT::Compressor::rev { Name "rev"; Extension ".reversed"; Binary "rev"; CompressArg {}; UncompressArg {}; Cost "10"; }; Build-Profiles 構築依存の解決にあたって有効になっているビルドプロファイルを名前空間の「profile.」接頭 辞を取り除いたもの全ての一覧です。デフォルトではこの一覧は空です。dpkg-buildpackage(1) で利用される DEB_BUILD_PROFILES はこの一覧よりも優先されます。 Default-Release ひとつ以上のバージョンがある場合に、パッケージをインストールを行うデフォルトリリースで す。リリース名や、コード名、リリースバージョンがあります。例えば 'stable', 'testing', 'unstable', 'buster', 'bullseye', '4.0', '5.0*' となります。apt_preferences(5) も参照 してください。 Snapshot Snapshot to use for all repositories configured with Snapshot: yes. See also sources.list(5), the --snapshot option that sets this value, and Acquire::Snapshots::URI below. Ignore-Hold 保留パッケージの無視 - このグローバルオプションは、問題解決器に保留と指定したパッケー ジを無視します。 Clean-Installed デフォルトで有効です。on の時、autoclean 機能は、ダウンロードできなくなったパッケージ を、すべてキャッシュから削除します。off の場合、ローカルにインストールされているパッ ケージは、削除対象から外します。しかし、 APT はキャッシュから削除したパッケージの再イ ンストール方法を、直接提供するわけではないことに注意してください。 Immediate-Configure デフォルトは on です。dpkg(1) の呼び出し失敗の影響を最小限にするため、インストール・更 新操作の中で、APT は不可欠パッケージや重要パッケージを、可能な限り早くインストールする ようになります。このオプションを無効にすると、以下のように、重要パッケージを特別パッ ケージと同様に扱うようになります。パッケージ A の展開とその設定の間に、パッケージ B や C などの関係ない、たくさんの他のパッケージの展開と設定が行えます。dpkg(1) の呼び出しに 失敗した場合 (例: パッケージ B のメンテナスクリプトでエラー発生)、システムの状態 は、パッケージ A は展開したが未設定になります。そのため、A に依存したパッケージの動作 が保証されなくなり、A への依存関係は、もう満たせません。 即時 (immediate) フラグは事前依存関係と等価なため、即時設定マーカも潜在的に、循環依存 関係の問題に対して適用されます。理論上 APT は、即時設定不能と認識し、中断し、操作を継 続するためにこのオプションを一時的に無効にするよう提案できます。ここで言う「理論上」と いう言葉に注意してください。現実世界では、安定版ではないバージョンでも、この問題にはほ とんど遭遇していませんし、問題のパッケージの依存関係が誤っているか、システムの状態がす でに破損している場合に発生していました。そのため、盲目的にこのオプションを無効にするべ きではありません。前述のシナリオを解決する方法の、1つにしかすぎないのです。 このオプションを無効にして dist-upgrade のような大きな操作を実行する前に、パッケージに install を明示して、即時設定が行われないようにするべきです。ですが、動作の改善とアップ グレードプロセスの修正のため、以下のバグリンクから、問題をディストリビューションと APT チームにも報告していただきたいです。 Force-LoopBreak 何をしようとしているのか本当に判っているのでなければ、絶対にこのオプションを有効にしな いでください。不可欠 (essential) パッケージ同士で、競合 (Conflicts) /競合や競合/事前依 存 (Pre-Depend) のループに落ち込んだときに、不可欠パッケージを一時的に削除してループを 抜けられるようにします。そんなループはあり得ないはずで、あるとすれば重大なバグです。こ のオプションは、tar, gzip, libc, dpkg, dash とそれらが依存しているパッケージ以外の不可 欠パッケージで動作します。 Cache-Start, Cache-Grow, Cache-Limit APT は、バージョン 0.7.26 から、利用できる情報を格納するため、サイズ可変なメモリマップ キャッシュファイルを使用します。Cache-Start は、キャッシュサイズが増大していくヒントと して動作し、従って APT が起動時に要求するメモリ量です。デフォルト値は、20971520 バイト (~20 MB) です。この領域の量が、APT に利用可能になっている必要があることに注意してくだ さい。そうでなければ、無様に失敗することになります。そのため、メモリに制限のあるデバイ スで、たくさんのソースが設定され、それが増加していくシステムでは、この値をより低くして おくべきです。Cache-Grow は、Cache-Start が足りなくなったという領域定義イベントによ り、どの程度キャッシュサイズを増加させるかを、バイト数で定義します。デフォルトは 1048576 (~1 MB) です。この値は全情報を格納できる量になるか、Cache-Limit に達するま で、繰り返し適用されます。Cache-Limit のデフォルトは 0 で、無制限です。Cache-Grow に 0 をセットすると、キャッシュの自動増加を無効にします。 Build-Essential 構築依存関係で不可欠なパッケージを定義します。 Get Get サブセクションは apt-get(8) ツールを制御します。このオプションの詳細は apt-get(8) の文書を参照してください。 Cache Cache サブセクションは apt-cache(8) ツールを制御します。このオプションの詳細は apt- cache(8) の文書を参照してください。 CDROM CDROM サブセクションは apt-cdrom(8) ツールを制御します。このオプションの詳細は apt- cdrom(8) の文書を参照してください。
ACQUIRE グループ
オプションの Acquire グループは、パッケージのダウンロードやダウンロードに関して責任を持 つ、様々な「取得 (acquire) 方法」 を制御します (sources.list(5) も参照)。 Check-Date Security related option defaulting to true, enabling time-related checks. Disabling it means that the machine's time cannot be trusted, and APT will hence disable all time-related checks, such as Check-Valid-Until and verifying that the Date field of a release file is not in the future. Max-FutureTime Maximum time (in seconds) before its creation (as indicated by the Date header) that the Release file should be considered valid. The default value is 10. Archive specific settings can be made by appending the label of the archive to the option name. Preferably, the same can be achieved for specific sources.list(5) entries by using the Date-Max-Future option there. Check-Valid-Until セキュリティ関連のオプションで、デフォルトは true です。Release ファイルの有効期限検証 により、長期間のリプレイ攻撃を防ぎます。さらに、例えばユーザが、もう更新されないミラー サイトを識別するのを支援します。しかしこの機能は、ユーザのシステム時計が正確であること に依存しています。アーカイブメンテナは、Valid-Until ヘッダがある Release ファイルを作 成するよう推奨されていますが、このヘッダを付与しない、またはより厳密な値が必要な場 合、以下の Max-ValidTime オプションを使用できます。sources.list(5) エントリの Check-Valid-Until オプションは、グローバルオーバーライドを使う代わりに選択的にチェック を無効にすることが好ましいです。 Max-ValidTime Release ファイルを作成してから (Date ヘッダ)、有効であるとみなせる最大時間 (秒数) で す。Release ファイル自体に Valid-Until ヘッダがある場合、その 2 つのうち、より早い日付 が有効期間として使用されます。デフォルト値は 0 で「無期限」を表します。オプション名に アーカイブのラベルを付与することで、アーカイブ固有の設定を作成できます。また は、Valid-Until-Max オプションを使用して特定の sources.list(5) エントリで同じことを達 成できます。 Min-ValidTime Release ファイルを作成してから (Date ヘッダ)、有効であるとみなせる最小時間 (秒数) で す。Valid-Until がある頻繁に更新されるアーカイブの、ほとんど更新されない (ローカル) ミ ラーを使用する場合に、完全に有効期限チェックを無効にする代わりに使用してください。オプ ション名にアーカイブのラベルを付与することで、アーカイブ固有の設定を作成できます。また は、Valid-Until-Min オプションを使用して特定の sources.list(5) エントリで同じことを達 成できます。 AllowTLS Allow use of the internal TLS support in the http method. If set to false, this completely disables support for TLS in apt's own methods (excluding the curl-based https method). No TLS-related functions will be called anymore. PDiffs (Packages のような) インデックス全体をダウンロードするのではなく、PDiffs と呼ばれる差 分をダウンロードしようとします。デフォルトでは True です。または、PDiffs オプションを 使用して特定の sources.list(5) エントリまたはインデックスファイルでこれを設定できま す。 PDiffs の使用を制限するふたつのサブオプションがあります。FileLimit では、ファイルを更 新するのに、PDiff ファイルをダウンロードできる最大数を指定します。一方、SizeLimit は、対象ファイルのサイズに対して、全パッチサイズの最大パーセンテージを指定します。どち らの制限を超えても、パッチをダウンロードする代わりに、完全なファイルをダウンロードしま す。 By-Hash (Packages のような) インデックス全体をダウンロードするのではなく、PDiffs と呼ばれる差 分をダウンロードしようとします。デフォルトでは True です。または、By-Hash オプションを 使用して特定の sources.list(5) エントリまたはインデックスファイルでこれを設定できま す。 Queue-Mode キューモード - Queue-Mode は、APT がどのように並列接続を行うか、host か access で指定 できます。host は、ターゲットホストごとに 1 接続を開きます。access は、URI タイプごと に 1 接続を開きます。 Retries リトライの回数を設定します。0 でない場合、APT は失敗したファイルに対して、与えられた回 数だけリトライを行います。 Source-Symlinks ソースアーカイブのシンボリックリンクを使用します。true がセットされているとき、可能な らコピーの代わりにシンボリックリンクを張ります。true がデフォルトです。 http https The options in these scopes configure APT's acquire transports for the protocols HTTP and HTTPS and are documented in the apt-transport-http(1) and apt-transport-https(1) manpages respectively. ftp ftp::Proxy は、FTP URI を使用する際のデフォルトプロキシを設定しま す。ftp://[[user][:pass]@]host[:port]/ という標準形で表します。ホストごとのプロキシ を、ftp::Proxy::<host> という形で指定できます。この時、プロキシを使用しないという意味 の特殊キーワード DIRECT も使用できます。上記の設定をなにも指定しないと、環境変数 ftp_proxy を使用します。FTP プロキシを使用するには、設定ファイルに ftp::ProxyLogin ス クリプトを設定する必要があります。このエントリには、接続する際にプロキシサーバに送信す るコマンドを設定します。どのようにするのかは /usr/share/doc/apt/examples/configure-index.gz の例を参照してください。URI を構成する コンポーネントに対応する置換変数は、$(PROXY_USER), $(PROXY_PASS), $(SITE_USER), $(SITE_PASS), $(SITE), $(SITE_PORT) です。 timeout オプションは、この方法でのタイムアウトまでの時間を設定します。これには、接続の タイムアウトとデータのタイムアウトが含まれています。 設定のいくつかは、パッシブモードを制御するものです。一般的に、パッシブモードのままにし ておく方が安全で、ほぼどんな環境でも動作します。しかしある状況下では、パッシブモードが 無効のため、代わりにポートモード FTP を使用する必要があります。この設定は、プロキシを 通る接続や特定のホストへの接続全般に有効です (設定例はサンプル設定ファイルを参照してく ださい)。 環境変数 ftp_proxy に HTTP URL を指定すると FTP over HTTP のプロキシが利用可能になりま す。構文は前述の http についての説明を参照してください。設定ファイルの中でこれをセット することはできません。また、効率が悪いため FTP over HTTP を使用するのは推奨しません。 ForceExtended の設定は RFC2428 の EPSV コマンドと EPRT コマンドの使用を制御します。デ フォルトでは false で、コントロールコネクションが IPv6 の時にのみ、このコマンドを使用 するということです。これを true にセットすると、IPv4 コネクションでも、強制的にこのコ マンドを使用します。ほとんどの FTP サーバは RFC2428 をサポートしていないことに注意して ください。 cdrom cdrom メソッドを利用する URI では、設定できるオプションはマウントポイントだけで す。/etc/fstab で設定されているように、CD-ROM (または DVD など) ドライブのマウントポイ ントを cdrom::Mount に設定しなければなりません。マウントポイントが fstab に記述できな い場合、かわりにマウント・アンマウントコマンドも使用できます。構文は、cdrom ブロックを /cdrom/::Mount "foo"; の形で記述します。スラッシュを後につけるのが重要です。アンマウントコマンドは UMount で 指定することができます。 gpgv GPGV URI 用の唯一のオプションは、gpgv に渡す追加パラメータのオプションであ る、gpgv::Options です。 CompressionTypes acquire メソッドが理解できる、圧縮法のリストです。Packages のようなファイルにはさまざ まな圧縮形式が利用できます。デフォルトで acquire メソッドは、xz や gzip 等の一般的な多 くの圧縮形式で展開、再圧縮できます。この設定項目ではサポートする圧縮形式を参照、変更で き、サポートする圧縮形式をさらに追加することもできます (関連項目 APT::Compressor)。 Acquire::CompressionTypes::FileExtension "Methodname"; また、Order サブグループを使用して、取得システムが、圧縮ファイルのダウンロードを試みる 順番を定義できます。取得システムは先頭のものを試行し、エラーが発生すると次の圧縮タイプ のダウンロードを開始します。そのため、どれかを他のものより優先したい場合、単にそのタイ プを先頭に追加してください。まだ追加していないタイプは、リストの最後に追加されます。つ まり、 Acquire::CompressionTypes::Order:: "gz"; とすると、gzip で圧縮されたファイルを他のどれよりも優先的に使用します。もし xz を gzip や bzip2 よりも優先するべきなら、設定を以下のようにしてください。 Acquire::CompressionTypes::Order { "xz"; "gz"; }; bz2 は自動的に追加されるため、明示する必要はありません。 実行時に Dir::Bin::Methodname をチェックすることに注意してください。このオプションが設 定されていてその形式のサポートが apt に直接組み込まれていない場合、ファイルがある場合 に、この方法しか使われなくなります。例えば、bzip2 メソッド (内蔵) の設定は以下になりま す。 Dir::Bin::bzip2 "/bin/bzip2"; また、コマンドラインに指定した一覧のエントリは設定ファイルに指定したものの後、デフォル トエントリの前に追加されることに注意してください。この場合、設定ファイルに指定した内容 よりも前に指定するには、オプションを直接 (一覧スタイルでなく) 指定してください。これは 定義されている一覧を上書きするのではなく、このタイプを先頭に付加するだけです。 特殊なタイプ uncompressed は、非圧縮ファイルを優先するために使用できますが、ほとんどの アーカイブは非圧縮ファイルを提供しないため、ほとんどローカルミラーでのみ有効になること に注意してください。 GzipIndexes gzip 圧縮インデックス (Packages, Sources, Translations) をダウンロードする際、ローカル で展開せずに、gzip で圧縮したままにします。これにより、かなりディスク領域を節約できま すが、ローカルパッケージキャッシュを構築する際に、CPU の能力を余計に消費します。デフォ ルトでは false です。 Languages Languages サブセクションは、Translation ファイルをダウンロードし、APT が説明の翻訳を表 示しようとする場合の挙動を制御します。APT はリストの先頭にある言語で、まず有効な説明を 表示しようとします。Languages は 短い形式や長い形式の言語コードで、定義できます。すべ てのアーカイブが、全言語の Translation ファイルを、提供しているわけではないことに注意 してください。長い言語コードは特に見かけません。 デフォルトのリストには "environment" と "en" があります。"environment" はここでは特殊 な意味があります。これは実行時に、LC_MESSAGES 環境変数から取得した言語コードに置換され ます。また、このリストには、同じコードが2度現れないように確認してください。LC_MESSAGES が "C" に設定されているだけの場合、Translation-en ファイルを (利用可能であれば) 使用し ます。強制的に APT が Translation ファイルを使用しないようにするに は、Acquire::Languages=none と設定してください。"none" はもうひとつの特殊な意味を持つ コードで、適切な Translation ファイルの検索を中止します。環境から実際の言語を指定され なかった場合、この値を用いて APT に翻訳をダウンロードさせます。そのため、以下の設定例 では、英語ロケールの場合 "en, de" の順になり、ドイツ語ロケールの場合 "de, en" の順にな ります。"fr" はダウンロードされますが、フランス語ロケール ("fr, de, en" の順になる) で ないと、APT が使用しないことに注意してください。 Acquire::Languages { "environment"; "de"; "en"; "none"; "fr"; }; 注意: 異なる環境 (例: 異なるユーザや他のプログラム) で APT を実行したことによる問題を 防ぐため、/var/lib/apt/lists/ にあるすべての Translation ファイルを、リストの最後 (暗 黙の "none" の後) に追加します。 ForceIPv4 ダウンロード時に IPv4 プロトコルだけを使うように強制します。 ForceIPv6 ダウンロード時に IPv6 プロトコルだけを使うように強制します。 MaxReleaseFileSize Release/Release.gpg/InRelease ファイルの最大ファイルサイズです。デフォルトは 10MB で す。 EnableSrvRecords apt が 接続するための代替サーバを選択するために RFC 2782 で指定された DRS SRV サーバレ コードを使う場合は、このオプションを制御します。デフォルトは "true" です。 AllowInsecureRepositories 十分なセキュリティ情報を提供していないリポジトリからのデータファイル読み込みを行う更新 操作を許可します。デフォルトは「false」です。概念や影響、代替手段については apt- secure(8) で説明しています。 AllowWeakRepositories セキュリティ情報を提供してはいるものの暗号的に十分に強いものとは見なされなくなっている 場合に、そういったリポジトリからのデータファイル読み込みを行う更新操作を許可します。デ フォルトは「false」です。概念や影響、代替手段については apt-secure(8) で説明していま す。 AllowDowngradeToInsecureRepositories 以前に GPG 署名されたリポジトリが、更新操作中に署名なしにすることを許可します。以前に 信頼されたリポジトリの有効な署名が存在しない場合、更新を拒否します。このオプション は、この保護を無効にするために使用することができます。ほぼ確実に、これを有効にすること はありません。デフォルトは false です。概念や影響、代替手段については apt-secure(8) で 説明しています。 Changelogs::URI スコープ URI は、それらを取得する場所から知られている場合は、変更履歴の取得のみ行うことができま す。好ましいリリースファイルは、「変更履歴」フィールドでこのことを示します。これが利用 できない場合、Acquire::Changelogs::URI::Label::LABEL または Acquire::Changelogs::URI::Origin::ORIGIN オプションが存在し、そしてこの値が取られてる 場合は、リリースファイルの Label/Origin フィールドが確認するために使用されます。リリー スファイル内の値は、Acquire::Changelogs::URI::Override::Label::LABEL または Acquire::Changelogs::URI::Override::Origin::ORIGIN で上書きできます。そのパッケージ固 有のデータが @CHANGEPATH@ プレースホルダに置き換えられている場合以外は、値はテキスト ファイルへの正常な URI にする必要があります。値は次の通りです: 1. パッケージがコンポー ネント (例えば、main) からのものである場合、それ以外の場合は省略されている最初の部分で す、2. ソースパッケージ名の最初の文字。ただし、ソースパッケージ名が 'lib' で始まる場合 を除きます (その場合は 最初の 4 文字になります)。3. 完全なソースパッケージ名。4. 再び 完全な名前および 5. ソースのバージョン。(存在する場合は) 最初、第二、第三、第四の部分 はスラッシュ ('/') で区切られ、第四と第五の部分の間はアンダースコア ('_') です。この ソースから変更履歴を取得することができないことを示す特別な値 'no' がこのオプションで利 用可能です。この場合、可能であれば別のソースが試行されます。 Snapshots::URI スコープ Like changelogs, snapshots can only be acquired if an URI is known from where to get them. Preferable the Release file indicates this in a 'Snapshots' field. If this isn't available the Label/Origin field of the Release file is used to check if a Acquire::Snapshots::URI::Label::LABEL or Acquire::Snapshots::URI::Origin::ORIGIN option exists and if so this value is taken. The value in the Release file can be overridden with Acquire::Snapshots::URI::Override::Label::LABEL or Acquire::Snapshots::URI::Override::Origin::ORIGIN. The value should be a normal URI to a directory, except that the snapshot ID replaced with the placeholder @SNAPSHOTID. The special value 'no' is available for this option indicating that this source cannot be used to acquire snapshots from. Another source will be tried if available in this case.
バイナリユーザ設定
特に、apt のバイナリの導入では、APT::Get::Show-Versions が apt と同様に apt-get に効果を与 えるように、特定のバイナリのみに影響を与えるように見えるオプションであっても、特定のバイナ リのために特定のオプションを設定することは有用であり得ます。 特定のバイナリ用のオプション設定は、Binary::specific-binary スコープ内でオプションを設定し て達成することができます。 apt 用のAPT::Get::Show-Versions オプションの設定は、例え ば、Binary::apt::APT::Get::Show-Versions 設定の代わりに実行されることができます。 さらに上記の説明の節に見られるように、コマンドライン上のオプション自体またはコマンドライン からロードされた設定ファイル中でバイナリ固有のオプションを設定することはできません。
ディレクトリ
Dir::State セクションは、ローカル状態情報に関するディレクトリを保持します。lists は、ダウ ンロードしたパッケージ一覧を格納するディレクトリで、status は dpkg(1) の状態ファイルの名前 を表します。preferences は APT の preferences ファイルの名前です。Dir::State には、/ や ./ で始まらないサブアイテムすべてに、前に付加するデフォルトディレクトリを含んでいます。 Dir::Cache は、ローカルキャッシュ情報に関する場所を格納しています。これは、ダウンロード済 アーカイブの場所を示す Dir::Cache::archives と同様に、srcpkgcache と pkgcache のパッケージ キャッシュの場所になります。pkgcache や srcpkgcache に "" をセットすることで、キャッシュの 生成を無効にできます。これにより起動時に遅くなりますが、ディスク容量を節約できます。おそら く、srcpkgcache よりも pkgcache を無効にすることが多いと思います。Dir::State と同 様、Dir::Cache はデフォルトディレクトリを含んでいます。 Dir::Etc は設定ファイルの場所を格納しています。sourcelist はソースリストの場所を示し、main はデフォルトの設定ファイルです。(APT_CONFIG で設定ファイルを指定された場合のみ、この設定の 効果があります) Dir::Parts 設定は、指定されたディレクトリから、字句単位の全ての設定断片を読みこみます。こ れを設定した後に、メイン設定ファイルをロードします。 バイナリプログラムは Dir::Bin で指定します。Dir::Bin::Methods はメソッドハンドラの場所を指 定し、gzip, bzip2, lzma, dpkg, apt-get dpkg-source dpkg-buildpackage, apt-cache はそれぞれ プログラムの場所を指定します。 設定項目 RootDir は特別な意味を持ちます。設定されていると、すべてのパスは 絶対パスとして指 定してもRootDir からの相対パスとなります。そのため例えば、RootDir が /tmp/staging にセット されており、Dir::State::status が /var/lib/dpkg/status にセットされている場合、status ファ イルを /tmp/staging/var/lib/dpkg/status から探します。相対バスのみをプレフィックスにしたい 場合は、代わりに Dir を設定します。 Ignore-Files-Silently リストは、断片ディレクトリの解析中に、APT が黙って無視をするファイル を指定します。デフォルトではそれぞれ、.disabled, ~, .bak, .dpkg-[a-z]+ で終わるもの が、黙って無視されます。最後のデフォルト値を見ればわかる通り、このパターンには正規表現を使 用できます。
DSELECT での APT
dselect(1) メソッドで APT を使用する際、いくつかの設定ディレクティブでデフォルトの動作を制 御します。これは DSelect セクション以下にあります。 Clean キャッシュクリーンモード - この値は always, prompt, auto, pre-auto, never のうちひとつ を取ります。always と prompt は更新後、全パッケージをキャッシュから削除します。prompt (デフォルト) では条件付きで削除します。auto はダウンロード不能パッケージ (例えば新バー ジョンで置き換えられたもの) を削除します。pre-auto はこの動作を、新パッケージをダウン ロードする直前に行います。 options この変数の内容は、install 時のコマンドラインオプションと同様に apt-get(8) に渡されま す。 Updateoptions この変数の内容は、update 時のコマンドラインオプションと同様に apt-get(8) に渡されま す。 PromptAfterUpdate true の場合、dselect(1) の [U]pdate 実行時に、続行のためのプロンプトを毎回表示しま す。デフォルトはエラーが発生した場合のみです。
APT が DPKG(1) を呼ぶ方法
いくつかの設定項目で APT がどのように dpkg(1) を呼び出すかを制御できます。DPkg セクション にあります。 options dpkg(1) に渡すオプションのリストです。オプションは、リスト記法を使用して指定しなければ なりません。また、各リストは単一の引数として dpkg(1) に渡されます。 Path This is a string that defines the PATH environment variable used when running dpkg. It may be set to any valid value of that environment variable; or the empty string, in which case the variable is not changed. Pre-Invoke, Post-Invoke dpkg(1) を呼び出す前後で実行するシェルコマンドのリストです。options のようにリスト記法 で指定しなければなりません。コマンドは /bin/sh を通して呼び出され、何か問題があれば APT が異常終了します。 Pre-Install-Pkgs dpkg(1) を呼び出す前に実行するシェルコマンドのリストです。options のようにリスト記法で 指定しなければなりません。コマンドは /bin/sh を通して呼び出され、何か問題があれば、APT は異常終了します。APT はインストールしようとする全 .deb ファイルのファイル名を、要求し たファイルディスクリプタについて1 行ずつ、デフォルトではコマンドの標準入力に送ります。 このプロトコルのバージョン 2 は、要求されたファイルディスクリプタを介してより多くの情 報を送信します: テキスト VERSION 2 の行、APT 設定空間、ファイル名とバージョン情報を持 つパッケージ処理のリスト。 各設定ディレクティブ行は、key=value 形式です。特殊文字 (key 中のイコール記号、改行、非 印字可能文字、引用符、およびパーセント記号、および value 中の改行、非印字可能文字、お よびパーセント記号) は、% エンコードされます。リストは、同じキーを持つ複数 のkey::=value 行で表されます。設定セクションは、空白行で終わります。 バージョン 2 ではパッケージアクション行は 5 つのフィールドで構成されています: パッケー ジ名 (例え外国だとしてもアーキテクチャ資格なしで)、旧バージョン、バージョン変更の方向 (< アップグレード、> ダウングレード、= 変化なし)、新バージョン、処理。バージョンなしの 場合は、バージョンフィールドはすべて "-" です (例えば、初めてパッケージをインストール 時、バージョンなしは、任意の実際のバージョンよりも前として扱われます。そのため、- < 1.23.4はアップグレードとなります)。パッケージが設定されている場合のアクションフィール ドは "**CONFIGURE**" で、削除されている場合は "**REMOVE**" 、解凍されている場合は .deb ファイルのファイル名です。 バージョン 3 では、各バージョンフィールドの後に、このバージョンのアーキテクチャが続き ます。バージョンなしの場合は "-" 、そして MultiArch 型 "same"、"foreign"、"allowed" ま たは "none" を示すフィールド。"none" は単に互換性を維持するために残された、誤った型名 であることに注意してください。それは"no" と読まれるべきで、ユーザは両方をサポートする ことをお勧めします。 コマンド cmd で利用するプロトコルのバージョンは DPkg::Tools::options::cmd::Version の 設定により選択でき、デフォルトはバージョン 1 となっています。リクエストしたバージョン を APT がサポートしていない場合はサポートしている最大のバージョンの情報を代わりに送り ます。 情報の送信に利用するファイルディスクリプタは DPkg::Tools::options::cmd::InfoFD により リクエストでき、デフォルトは 0 で標準入力を指定します。バージョン 0.9.11 から利用可能 となりました。環境変数 APT_HOOK_INFO_FD を見ることでこのオプションに対応していることを 検出でき、それには確認として利用しているファイルディスクリプタの番号が収録されていま す。 Run-Directory APT は dpkg(1) を呼び出す前にこのディレクトリに移動します。デフォルトは / です。 Build-options これらのオプションは、パッケージのコンパイル時に dpkg-buildpackage(1) に渡されます。デ フォルトでは署名を無効にし、全バイナリを生成します。 DPkg::ConfigurePending このオプションがセットされると、dpkg(1) にすべての必要な設定とトリガを扱わせるよう に、APT は dpkg --configure --pending を呼び出します。このオプションは、デフォルトで有 効となっていますが、APT を複数回連続して実行する場合 (インストーラなど) には、無効にし たほうが便利かもしれません。このシナリオでは、最後以外のすべての実行で、無効にできま す。
PERIODIC オプションと ARCHIVES オプション
オプションの APT::Periodic グループと APT::Archives グループ は、/usr/lib/apt/apt.systemd.daily スクリプトを使用して、apt の定期更新の挙動を設定しま す。このオプションのドキュメントは、このスクリプトの先頭を参照してください。
デバッグオプション
Debug:: セクションのオプションを有効にすると、apt ライブラリを利用するプログラムの標準エ ラー出力に、デバッグ情報を送るようになったり、主に apt の挙動をデバッグするのに便利な、特 殊モードを有効にしたりできます。普通のユーザには、ほとんどのオプションは興味がないでしょう が、以下のものは興味を引くかもしれません。 • Debug::pkgProblemResolver は、dist-upgrade, upgrade, install, remove, purge で行われた 判断についての出力を有効にします。 • Debug::NoLocking はファイルロックをすべて無効にします。これは、非 root ユーザとして操 作 (例えば apt-get -s install) を行う場合に使用します。 • Debug::pkgDPkgPM は apt が実際に dpkg(1) を起動する際の各コマンドラインを表示します。 • Debug::IdentCdrom は CD-ROM ID にある statfs データを含めないようにします。 以下は apt に対するデバッグオプションのすべてです。 Debug::Acquire::cdrom cdrom:// ソースへのアクセスに関する情報を出力します。 Debug::Acquire::ftp FTP を用いたパッケージのダウンロードに関する情報を出力します。 Debug::Acquire::http HTTP を用いたパッケージのダウンロードに関する情報を出力します。 Debug::Acquire::https HTTPS を用いたパッケージのダウンロードに関する情報を出力します。 Debug::Acquire::gpgv gpg を用いた暗号署名の検証に関する情報を出力します。 Debug::aptcdrom CD-ROM にあるパッケージ集合に対して、アクセスするプロセスについての情報を出力します。 Debug::BuildDeps apt-get(8) での構築依存関係解決のプロセスを説明します。 Debug::Hashes apt ライブラリが生成した、暗号化ハッシュを出力します。 Debug::IdentCDROM CD-ROM の ID を生成する際に statfs という、CD-ROM ファイルシステムにある使用済・未使用 ブロックの数からの情報を含めないようにします。 Debug::NoLocking ファイルのロックをすべて無効にします。例えば、同時にふたつの 「apt-get update」 を実行 できるようになります。 Debug::pkgAcquire グローバルダウンロードキューに対する項目の追加・削除の際にログを出力します。 Debug::pkgAcquire::Auth ダウンロードしたファイルのチェックサムや暗号署名の確認に関する、状態メッセージやエラー を出力します。 Debug::pkgAcquire::Diffs パッケージインデックスリスト差分のダウンロード・適用時の、情報やエラーを出力します。 Debug::pkgAcquire::RRed インデックス全体ではなくインデックス差分のダウンロードの際に、apt パッケージリストへの パッチ適用に関する情報を出力します。 Debug::pkgAcquire::Worker 実際のダウンロードを行う際の、サブプロセスとのやりとりをログに出力します。 Debug::pkgAutoRemove パッケージの自動インストールや、不要パッケージの削除に関するイベントを、ログに出力しま す。 Debug::pkgDepCache::AutoInstall 依存関係解決のために、どのパッケージが自動的にインストールされたかのデバッグメッセージ を生成します。これは完全な apt 依存関係解決プログラム (Debug::pkgProblemResolver を参 照) ではなく、例えば apt-get install で実行された、初期の自動インストール経路に対応し ています。 Debug::pkgDepCache::Marker ProblemResolver が動作する際に、一時保留・インストール・削除としてマークされたパッケー ジに関する、デバッグメッセージを生成します。各追加・削除は追加アクションのトリガとな り、これをオリジナルのエントリの下に、空白 2 個でインデントして表示します。各行 は、MarkKeep, MarkDelete, MarkInstall となり、package-name <a.b.c -> d.e.f | x.y.z> (section) が続きます。ここで、a.b.c は、そのパッケージの現在のバージョン、d.e.fは、イ ンストール予定のバージョン、x.y.z はより新しいけれどインストール対象外のバージョン (pin のスコアが低いため) です。後のふたつは、存在しない、ないしインストール中のバー ジョンと同じ場合、省略されます。section はパッケージが現れるセクション名です。 Debug::pkgDPkgPM dpkg(1) 起動時に、起動した際の正確なコマンドラインを出力します。引数は空白で区切られま す。 Debug::pkgDPkgProgressReporting 状態ファイルディスクリプタに、dpkg(1) から受信したすべてのデータと、そのデータを解析中 に発生したエラーを出力します。 Debug::pkgOrderList apt が dpkg(1) にパッケージを渡す順番を決める、アルゴリズムのトレースを生成します。 Debug::pkgPackageManager dpkg(1) を呼び出す際に、実行手順を追跡した状態メッセージを出力します。 Debug::pkgPolicy 起動時の各パッケージの優先度を表示します。 Debug::pkgProblemResolver 依存関係解決システムの実行内容を追跡します (これは複雑な依存関係の問題に遭遇した場合に のみ、適用されます)。 Debug::pkgProblemResolver::ShowScores 全インストール済みパッケージの、pkgProblemResolver が計算したスコアを一覧表示しま す。パッケージの説明は、Debug::pkgDepCache::Marker で説明したものと同じです。 Debug::sourceList /etc/apt/vendors.list から読み込んだ、ベンダの情報を出力します。 Debug::RunScripts aptのフックにより呼び出される外部コマンドを表示します。これには例えば、設定オプション DPkg::{Pre,Post}-Invoke や APT::Update::{Pre,Post}-Invoke があります。
サンプル
/usr/share/doc/apt/examples/configure-index.gz は、全利用可能オプション値のサンプルを参照 できる、設定ファイルのサンプルです。
ファイル
/etc/apt/apt.conf APT 設定ファイル。 設定項目: Dir::Etc::Main /etc/apt/apt.conf.d/ APT 設定ファイル断片。 設定項目: Dir::Etc::Parts
関連項目
apt-cache(8), apt-config(8), apt_preferences(5).
バグ
APT バグページ[1] をご覧ください。 APT のバグを報告する場合は、 /usr/share/doc/debian/bug-reporting.txt や reportbug(1) コマンドをご覧ください。
翻訳
倉澤 望 <nabetaro@debian.or.jp> (2003-2006,2009-2012), Takuma Yamada <tyamada@takumayamada.com> (2016), Debian JP Documentation ML <debian-doc@debian.or.jp> この翻訳文書には未訳部分が含まれている可能性があることに 注意してください。 翻訳がオリジナ ルに追従できていない場合、 内容を失わないようにこのようにしています。
著者
Gunthorpe Jason[FAMILY Given] [FAMILY Given] Burrows Daniel[FAMILY Given] <dburrows@debian.org> Debug::* に関する最初のドキュメント
注記
1. APT バグページ http://bugs.debian.org/src:apt