%aptent; ]> &apt-docinfo; 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"; }; }; また適宜改行することで、より読みやすくなります。 リストは、開いたスコープ、クォートで囲まれた単語、そしてセミコロンと続けることで作成できます。 セミコロンで区切ることで、複数のエントリを表すことができます。 &docdir;examples/apt.conf &configureindex; は一般的な設定ファイルのサンプルです。 どのように設定するか参考になるでしょう。 #include#clear の 2つの特別な記法があります。 #include は指定したファイルを取り込みます。 ファイル名がスラッシュで終わった場合には、そのディレクトリをすべて取り込みます。 #clear は名前のリストを削除するのに使われます。 すべての APT ツールで、コマンドラインで任意の設定を行う -o オプションが使用できます。 文法は、 完全なオプション名 (例 APT::Get::Assume-Yes)、等号、続いてオプションの新しい値となります。 リスト名に続き::を加えることで、リストを追加することができます。 APT グループ このオプショングループは、ツール全体に影響のある、一般的な APT の振る舞いを制御します。 Architecture システムのアーキテクチャ; ファイルを取得したり、パッケージリストを解析するときに使用するアーキテクチャをセットします。 内部でのデフォルトは、apt をコンパイルしたアーキテクチャです。 Ignore-Hold 保留パッケージの無視; このグローバルオプションは、依存の解決などの時に、保留と指定したパッケージを無視します。 Clean-Installed デフォルトで on です。 autoclean 機能が on の時、ダウンロードできなくなったパッケージをキャッシュから削除しますが、Clean-Installed が off の場合、ローカルにインストールされているパッケージは、削除対象から外します。 APT はキャッシュから削除したパッケージの再インストール方法を、直接提供するわけではないことに注意してください。 Immediate-Configure 即時設定無効; この危険なオプションは、APT の要求コードを無効にして rpm の呼び出しをほとんどしないようにします。 これは、非常に遅いシングルユーザシステムでは必要かもしれませんが、非常に危険で、パッケージのインストールスクリプトが失敗したり、もしくはもっと悪いことがおきるかもしれません。自己責任で使用してください。 Force-LoopBreak 何をしようとしているのか「本当に」判っているのでなければ、絶対にこのオプションを有効にしないでください。 不可欠 (essential) パッケージ同士で、競合 (Conflicts) /競合や競合/事前依存 (Pre-Depend) のループに落ち込んだときに、不可欠パッケージを一時的に削除してループを抜けられるようにします。 そんなループはあり得ないはずで、あるとすれば重大なバグです。 このオプションは、gzip, glibc, rpm, bash 等と、それらが依存しているパッケージ以外の不可欠パッケージで動作します。 Cache-Limit APT は「利用可能」情報を格納するために、固定サイズのメモリマップキャッシュファイルを使用します。 このオプションは、そのキャッシュサイズを指定します。 Build-Essential 構築依存関係で不可欠なパッケージを定義します。 Get サブセクション Get は &apt-get; ツールを制御します。 このオプションの詳細は &apt-get; の文書を参照してください。 Cache サブセクション Cache は &apt-cache; ツールを制御します。 このオプションの詳細は &apt-cache; の文書を参照してください。 CDROM サブセクション CDROM は &apt-cdrom; ツールを制御します。 このオプションの詳細は &apt-cdrom; の文書を参照してください。 RPM グループ RPM オプショングループは、パッケージの Hold の設定などを行います。 HOLD ホールド; HOLD は、アップグレードしたくないパッケージを設定します。 ここに書いたパッケージは apt-get upgrade ではアップグレードされず、アップグレードするには apt-get install パッケージ名 のようにパッケージ名を明示する必要があります。 パッケージの名称には正規表現を利用できます。 RPM { HOLD {"^kernel-source$"; "^kernel-devel$"; }; } Acquire グループ Acquire オプショングループは、パッケージのダウンロードや URI ハンドラの制御を行います。 Queue-Mode キューモード; Queue-Mode は、APT がどのように並列接続を行うか、hostaccess かで指定できます。 host は、ターゲットホストごとに 1 接続を開きます。 access は、URI タイプごとに 1 接続を開きます。 Retries リトライの回数を設定します。 0 でない場合、APT は失敗したファイルに対して、与えられた回数だけリトライを行います。 Source-Symlinks ソースアーカイブのシンボリックリンクを使用します。 true がセットされているとき、可能ならコピーの代わりにシンボリックリンクが張られます。 true がデフォルトです。 http HTTP URIs; http::Proxy は、デフォルトで使用する http プロキシです。 http://[[user][:pass]@]host[:port]/ という標準形で表します。 ホストごとのプロキシの場合は、http::Proxy::<host> という形と、プロキシを使用しないという意味の特殊キーワード DIRECT を使用して指定することもできます。 すべての設定は、環境変数 http_proxy で上書きされます。 HTTP/1.1 準拠のプロキシキャッシュの制御について、3 種類の設定があります。 No-Cache はプロキシに対して、いかなる時もキャッシュを使用しないと伝えます。 Max-Age は、インデックスファイル用のときだけ送信し、得られた時間よりも古かった場合に、オブジェクトをリフレッシュするようキャッシュに指示します。 デフォルトでは 1 日となっているため、日毎にそのインデックスファイルを更新します。 No-Store は、キャッシュがこのリクエストを格納せず、アーカイブファイルのみ設定するよう指定します。 これは、非常に大きな .rpm ファイルでプロキシキャッシュが汚れるのを、防ぐのに便利かもしれません。 注) Squid 2.0.2 では、これらのオプションをサポートしていません。 timeout オプションは、httpでのタイムアウトまでの時間を設定します。 これには、接続のタイムアウトとデータのタイムアウトが含まれています。 リモートサーバが RFC 準拠でなかったり、(Squid 2.0.2 のように) バグがあったりしたときのために、パイプラインの深さの制御を設定します。 Acquire::http::Pipeline-Depth により、APT が送信できるリクエストの回数を 0 から 5 の値で設定できます。 リモートサーバが適切でなく、TCP 接続に時間がかかるときは、「必ず」0 の値を設定しなければなりません。 そうでなければデータが破損してしまいます。 これが必要なホストは RFC 2068 に違反しています。 ftp FTP URIs; 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 を使用する必要があります。 この設定は、プロキシを通る接続や特定のホストへの接続全般に有効です。 (設定例はサンプル設定ファイルを参照してください) 環境変数 ftp_proxy の http url により FTP over HTTP のプロキシが利用可能になります。 文法は上の http についての説明を参照してください。 設定ファイルの中でこれをセットすることはできません。 また、効率が悪いため FTP over HTTP を使用するのは推奨しません。 ForceExtended の設定は RFC2428 の EPSV コマンドと EPRT コマンドの使用を制御します。 デフォルトでは false です。 これは、コントロールコネクションが IPv6 の時にのみ、このコマンドを使用するということです。 これを true にセットすると、IPv4 コネクションでも強制的に、このコマンドを使用します。 注) ほとんどの FTP サーバは RFC2428 をサポートしていません。 cdrom CDROM URIs; マウントポイントの設定を行います。 cdrom::Mount で CDRPM のマウントポイントの指定を行います。 (SMB マウントや古い mount パッケージなど) マウントポイントが fstab に記述できない場合、かわりにマウント・アンマウントコマンドも使用できます。 文法は、cdrom ブロックを "/cdrom/"::Mount "foo"; の形で記述します。 スラッシュを後につけるのは重要です。 アンマウントコマンドは UMount で指定することができます。 ディレクトリ Dir::State セクションは、ローカル状態情報に関するディレクトリを保持します。 lists は、 ダウンロードしたパッケージ一覧を格納するディレクトリで、 status は rpm の状態ファイルの名前を表します。 preferences は APT の 設定ファイルの名前です。 Dir::State には、/./ で始まらない全サブアイテムに付加する、デフォルトディレクトリを含んでいます。 Dir::Cache は、ローカルキャッシュ情報に関する場所を格納しています。 これは、ダウンロード済アーカイブの場所を示す Dir::Cache::archives と同様に、srcpkgcachepkgcache のパッケージキャッシュの場所となります。 それぞれを空にセットすることで、キャッシュの生成を無効にできます。 これによって起動は遅くなりますが、ディスクスペースを節約することができます。 おそらく、srcpkgcache よりも pkgcache を無効にすることが多いと思います。 Dir::State と同様、Dir::Cache はデフォルトディレクトリを含んでいます。 Dir::Etc は設定ファイルの場所を格納しています。 sourcelist はソースリストの場所を示し、 main はデフォルトの設定ファイルです。 (環境変数 APT_CONFIG で設定ファイルを指定された場合のみ、この設定の効果があります) parts は設定ファイルを読み込むディレクトリを指定します。 ここにある設定ファイルをロードした後で、メイン設定ファイルをロードします。 バイナリプログラムは Dir::Bin で指定します。 Dir::Bin::Methods はメソッドハンドラの場所を指定し、rpm, bzip2, gpg はそれぞれのプログラムのパスを指定します。 デバッグオプション debug の多くのオプションは、一般ユーザにとって興味を引くものではありません。 しかし、Debug::pkgProblemResolver で、dist-upgrade の判断についての興味深い出力が得られます。 Debug::NoLocking は、APT を root以外のユーザで操作できるようにファイルのロックを無効にします。 Debug::pkgDPkgPM は、dpkg を呼ぶ際のコマンドラインを出力します。 Debug::IdentCdrom は、CDROM の状態データの包含を無効にします。 &configureindex; に、全利用可能オプションのデフォルト値を参照できる、設定ファイルのサンプルがあります。 ファイル /etc/apt/apt.conf 関連項目 &apt-cache;, &apt-config;, &apt-preferences;. &manbugs; &manauthor;