&apt-author.jgunthorpe; &apt-author.team; &apt-email; &apt-product; 29 February 2004
apt.conf
5

# apt.conf

APT 設定ファイル

## 説明

`apt.conf` は、 APT ツール集のメイン設定ファイルです。 この設定ファイルと共通のコマンドラインパーサを使って、 すべてのツールを統一環境で使用できます。 APT ツールの起動時には、`APT_CONFIG` 環境変数に指定した設定を (存在すれば) 読み込みます。 次に `Dir::Etc::Parts` のファイルを読み込みます。 次に `Dir::Etc::main` で指定した主設定ファイルを読み込み、 最後にコマンドラインオプションで、 設定ファイルより取得した値を上書きします。

設定ファイルは、 機能グループごとに系統立てられたオプションを木構造で表します。 オプションの内容は、2 つのコロンで区切ります。 例えば `APT::Get::Assume-Yes` は、 APT ツールグループの、Get ツール用オプションです。 オプションは、親グループから継承しません。

設定言語の文法は、 bind や dhcp のような ISC ツールをモデルにしています。 `//` で始まる行はコメントとして扱われます (無視)。 いずれの行も、

    APT::Get::Assume-Yes "true";

の ような形式です。 行末のセミコロンは必要ですが、ダブルクォートは使わなくてもかまいません。 以下のように中カッコを使うと、新しいスコープを開くことができます。

    APT {
      Get {
        Assume-Yes "true";
        Fix-Broken "true";
      };
    };

また適宜改行することで、より読みやすくなります。 リストは、開いたスコープ、クォートで囲まれた単語、 そしてセミコロンと続けることで作成できます。 セミコロンで区切ることで、複数のエントリを表すことができます。

    DPkg::Pre-Install-Pkgs {"/usr/sbin/dpkg-preconfigure --apt";};

`&docdir;examples/apt.conf` &configureindex; は一般的な設定ファイルのサンプルです。 どのように設定するか参考になるでしょう。

`#include` と `#clear` の 2 つの特別な記法があります。 `#include` は指定したファイルを取り込みます。 ファイル名がスラッシュで終わった場合には、 そのディレクトリをすべて取り込みます。 `#clear` は名前のリストを削除するのに便利です。

すべての APT ツールで、 コマンドラインで任意の設定を行う -o オプションが使用できます。 文法は、完全なオプション名 (例: `APT::Get::Assume-Yes`)、 等号、続いてオプションの新しい値となります。 リスト名に続き::を加えることで、リストを追加することができます。

## APT グループ

このオプショングループは、ツール全体に影響のある、 一般的な APT の振る舞いを制御します。

Architecture

  システムアーキテクチャ - ファイルを取得したり、 パッケージリストを解析するときに使用するアーキテクチャをセットします。 内部でのデフォルトは、 apt をコンパイルしたアーキテクチャです。

Ignore-Hold

  保留パッケージの無視 - このグローバルオプションは、 問題解決器に保留と指定したパッケージを無視します。

Clean-Installed

  デフォルトで有効です。autoclean 機能が on の時、 ダウンロードできなくなったパッケージをキャッシュから削除します。 off の場合、ローカルにインストールされているパッケージは、 削除対象から外します。 しかし、 APT はキャッシュから削除したパッケージの再インストール方法を、 直接提供するわけではないことに注意してください。

Immediate-Configure

  即時設定無効 - この危険なオプションは、 APT の要求コードを無効にして dpkg の呼び出しをほとんどしないようにします。 これは、非常に遅いシングルユーザシステムでは必要かもしれませんが、 非常に危険で、パッケージのインストールスクリプトが失敗したり、 もしくはもっと悪いことがおきるかもしれません。 自己責任で使用してください。

Force-LoopBreak

  何をしようとしているのか「本当に」判っているのでなければ、 絶対にこのオプションを有効にしないでください。 不可欠 (essential) パッケージ同士で、 競合 (Conflicts) /競合や競合/事前依存 (Pre-Depend) のループに落ち込んだときに、 不可欠パッケージを一時的に削除してループを抜けられるようにします。 そんなループはあり得ないはずで、 あるとすれば重大なバグです。 このオプションは、tar, gzip, libc, dpkg, bash とそれらが依存している パッケージ以外の不可欠パッケージで動作します。

Cache-Limit

  APT は「利用可能」情報を格納するために、 固定サイズのメモリマップキャッシュファイルを使用します。 このオプションは、そのキャッシュサイズを指定します。

Build-Essential

  構築依存関係で不可欠なパッケージを定義します。

Get

  サブセクション Get は &apt-get; ツールを制御します。 このオプションの詳細は &apt-get; の文書を参照してください。

Cache

  サブセクション Cache は &apt-cache; ツールを制御します。 このオプションの詳細は &apt-cache; の文書を参照してください。

CDROM

  サブセクション CDROM は &apt-cdrom; ツールを制御します。 このオプションの詳細は &apt-cdrom; の文書を参照してください。

## Acquire グループ

`Acquire` オプショングループは、 パッケージのダウンロードや URI ハンドラの制御を行います。

Queue-Mode

  キューモード - `Queue-Mode` は、 APT がどのように並列接続を行うか、 `host` か `access` で指定できます。 `host` は、ターゲットホストごとに 1 接続を開きます。 `access` は、 URI タイプごとに 1 接続を開きます。

Retries

  リトライの回数を設定します。 0 でない場合、APT は失敗したファイルに対して、 与えられた回数だけリトライを行います。

Source-Symlinks

  ソースアーカイブのシンボリックリンクを使用します。 true がセットされているとき、可能ならコピーの代わりにシンボリックリンクが 張られます。true がデフォルトです。

http

  HTTP URI - http::Proxy は、 デフォルトで使用する http プロキシです。 `http://[[user][:pass]@]host[:port]/` という標準形で表します。ホストごとのプロキシの場合は、 `http::Proxy::<host>` という形と、 プロキシを使用しないという意味の特殊キーワード `DIRECT` を使用して指定することもできます。すべての設定は、 環境変数 `http_proxy` で上書きされます。

  HTTP/1.1 準拠のプロキシキャッシュの制御について、 3 種類の設定があります。`No-Cache` はプロキシに対して、 いかなる時もキャッシュを使用しないと伝えます。 `Max-Age` は、インデックスファイル用のときだけ送信し、 得られた時間よりも古かった場合に、 オブジェクトをリフレッシュするようキャッシュに指示します。 デフォルトでは 1 日となっているため、 Debian は日毎にそのインデックスファイルを更新します。 `No-Store` は、キャッシュがこのリクエストを格納せず、 アーカイブファイルのみ設定するよう指定します。 これは、非常に大きな .deb ファイルでプロキシキャッシュが汚れるのを、 防ぐのに便利かもしれません。 注) Squid 2.0.2 では、これらのオプションをサポートしていません。

  `timeout` オプションは、 この方法でのタイムアウトまでの時間を設定します。 これには、接続のタイムアウトとデータのタイムアウトが含まれています。

  リモートサーバが RFC 準拠でなかったり、 (Squid 2.0.2 のように) バグがあったりしたときのために、 パイプラインの深さの制御を設定します。 `Acquire::http::Pipeline-Depth` により、 APT が送信できるリクエストの回数を 0 から 5 の値で設定できます。 リモートサーバが適切でなく、TCP 接続に時間がかかるときは、 必ず 0 の値を設定しなければなりません。 そうでなければデータが破損してしまいます。 これが必要なホストは RFC 2068 に違反しています。

ftp

  FTP URI - ftp::Proxy は、デフォルトで使用するプロキシサーバです。 `ftp://[[user][:pass]@]host[:port]/` という標準形で表しますが、 環境変数 `ftp_proxy` で上書きされます。 ftp プロキシを使用するには、設定ファイルに `ftp::ProxyLogin` スクリプトを設定する必要があります。 プロキシサーバに送信する接続コマンドを、このエントリに設定します。 どのようにするのかは &configureindex; の例を参照してください。 その他にも、`$(PROXY_USER)` `$(PROXY_PASS)` `$(SITE_USER)` `$(SITE_PASS)` `$(SITE)` `$(SITE_PORT)` が利用可能です。 いずれも、それぞれ URI を構成するトークンです。

  `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` で設定されているように、 CDROM ドライブのマウントポイントを `cdrom::Mount` に設定しなければなりません。 (SMB マウントや古い mount パッケージなど) マウントポイントが fstab に記述できない場合、かわりにマウント・アンマウントコマンドも使用できます。 文法は、cdrom ブロックを

      "/cdrom/"::Mount "foo";

  の形で記述します。 スラッシュを後につけるのは重要です。 アンマウントコマンドは UMount で指定することができます。
gpgv

  GPGV URI - GPGV URI 用の唯一のオプションは、 gpgv に渡す追加パラメータのオプションです。 `gpgv::Options` gpgv に渡す追加オプション。

## ディレクトリ

`Dir::State` セクションは、 ローカル状態情報に関するディレクトリを保持します。 `lists` は、 ダウンロードしたパッケージ一覧を格納するディレクトリで、 `status` は dpkg の状態ファイルの名前を表します。 `preferences` は APT の 設定ファイルの名前です。 `Dir::State` には、 `/` や `./` で始まらない 全サブアイテムに付加する、デフォルトディレクトリを含んでいます。

`Dir::Cache` は、 ローカルキャッシュ情報に関する場所を格納しています。これは、 ダウンロード済アーカイブの場所を示す `Dir::Cache::archives` と同様に、`srcpkgcache` と `pkgcache` のパッケージキャッシュの場所となります。 それぞれを空にセットすることで、キャッシュの生成を無効にできます。 おそらく、srcpkgcache よりも pkgcache を無効にすることが多いと思います。 `Dir::State` と同様、`Dir::Cache` はデフォルトディレクトリを含んでいます。

`Dir::Etc` は設定ファイルの場所を格納しています。 `sourcelist` はソースリストの場所を示し、 `main` はデフォルトの設定ファイルです。 (`APT_CONFIG` で設定ファイルを指定された場合のみ、 この設定の効果があります)

`Dir::Parts` 設定は、指定されたディレクトリから、 字句単位の全ての設定断片を読みこみます。 これを設定した後に、メイン設定ファイルをロードします。

バイナリプログラムは `Dir::Bin` で指定します。 `Dir::Bin::Methods` はメソッドハンドラの場所を指定し、 `gzip`, `dpkg`, `apt-get`, `dpkg-source`, `dpkg-buildpackage`, `apt-cache` はそれぞれプログラムの場所を指定します。

## DSelect での APT

&dselect; 上で APT を使用する際、 `DSelect` セクション以下の設定項目で、 デフォルトの動作を制御します。

Clean

  キャッシュクリーンモード - この値は always, prompt, auto, pre-auto, never のうちひとつを取ります。 always と prompt は更新後、全パッケージをキャッシュから削除します。 (デフォルトの) prompt では条件付きで削除します。 auto はダウンロード不能パッケージ (例えば新バージョンで置き換えられたもの) を削除します。pre-auto はこの動作を、 新パッケージをダウンロードする直前に行います。

options

  この変数の内容は、 install 時のコマンドラインオプションと同様に &apt-get; に渡されます。

Updateoptions

  この変数の内容は、 update 時のコマンドラインオプションと同様に &apt-get; に渡されます。

PromptAfterUpdate

  true の場合、 &dselect; の [U]pdate 実行時に、続行のためのプロンプトを毎回表示します。 デフォルトはエラーが発生した場合のみです。

## APT が dpkg を呼ぶ方法

数種の設定項目で APT がどのように &dpkg; を呼び出すかを制御できます。 `DPkg` セクションにあります。

options

  dpkg に渡すオプションのリストです。 オプションは、リスト記法を使用して指定しなければなりません。 また、各リストは単一の引数として &dpkg; に渡されます。

Pre-Invoke
Post-Invoke

  &dpkg; を呼び出す前後で実行するシェルコマンドのリストです。 `options` のようにリスト記法で指定しなければなりません。 コマンドは `/bin/sh` を使用して呼び出され、 何か問題があれば、APT は異常終了します。

Pre-Install-Pkgs

  &dpkg; を呼び出す前に実行するシェルコマンドのリストです。 `options` のようにリスト記法で指定しなければなりません。 コマンドは `/bin/sh` を通して呼び出され、 何か問題があれば、APT は異常終了します。 APT はインストールしようとする全 .deb ファイルのファイル名を、 ひとつずつコマンドの標準入力に送ります。

  このプロトコルのバージョン 2 では、(プロトコルのバージョンや APT 設定スペース、パッケージを含む) 詳細情報やファイル、 変更されているバージョンを出力します。 `DPkg::Tools::options::cmd::Version` に 2 を設定すると、 バージョン 2 を有効にできます。 `cmd` は `Pre-Install-Pkgs` で与えられるコマンドです。

Run-Directory

  APT は dpkg を呼び出す前にこのディレクトリに移動します。 デフォルトは `/` です。

Build-options

  これらのオプションは、 パッケージのコンパイル時に &dpkg-buildpackage; に渡されます。 デフォルトでは、署名を無効にし、全バイナリを生成します。

## デバッグオプション

`debug` の多くのオプションは、 普通のユーザにとって興味を引くものではありません。 しかし `Debug::pkgProblemResolver` で、 dist-upgrade の判断についての興味深い出力が得られます。 `Debug::NoLocking`は、 APT が非 root で操作できるようにファイルのロックを無効にしますし、 `Debug::pkgDPkgPM`は、 dpkg を呼ぶ際のコマンドラインを出力します。 `Debug::IdentCdrom` は、 CDROM ID の状態データの包含を無効にします。 `Debug::Acquire::gpgv` gpgv 法のデバッグです。

## 例

&configureindex; に、全利用可能オプションのデフォルト値を参照できる、 設定ファイルのサンプルがあります。

## ファイル

`/etc/apt/apt.conf`

## 関連項目

&apt-cache;, &apt-config;, &apt-preferences;.

&manbugs; &translator;