/etc/apt/sources.list
には Debian パッケージを公開しているさまざまなリポジトリ (つまり「ソース」) が記載されています。APT はそれぞれのソースで公開されているパッケージのリストを取り込みます。具体的に言うと、バイナリパッケージソースの場合は Packages.xz
ファイルまたは別の方法で圧縮されたファイル (Packages.gz
や Packages.bz2
)、ソースパッケージソースの場合は Sources.xz
ファイルまたは別の方法で圧縮されたファイルをダウンロードして、内容を解析して、パッケージのリストを取り込みます。これらのファイルの古いコピーが既にあるのなら、APT は差分だけをダウンロードしてファイルを更新することも可能です (補注「TIP 増分アップグレード」を参照してください)。
/etc/apt/sources.list
ファイルの有効な各行にはソースの説明が含まれ、ソースの説明は空白で分割された 3 つのフィールドからなります。
deb
」はバイナリパッケージ用です。
deb-src
」はソースパッケージ用です。
Packages.gz
ファイル内のファイル名と組み合わせて使われます。さらに基点 URL は完全で有効な URL でなければいけません)。基点 URL には Debian アーカイブミラーまたはサードパーティが提供する他のパッケージアーカイブを指定できます。基点 URL はシステムのファイル階層構造の中にあるローカルソースを表す file://
、ウェブサーバにあるソースを示す http://
、FTP サーバにあるソースを示す ftp://
で始めることも可能です。さらに基点 URL は CD-ROM/DVD-ROM/Blu-ray ディスクからインストールしたことを表す cdrom:
で始めることも可能です。しかし基点 URL に 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
パラメータを付けて実行します。このようにプログラムを実行すると、ドライブにディスクを挿入するよう要求されます。apt-cdrom
プログラムはディスクの内容を閲覧して Packages
ファイルを探します。Packages
ファイルは利用できるパッケージに関する APT のデータベースを更新するために利用されます (更新作業は apt update
コマンドで実行されます)。そして、APT はディスクに含まれるパッケージが必要になったらディスクを挿入するように要求します。
sources.list
です。
例 6.1 Debian 安定版ユーザ向けの /etc/apt/sources.list
ファイル
# セキュリティ更新 deb http://security.debian.org/ jessie/updates main contrib non-free deb-src http://security.debian.org/ jessie/updates main contrib non-free ## Debian アーカイブミラー # ベースリポジトリ deb http://ftp.debian.org/debian jessie main contrib non-free deb-src http://ftp.debian.org/debian jessie main contrib non-free # 安定版更新 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 # 安定版バックポート 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 セキュリティチームまたはパッケージメンテナが用意した) セキュリティ更新が含まれています。
security.debian.org
はテスト版用のセキュリティ更新もホストしていますが、実際にこれがホストされることはめったにありません。なぜなら、テスト版に対するセキュリティ更新は不安定版対する通常の更新手順を通じて行われることが多いからです。
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 安定版リリースが利用できるようになったら、すべてのインストール済みバックポートパッケージはそれに対応する安定版から提供されたパッケージにアップグレードできることが保証されています。
stable-backports
リポジトリはパッケージの新しいバージョンを提供しますが、APT は以下に示すように明確な指示を出さない限り (または以前に同じバックポートの古いバージョンをインストールしていない限り) バックポートパッケージをインストールしません。
$
sudo apt-get install package/jessie-backports
$
sudo apt-get install -t jessie-backports package
sources.list
です。
例 6.2 Debian テスト版/不安定版ユーザ向けの /etc/apt/sources.list
ファイル
# 不安定版 deb http://ftp.debian.org/debian unstable main contrib non-free deb-src http://ftp.debian.org/debian unstable main contrib non-free # テスト版 deb http://ftp.debian.org/debian testing main contrib non-free deb-src http://ftp.debian.org/debian testing main contrib non-free # 安定版 deb http://ftp.debian.org/debian stable main contrib non-free deb-src http://ftp.debian.org/debian stable main contrib non-free # セキュリティ更新 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
ファイルに追加しても、実験版パッケージを体系的に利用することにはならないからです。実験版リポジトリを追加するには以下を sources.list
ファイルに追加します。
deb http://ftp.debian.org/debian experimental main contrib non-free
mentors.debian.net
サイトは興味深いものです (ただしこのサイトが配布しているのはソースパッケージだけです)。なぜなら mentors.debian.net
には、パッケージの組み込み過程を経ずに、公式 Debian 開発者の候補者や Debian パッケージを作りたいと望むボランティアが作成したパッケージが集められているからです。mentors.debian.net
に集められたパッケージは、品質保証のないまま、利用できるようになっています。このため、起源と整合性を必ず確認し、稼働中のシステムでパッケージを使う前にパッケージを必ずテストしてください。
sources.list
を変更する必要はありませんが、APT の外部リクエスト用のプロキシ設定をこれらのプロキシキャッシュサーバに変更する必要があります。
/etc/approx/approx.conf
に保存されています。
# <最上位ディレクトリの名前> <リモート側リポジトリの基点 URL> debian http://ftp.debian.org/debian security http://security.debian.org
inetd
スーパーサーバ」を参照してください) 経由でポート 9999 番を使います。ユーザは基点 URL が approx サーバを指すように sources.list
ファイルを書き換えなければいけません。
# ローカル approx サーバを利用する設定を施した sources.list の見本 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