%aptent; ]> &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 がどのように並列接続を行うか、 hostaccess で指定できます。 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 と同様に、srcpkgcachepkgcache のパッケージキャッシュの場所となります。 それぞれを空にセットすることで、キャッシュの生成を無効にできます。 おそらく、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-InvokePost-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 を有効にできます。 cmdPre-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;