APT.CONF(5)

NAME
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";};

/usr/share/doc/apt/examples/apt.conf /usr/share/doc/apt/examples/configure-index.gz は一般的な設定ファイルのサンプルです。 どのように設定するか参考になるでしょう。

#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(8) ツールを制御します。 このオプションの詳細は apt-get(8) の文書を参照してください。

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

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

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 スクリプトを設定する必要があります。 プロキシサーバに送信する接続コマンドを、このエントリに設定します。 どのようにするのかは /usr/share/doc/apt/examples/configure-index.gz の例を参照してください。 その他にも、$(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(8) 上で 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(8) の [U]pdate 実行時に、続行のためのプロンプトを毎回表示します。 デフォルトはエラーが発生した場合のみです。

APT が DPKG を呼ぶ方法

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

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

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

Pre-Install-Pkgs
    dpkg(8) を呼び出す前に実行するシェルコマンドのリストです。 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(1) に渡されます。 デフォルトでは、署名を無効にし、全バイナリを生成します。

デバッグオプション

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

例

/usr/share/doc/apt/examples/configure-index.gz に、全利用可能オプションのデフォルト値を参照できる、 設定ファイルのサンプルがあります。

ファイル

/etc/apt/apt.conf

関連項目

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), Debian JP Documentation ML <debian-doc@debian.or.jp>

AUTHORS

Jason Gunthorpe

    Author.

APT team

    Author.

REFERENCES

1.  APT バグページ
    http://bugs.debian.org/src:apt