/etc/apt/sources.list
には Debian パッケージを公開しているさまざまなリポジトリ (または「ソース」) が記載されています。APT はそれぞれのソースが公開しているパッケージのリストを取り込みます。具体的に言うと、(バイナリパッケージの場合) Packages.xz
ファイルまたは別の方法で圧縮されたファイル (Packages.gz
や .bz2
)、(ソースパッケージの場合) Sources.xz
ファイルまたは別の方法で圧縮されたファイルをダウンロードして、内容を解析して、パッケージのリストを取り込みます。これらのファイルの古いコピーが既にあるのなら、APT は差分だけをダウンロードしてファイルを更新します (補注「TIP 増分アップグレード」を参照してください)。
/etc/apt/sources.list
ファイルの有効な各行には、空白で分割された 3 つの部分からなる、ソースの説明が含まれています。
deb
」はバイナリパッケージ用、
deb-src
」はソースパッケージ用です。
Packages.gz
ファイル内のファイル名と組み合わせます、これは完全で有効な URL でなければいけません)。なぜなら、起点 URL には Debian ミラーまたはサードパーティが提供する他のパッケージアーカイブを指定できるからです。URL は、システムのファイル階層構造の中にあるローカルソースを表す file://
、ウェブサーバにあるソースを示す http://
、FTP サーバにあるソースを示す ftp://
、で始めることが可能です。この URL はまた CD-ROM/DVD-ROM/Blu-ray ディスクからインストールしたことを表す cdrom:
で始めることも可能です。しかしこれはそれほど多くありません。なぜなら、ネットワークを使ったインストール方法がずっと一般的だからです。
./
」の場合が多いです)。しかし最も多く見られるのは、リポジトリが Debian ミラーのように構造化されている、つまり、複数のコンポーネントを持つ複数のディストリビューションを配布している場合です。この場合、そのマシンのディストリビューションの名前 (「コードネーム」— 補注「COMMUNITY Bruce Perens さん、賛否の分かれるリーダー」を参照 — または対応する「スイート」— stable
、testing
、unstable
) を指定し、その後に有効化するコンポーネント (またはセクション) を指定します (典型的な Debian ミラーでは main
、contrib
、non-free
から選びます)。
cdrom
エントリはあなたの持っている CD/DVD-ROM を表しています。他のエントリと異なり、CD-ROM は常に利用できるわけではありません。なぜなら、ディスクをドライブに挿入しなければいけませんし、一度に 1 つのディスクしか読めないからです。このような理由で、CD-ROM ソースは少し違う方法で管理されます。ソースを追加するには通常 apt-cdrom
プログラムに add
パラメータを付けて実行します。このようにプログラムを実行すると、ドライブにディスクを挿入するよう要求されます。プログラムはディスクの内容を閲覧して Packages
ファイルを探します。このファイルは利用できるパッケージデータベースを更新する際に利用されます (更新作業は apt update
コマンドで実行されます)。そして、APT はディスクに含まれるパッケージが必要になったらディスクを挿入するように要求します。
sources.list
です。
例 6.1 Debian 安定版ユーザ向けの /etc/apt/sources.list
ファイル
# Security updates deb http://security.debian.org/ jessie/updates main contrib non-free deb-src http://security.debian.org/ jessie/updates main contrib non-free ## Debian mirror # Base repository deb http://ftp.debian.org/debian jessie main contrib non-free deb-src http://ftp.debian.org/debian jessie main contrib non-free # Stable updates deb http://ftp.debian.org/debian jessie-updates main contrib non-free deb-src http://ftp.debian.org/debian jessie-updates main contrib non-free # Stable backports deb http://ftp.debian.org/debian jessie-backports main contrib non-free deb-src http://ftp.debian.org/debian jessie-backports main contrib non-free
stable
、stable-updates
、stable-backports
) という別名を使わなかった理由は、新しい安定版が公開されたことで自動的にディストリビューションのバージョンが変わるのを望まないからです。
sources.list
ファイルにリストされた最初のリポジトリから取得されることに注意してください。この理由から、非公式ソースは通常最後に追加されます。
security.debian.org
(Debian システム管理者が管理する少数のマシン) でホストされています。このアーカイブには、安定版ディストリビューション用の (Debian セキュリティチームまたはパッケージメンテナが用意した) セキュリティ更新が含まれています。
proposed-updates
リポジトリからの一部抜粋したもので、安定版リリースマネージャが内容を注意深く選んでいます。
proposed-updates
リポジトリは (安定版リリースマネージャの指揮の下で) 予定された更新を準備する場所です。
proposed-updates
リポジトリに加えられますが、更新は他にもあります。なぜなら、パッケージメンテナは素早くリリースすることもないけれど重要と思われるバグを修正する機会があるからです。
proposed-updates
リポジトリを使うことが可能です。以下で引用した例は jessie-proposed-updates
という別名を使っています。このような、より明白でより一貫性のある別名を使っている理由は、(旧安定版 に対する更新用のリポジトリとして) wheezy-proposed-updates
という別名が存在するからです。
deb http://ftp.debian.org/debian jessie-proposed-updates main contrib non-free
stable-backports
リポジトリは「パッケージのバックポート」をホストしています。この用語は、古いディストリビューション用に、通常は安定版用に、再コンパイルした最新ソフトウェアのパッケージを指す言葉です。
stable-backports
リポジトリは普通の Debian ミラーから利用できます。しかし Squeeze 用のバックポートはまだ専用サーバ (backports.debian.org
) でホストされており、以下の sources.list
エントリが必要です。
deb http://backports.debian.org/debian-backports squeeze-backports main contrib non-free
stable-backports
に収録されているバックポートは常にテスト版で利用できるパッケージから作成されます。これは、次の Debian 安定版リリースが利用できるようになったら、すべてのインストール済みバックポートは対応する安定版にアップグレードできる、ということを保証します。
$
sudo apt-get install package/jessie-backports
$
sudo apt-get install -t jessie-backports package
sources.list
です。
例 6.2 Debian テスト版/不安定版ユーザ向けの /etc/apt/sources.list
ファイル
# Unstable deb http://ftp.debian.org/debian unstable main contrib non-free deb-src http://ftp.debian.org/debian unstable main contrib non-free # Testing deb http://ftp.debian.org/debian testing main contrib non-free deb-src http://ftp.debian.org/debian testing main contrib non-free # Stable deb http://ftp.debian.org/debian stable main contrib non-free deb-src http://ftp.debian.org/debian stable main contrib non-free # Security updates deb http://security.debian.org/ stable/updates main contrib non-free deb http://security.debian.org/ testing/updates main contrib non-free deb-src http://security.debian.org/ stable/updates main contrib non-free deb-src http://security.debian.org/ testing/updates main contrib non-free
sources.list
ファイルを使う場合、APT は不安定版からパッケージをインストールします。これを望まない場合、APT::Default-Release
設定を使って (第 6.2.3 節「システムのアップグレード」をご覧ください) APT に他のディストリビューションから (この場合テスト版から) パッケージを取得するよう伝えます。
sources.list
ファイルに追加することは、パッケージの体系的な利用に結び付かないからです。実験版を追加するには以下のようにします。
deb http://ftp.debian.org/debian experimental main contrib non-free
mentors.debian.net
サイトは興味深いものです (ただしこのサイトが配布しているのはソースパッケージだけです)。なぜならここには、パッケージの統合過程を経ずに、公式 Debian 開発者の候補者や Debian パッケージを作りたいと望むボランティアが作成したパッケージをアップロードできるからです。これらのパッケージは、品質保証のないまま、利用できるようになっています。このため、起源と整合性を必ず確認し、稼働中のシステムでパッケージを使う前にパッケージを必ずテストしてください。
sources.list
を変える必要はありませんが、APT はそれらを外部リクエスト用のプロキシとして設定します。
/etc/approx/approx.conf
に保存されています。
# <name> <repository-base-url> debian http://ftp.debian.org/debian security http://security.debian.org
inetd
スーパーサーバ」参照) ポート 9999 番を使います。ユーザは approx サーバを指すように sources.list
ファイルを書き換えなければいけません。
# Sample sources.list pointing to a local approx server deb http://apt.falcot.com:9999/security jessie/updates main contrib non-free deb http://apt.falcot.com:9999/debian jessie main contrib non-free