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