sourCEntral - mobile manpages

pdf

SOURCES.LIST

名前

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 または stretch や buster のようなコード名になります。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 で定義されます (対象は Created−By の名前により指定されます)。また、複数の値を取るこのオプションに代えて、真偽値を指定した Identifier をオプションとして使うことで有効化、無効化できます。

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 はこのような異常を検出してエラー出力しようとします。

Allow−Insecure (allow−insecure), Allow−Weak (allow−weak), Allow−Downgrade−To−Insecure (allow−downgrade−to−insecure) は真偽値でデフォルトはどれも no となっています。yes をセットすると apt-secure(8) の部分を迂回するため安易に有効化すべきではありません!

Trusted (trusted) は、APT の判断のデフォルトのトライステート値で、取得元が信頼できる、以前警告が発生した (例えば、パッケージをこの取得元からインストールしたときに)、信頼できないの 3 値です。このオプションは、APT の決定を上書きするために使用することができます。値 yes は、それが認証チェックに合格しない場合であっても、この取得元が信頼できると考えられることを常に APT に伝えます。apt-secure(8) の一部を無効にするので、(すべてであれば) ローカルおよび信頼されたコンテキストでのみ使用するべきです。そうしなければ、セキュリティが破られます。値 no は反対のことを行います。認証チェックに合格した場合でも取得元を信頼できないとして扱います。デフォルト値は明示的に設定することはできません。

Signed−By (signed−by) は、(_apt ユーザがアクセス可能かつ読み取り可能な必要があり、つまりすべてのユーザがファイルの読み取り権限を持っている) キーリングファイルへの絶対パス、または trusted.gpg キーリングや trusted.gpg.d/ ディレクトリ中のキーリングのどれかに収録されているキーのフィンガープリントです (apt−key fingerprint を参照)。オプションが設定されている場合、キーリング中のキーのみまたはこのフィンガープリントのキーのみが、このリポジトリの apt-secure(8) 検証で使用されます。Release ファイルで同名オプションが セットされていればその値がデフォルトとなります。それ以外の場合は、信頼できるキーリング内のすべてのキーは、このリポジトリの有効な署名者とみなされます。

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 タイプは以下のとおりです:

http

The http scheme specifies an HTTP server for an archive and is the most commonly used method, with many options in the Acquire::http scope detailed in apt.conf(5). The URI can directly include login information if the archive requires it, but the use of apt_auth.conf(5) should be preferred. The method also supports SOCKS5 and HTTP(S) proxies either configured via apt−specific configuration or specified by the environment variable http_proxy in the format (assuming an HTTP proxy requiring authentication) http://user:pass@server:port/. The authentication details for proxies can also be supplied via apt_auth.conf(5).

Note that these forms of authentication are insecure as the whole communication with the remote server (or proxy) is not encrypted so a sufficiently capable attacker can observe and record login as well as all other interactions. The attacker can not modify the communication through as APTs data security model is independent of the chosen transport method. See apt-secure(8) for details.

https

The https scheme specifies an HTTPS server for an archive and is very similar in use and available options to the http scheme. The main difference is that the communication between apt and server (or proxy) is encrypted. Note that the encryption does not prevent an attacker from knowing which server (or proxy) apt is communicating with and deeper analyses can potentially still reveal which data was downloaded. If this is a concern the Tor−based schemes mentioned further below might be a suitable alternative.

file

file スキームは、システム内の任意のディレクトリを、アーカイブとして扱えるようにします。これは NFS マウントやローカルミラーで便利です。

cdrom

The cdrom scheme allows APT to use a local CD−ROM, DVD or USB drive with media swapping. Use the apt-cdrom(8) program to create cdrom entries in the source list.

ftp

The ftp scheme specifies an FTP server for an archive. Use of FTP is on the decline in favour of http and https and many archives either never offered or are retiring FTP access. If you still need this method many configuration options for it are available in the Acquire::ftp scope and detailed in apt.conf(5).

Please note that an FTP proxy can be specified by using the ftp_proxy environment variable. It is possible to specify an HTTP proxy (HTTP proxy servers often understand FTP URLs) using this environment variable and only this environment variable. Proxies using HTTP specified in the configuration file will be ignored.

copy

copy スキームは、file スキームと同様ですが、パッケージをその場で使用せず、キャッシュディレクトリにコピーするところが違います。リムーバブルメディアを使用していて、APT でコピーを行う場合に便利です。

rsh, ssh

rsh/ssh メソッドは、与えられたユーザでリモートホストに接続し、ファイルにアクセスするのに rsh/ssh を使用します。あらかじめ rhosts や RSA キーの設定をしておくことをお勧めします。リモートホストからのファイル転送に、標準の find コマンドと dd コマンドを使用します。

さらに認識できる URI タイプの追加

APT can be extended with more methods shipped in other optional packages, which should follow the naming scheme apt−transport−method. For instance, the APT team also maintains the package apt−transport−tor, which provides access methods for HTTP and HTTPS URIs routed via the Tor network.

サンプル

/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://deb.debian.org/debian stretch main
deb [ arch=amd64,armel ] http://deb.debian.org/debian stretch main

Types: deb
URIs: http://deb.debian.org/debian
Suites: stretch
Components: main

Types: deb
URIs: http://deb.debian.org/debian
Suites: stretch
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 ディレクトリ以下の stretch/contrib のみを使用します。

deb ftp://ftp.debian.org/debian stretch contrib

Types: deb
URIs: ftp://ftp.debian.org/debian
Suites: stretch
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://deb.debian.org/debian stable main contrib
deb−src http://deb.debian.org/debian stable main contrib
deb http://deb.debian.org/debian testing main contrib
deb−src http://deb.debian.org/debian testing main contrib
deb http://deb.debian.org/debian unstable main contrib
deb−src http://deb.debian.org/debian unstable main contrib

Types: deb deb−src
URIs: http://deb.debian.org/debian
Suites: stable testing unstable
Components: main contrib

関連項目

apt-get(8), apt.conf(5), /usr/share/doc/apt−doc/acquire−additional−files.txt

BUGS

APT bug page [1] . If you wish to report a bug in APT, please see /usr/share/doc/debian/bug−reporting.txt or the reportbug(1) command.

TRANSLATION

The english translation was done by John Doe <john@doe.org> in 2009, 2010 and Daniela Acme <daniela@acme.us> in 2010 together with the Debian Dummy l10n Team <debian−l10n−dummy@lists.debian.org>.

Note that this translated document may contain untranslated parts. This is done on purpose, to avoid losing content when the translation is lagging behind the original content.

著者

Gunthorpe Jason[FAMILY Given]

[FAMILY Given]

注記

1.

APT bug page

http://bugs.debian.org/src:apt

pdf