Provided by: apt_1.2.35_amd64
名前
sources.list - APT のデータ取得元の設定リスト
説明
取得元リスト /etc/apt/sources.list と /etc/apt/sources.list.d/ に含まれるファイルは、複数 の取得元や様々なメディアをサポートするよう設計されています。ファイルは、1 行に一つの取得元 をリストする (1 行スタイル) かまたはスタンザごとに複数の取得元を定義し、(シングルバージョ ンが複数の取得元から入手可能である場合には) 最も好ましい取得元を先頭に置く複数行のスタンザ (deb822 スタイル) を含みます。設定した取得元から利用可能な情報は、apt-get update (や、ほか の APT フロントエンドの同等のコマンド) で取得します。
SOURCES.LIST.D
/etc/apt/sources.list.d ディレクトリは、別々のファイルで source.list のエントリを追加する 方法を提供します。次の二つの節で説明するように、二つの異なるファイル形式が許可されていま す。ファイル名は、含まれている形式に応じて .list または .sources のいずれかの拡張子を持っ ている必要があります。ファイル名は、文字 (a-z と A-Z)、数字 (0-9)、アンダースコア (_)、ハ イフン (-)、ピリオド (.) のみを含むことができます。そうでなけれ ば、Dir::Ignore-Files-Silently 設定リストのパターンに一致するもの以外に対して、ファイルを 無視するという注意を APT が出力します。一致する場合は黙って無視します。
1 行スタイル形式
この形式のファイルは、.list 拡張子を持っています。取得元を指定する各行は、この型のオプショ ンと引数が続く型 deb-src から始まります。個々のエントリは、次の行に継続することはできませ ん。空行は無視され、行の任意の位置の # 文字はコメントとして行の残りの部分をマークしま す。したがって行全体をコメントアウトすることによって、エントリを無効にすることができま す。オプションが提供されている場合、スペースで区切られ、すべて角カッコ ([]) で囲まれてい て、行の中でスペースで区切られた型の後ろに含まれます。複数の値が許されるオプションの場 合、カンマ (,) で分離されています。オプション名は、イコール記号 (=) で分離されます。複数値 のオプションも -= および += をセパレータとして持ち、デフォルト値から与えられた値を削除する か、またはデフォルト値に与えられた値を含めます。 伝統的な形式とすべての apt のバージョンでサポートされています。下記のようにすべてのオプ ションがすべての apt のバージョンでサポートされているわけでないことに注意してください。い くつかの古いアプリケーションは、自分でこの形式をパースするので、マルチアーキテクチャのサ ポートの導入前には珍しいオプションに遭遇することを期待しないかもしれないことに注意してくだ さい。
DEB822 スタイル形式
この形式のファイルは、.sources 拡張子を持っています。形式は、設定された取得元または Debian ソースパッケージの debian/control ファイルから apt がダウンロードするメタデータファイルの ような、Debian とその派生で使用されるほかのファイルの構文と似ています。個々のエントリは空 行で分離されています: 追加の空行は無視され、行頭の # 文字は、コメントとして行全体をマーク します。エントリは、スタンザに属する各行をコメントアウトして無効にすることができますが、通 常は "Enabled: no" フィールドスタンザに追加してエントリを無効にする方が簡単です。フィール ドを削除するか、そのフィールドを yes に設定すると、再び有効にできます。オプションは、ほか のすべてのフィールドと同じ構文を持っています: フィールド名はコロン (:) で区切られ、必要に 応じてその値から空白を空けます。特に、1 行形式では、複数の値は空白で区切られ、コンマではな いことに注意してください。Architectures のような複数値のフィールドは、設定を置き換えるので はなく、デフォルト値を変更する Architectures-Add および Architectures-Remove を持っていま す。 バージョン 1.1 以降の apt 自身によりサポートされる新しい形式です。前述のように以前のバー ジョンでは、通知メッセージでそのようなファイルを無視します。多くのソースおよび/またはオプ ションが関与している場合は特に、人間と機械を問わず、作成、拡張、変更を簡単にするために、先 に述べた 1 行スタイル形式を非推奨にし、徐々にこの形式をデフォルト形式にすることが意図され ています。apt ソースを作業および/またはパースしている開発者は、このフォーマットのサポート を追加することと、調整するために APT チームに連絡すること、この作業を共有することをお勧め します。ユーザはすでに自由にこの形式を採用することができますが、この形式をまだサポートして いないソフトウェアで問題が発生する場合があります。
DEB および DEB-SRC タイプ: 一般形式
deb タイプでは典型的な 2 段階の Debian アーカイブ distribution/component を参照しま す。distribution は通常 stable や testing または jessie や stretch のようなコード名になり ます。component は、main, contrib, non-free のどれかです。deb-src タイプでは、debian ディ ストリビューションのソースコードを、deb タイプと同じ形式で参照します。deb-src 行は、ソース インデックスを取得するのに必要です。 deb および deb-src タイプで使用する 2 つの 1 行スタイルのエントリの形式は、以下のようにな ります: deb [ option1=value1 option2=value2 ] uri suite [component1] [component2] [...] deb-src [ option1=value1 option2=value2 ] uri suite [component1] [component2] [...] 他に deb822 スタイルで同等のエントリもサポートしています: Types: deb deb-src URIs: uri Suites: suite Components: [component1] [component2] [...] option1: value1 option2: value2 deb タイプの URI は、APT が必要な情報を見つけられるように、Debian ディストリビューションの 基底を指定しなければなりません。スイートには正確なパスを指定できます。その場合コンポーネン トを省略し、スイートはスラッシュ (/) で終わらなくてはなりません。これは URL で指定された アーカイブの、特定のサブディレクトリのみに関心があるときに役に立ちます。スイートに正確なパ スを指定しないのなら、少なくとも一つは コンポーネント を指定しなければなりません。 スイート は、$(ARCH) 変数を含む場合があります。$(ARCH) 変数は、システムで使用している Debian アーキテクチャ (amd64 や armel など) に展開されます。これにより、アーキテクチャに依 存しない sources.list ファイルを使用できます。一般的に、これは正しいパスを指定するときに気 にするだけです。そうでない場合は、APT は現在のアーキテクチャで URI を自動的に生成します。 特に 1 行スタイル形式では 1 行につき 1 つのディストリビューションしか指定できないため、同 じ URI の行を複数記述することになるでしょう。APT は内部で URI リストを生成してから、並べ替 えます。そして、同じインターネットホストに対しては複数の参照をまとめます。例えば FTP 接続 後、切断してからまた同じホストに再接続するといった効率の悪いことをせずに、1 接続にまとめま す。APT は、帯域の狭いサイトを効率よく扱うため異なるホストへは接続を並行して行うようにもし ています。 最優先する取得元を最初に記述するというように、優先順に取得元を記述するのは重要です。一般的 には、スピードの速い順に並べることになる (例えば、CD-ROM に続いてローカルネットワークのホ スト、さらに続いて彼方のインターネットホスト) でしょう。 例として、あなたのディストリビューション用のソースは、1 行スタイル形式で次のようになりま す: deb http://us.archive.ubuntu.com/ubuntu xenial main restricted deb http://security.ubuntu.com/ubuntu xenial-security main restricted deb http://us.archive.ubuntu.com/ubuntu xenial-updates main restricted または deb822 スタイル形式でこのようになります: Types: deb URIs: http://us.archive.ubuntu.com/ubuntu Suites: xenial xenial-updates Components: main restricted Types: deb URIs: http://security.ubuntu.com/ubuntu Suites: xenial-security Components: main restricted
DEB および DEB-SRC タイプ: オプション
各取得元エントリは、アクセスされる取得元や取得されるデータを変更するために指定するオプショ ンを持つことができます。オプションの形式、構文と名前は、記載されているように 1 行スタイル と deb822 スタイルの間で異なりますが、どちらも同じオプションが用意されています。簡単にする ために、deb822 フィールド名を一覧表示し、カッコ内に 1 行の名前を提供します。明示的に複数の 値を持つオプションを設定する以外に、デフォルトをベースに変更するためのオプションもあること を忘れないでください。ここでは明示的にそれらの名前はリストしていません。サポートされていな いオプションは、すべての APT バージョンで黙って無視されます。 • Architectures (arch) は複数の値を持つオプションで、どのアーキテクチャ情報をダウンロー ドするか指定します。このオプションを指定しないと、APT::Architectures 設定オプションに 定義してあるすべてのアーキテクチャをダウンロードします。 • arch=arch1,arch2,... により、どのアーキテクチャ情報をダウンロードするか指定します。こ のオプションを指定しないと、APT::Architectures オプションに定義してある全アーキテク チャをダウンロードします。 • Targets (target) は、apt が取得元から取得しようとするダウンロードターゲットを定義する 複数の値を持つオプションです。指定しない場合、デフォルトセット は、Acquire::IndexTargets 設定スコープで定義されます。さらに、具体的なターゲットは、こ の複数の値を持つオプションの使用の代わりにフィールド名など識別子を使用して有効または無 効にすることができます。 • PDiffs (pdiffs) は、新しいインデックスを完全にダウンロードする代わりに、古いインデック スを更新するため PDiffs を使用するかどうかを制御する yes/no 値です。レポジトリが PDiffs の提供を公開していない場合は、このオプションの値は無視されま す。Acquire::IndexTargets スコープ中に定義された特定のインデックスファイル用の同じ名前 のオプション値がデフォルトになり、設定オプション Acquire::PDiffs のデフォルト値は yes です。 • By-Hash (by-hash) は、yes、no または force の値を持つことができます。そして、APT がイ ンデックスのよく知られた安定版の名前を使用する代わりに、期待されるファイルのハッシュ値 から構築された URI を経由してインデックスを取得するかどうかを制御します。これを使用す ると、ハッシュ値の不一致を避けることができますが、ミラーのサポートを必要とします。この 取得元がそのサポートを示す場合、yes または no の値は、この機能の使用を有効化/無効化し ます。force は取得元が示すものに関係なく、機能を有効にします。Acquire::IndexTargets ス コープ中に定義された特定のインデックスファイル用の同じ名前のオプション値がデフォルトに なり、設定オプション Acquire::By-Hash のデフォルト値は yes です。 さらに、設定が同じ URI とスイートのすべての取得元に影響する場合のオプションがあり、このよ うなすべてのエントリに設定する必要があり、異なる要素間で変化することができません。APT はこ のような異常を検出してエラー出力しようとします。 • Trusted (trusted) は、APT の判断のデフォルトのトライステート値で、取得元が信頼でき る、以前警告が発生した (例えば、パッケージをこの取得元からインストールしたときに)、信 頼できないの 3 値です。このオプションは、APT の決定を上書きするために使用することがで きます。値 yes は、それが認証チェックに合格しない場合であっても、この取得元が信頼でき ると考えられることを常に APT に伝えます。apt-secure(8) の一部を無効にするので、(すべて であれば) ローカルおよび信頼されたコンテキストでのみ使用するべきです。そうしなけれ ば、セキュリティが破られます。値 no は反対のことを行います。認証チェックに合格した場合 でも取得元を信頼できないとして扱います。デフォルト値は明示的に設定することはできませ ん。 • Signed-By (signed-by) は、(_apt ユーザがアクセス可能かつ読み取り可能な必要があり、つま りすべてのユーザがファイルの読み取り権限を持っている) キーリングファイルへの絶対パスま たは trusted.gpg キーリング中または trusted.gpg.d/ ディレクトリ中のキーリングの一つの いずれかのキーのフィンガープリントです (apt-key fingerprint を参照)。オプションが設定 されている場合、キーリング中のキーのみまたはこのフィンガープリントのキーのみが、このリ ポジトリの the apt-secure(8) 検証で使用されます。それ以外の場合は、信頼できるキーリン グ内のすべてのキーは、このリポジトリの有効な署名者とみなされています。 • Check-Valid-Until (check-valid-until) は、APT がリプレイ攻撃を検出するかどうかを制御す る yes/no 値です。リポジトリの作成者は、リポジトリに提供されたデータが有効とみなされる 時間を宣言することができます。そして、この時間に達しているが、新しいデータが提供されて いない場合、データが期限切れになったとみなされ、エラーが発生します。セキュリティを高め ることに加えて、新しいバージョンにアップグレードするユーザを守るために、悪意のある攻撃 者が古いデータを永遠に送れないようにすることで、長期間更新されていないミラーをユーザが 特定するのに役立ちます。しかしながら、歴史的アーカイブなど、いくつかのリポジトリは、設 計によりこれ以上更新されないので、このオプションを no に設定することで、このチェックを 無効にすることができます。設定オプション Acquire::Check-Valid-Until の値がデフォルトに なり、そのデフォルトは yes です。 • Valid-Until-Min (valid-until-min) および Valid-Until-Max (valid-until-max) は、このリ ポジトリからのデータの有効期間 (秒単位) を上げたり下げたりするために使用することができ ます。リポジトリが独自の値を設定するリリースファイルに Valid-Until フィールドがないも のを提供する場合、-Max は特に有用です。-Min は完全にチェックを無効にする代わりに (sources.list 同様にある) より頻繁に更新があるミラーの、あまりアクセスされないアーカイ ブの有効期間を増やすことができます。設定オプション Acquire::Min-ValidTime および Acquire::Max-ValidTime の値がデフォルトになり、その両方のデフォルト値は unset です。
URI の仕様
現在認識できる URI タイプは以下のとおりです: file file スキームは、システム内の任意のディレクトリを、アーカイブとして扱えるようにしま す。これは NFS マウントやローカルミラーで便利です。 cdrom cdrom スキームは、APT がローカル CD-ROM ドライブを、メディア交換しながら使えるようにし ます。取得元リストに cdrom エントリを追加するには、apt-cdrom(8) プログラムを使用してく ださい。 http http スキームはアーカイブとして、HTTP サーバを指定します。環境変数 http_proxy が、http://server:port/ と言った形で指定されていれば、http_proxy で指定したプロキシ サーバを使用します。ユーザ認証が必要な HTTP/1.1 プロキシの場 合、http://user:pass@server:port/ という形で指定してください。この認証方法は安全ではな いことに注意してください。 ftp ftp スキームは、アーカイブに FTP サーバを指定します。APT の FTP の振る舞いは、高度に設 定できます。詳細は、apt.conf(5) のマニュアルページをご覧ください。FTP プロキシ は、ftp_proxy 環境変数で指定することに注意してください。この環境変数、さらにこの環境変 数のみを使用して、HTTP プロキシを使用できます (HTTP プロキシサーバは大抵 FTP URL も理 解できます)。設定ファイルで HTTP を利用するプロキシが指定してあっても、無視されます。 copy copy スキームは、file スキームと同様ですが、パッケージをその場で使用せず、キャッシュ ディレクトリにコピーするところが違います。リムーバブルメディアを使用していて、APT でコ ピーを行う場合に便利です。 rsh, ssh rsh/ssh メソッドは、与えられたユーザでリモートホストに接続し、ファイルにアクセスするの に rsh/ssh を使用します。あらかじめ rhosts や RSA キーの設定をしておくことをお勧めしま す。リモートホストからのファイル転送に、標準の find コマンドと dd コマンドを使用しま す。 さらに認識できる URI タイプの追加 APT は他の追加パッケージ (apt-transport-method という命名規則) により、より多くの方法 を使えるよう拡張できます。例えば、APT チームは、http メソッドと似た機能で HTTPS URI で のアクセス方法を提供する apt-transport-https パッケージも保守しています。使用するメ ソッドには、例えば debtorrent も利用できます。apt-transport-debtorrent(1) を参照してく ださい。
サンプル
/home/apt/debian に格納されている stable/main, stable/contrib, stable/non-free 用のローカ ル (または NFS) アーカイブを使用します。 deb file:/home/apt/debian stable main contrib non-free Types: deb URIs: file:/home/apt/debian Suites: stable Components: main contrib non-free 上記と同様ですが、不安定版 (開発版) を使用します。 deb file:/home/apt/debian unstable main contrib non-free Types: deb URIs: file:/home/apt/debian Suites: unstable Components: main contrib non-free 上記のソースの指定は以下のようになります。 deb-src file:/home/apt/debian unstable main contrib non-free Types: deb-src URIs: file:/home/apt/debian Suites: unstable Components: main contrib non-free 1 行目は APT::Architectures にあるアーキテクチャのパッケージ情報を取得し、2 行目は常に amd64 アーキテクチャと armel アーキテクチャのパッケージ情報を取得します。 deb http://httpredir.debian.org/debian jessie main deb [ arch=amd64,armel ] http://httpredir.debian.org/debian jessie main Types: deb URIs: http://httpredir.debian.org/debian Suites: jessie Components: main Types: deb URIs: http://httpredir.debian.org/debian Suites: jessie Components: main Architectures: amd64 armel archive.debian.org のアーカイブに HTTP アクセスし、hamm/main のみを使用します。 deb http://archive.debian.org/debian-archive hamm main Types: deb URIs: http://archive.debian.org/debian-archive Suites: hamm Components: main ftp.debian.org のアーカイブに FTP アクセスし、debian ディレクトリ以下の jessie/contrib の みを使用します。 deb ftp://ftp.debian.org/debian jessie contrib Types: deb URIs: ftp://ftp.debian.org/debian Suites: jessie Components: contrib ftp.debian.org のアーカイブに FTP アクセスし、debian ディレクトリ以下の unstable/contrib のみを使用します。sources.list に上記サンプルと一緒に指定された場合、両方のリソース行に対 応する FTP セッションはひとつだけになります。 deb ftp://ftp.debian.org/debian unstable contrib Types: deb URIs: ftp://ftp.debian.org/debian Suites: unstable Components: contrib ftp.tlh.debian.org のアーカイブに HTTP アクセスし、universe ディレクトリ以下を使用しま す。また、i386 マシンでは unstable/binary-i386 以下にあるファイル、amd64 マシンでは unstable/binary-amd64 以下にあるファイル、その他サポートするアーキテクチャごとのファイルの み使用します。[このサンプルは変数展開の使用法の説明でしかないことに注意してください。公式 debian アーカイブはこのような構造になっていません] deb http://ftp.tlh.debian.org/universe unstable/binary-$(ARCH)/ Types: deb URIs: http://ftp.tlh.debian.org/universe Suites: unstable/binary-$(ARCH)/ 安定版、テスト版、不安定版スイートからバイナリパッケージやソース、およびmain と contrib コ ンポーネントを入手するため HTTP を使用しています。 deb http://httpredir.debian.org/debian stable main contrib deb-src http://httpredir.debian.org/debian stable main contrib deb http://httpredir.debian.org/debian testing main contrib deb-src http://httpredir.debian.org/debian testing main contrib deb http://httpredir.debian.org/debian unstable main contrib deb-src http://httpredir.debian.org/debian unstable main contrib Types: deb deb-src URIs: http://httpredir.debian.org/debian Suites: stable testing unstable Components: main contrib
関連項目
apt-get(8), apt.conf(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]
注記
1. APT バグページ http://bugs.debian.org/src:apt