aptリポジトリの構造
設定ファイル
Section titled “設定ファイル”/etc/apt/sources.list に設定ファイルがある。
deb [arch=amd64] http://archive.ubuntu.com/ubuntu noble main restricted一般的にすると、以下の書式となる。
- deb または deb-src
- 省略可能なオプション
- URL
- スイート(ディストリビューション)
- コンポーネント(複数可能)
マニュアルはsources.list(5)にある。
deb822形式
Section titled “deb822形式”Ubuntu 24.04で deb822 形式がサポートされた。上で書いた1行スタイルではなく、コロン区切りのプロパティリストでリポジトリを記述できるようになっている。有効なフィールド名は上記のマニュアルに掲載されていて、それ以外はすべて無視される。
Types: deb deb-srcURIs: https://archive.ubuntu.com/ubuntuSuites: nobleComponents: main restrictedArchitectures: amd64 arm64Trusted: yesこちらのスタイルで記述する場合、ファイルパスは /etc/sources.list.d/*.sources となる。
設定の構成要素
Section titled “設定の構成要素”オプションは用途によって色々あるが、 arch=amd64 とするとアーキテクチャがAMD64のパッケージのみ探すようになる。デフォルトではシステムの設定によるが、基本的には以下のリストを探す。
dpkg --print-architecturedpkg --print-foreign-architectores1行スタイルの場合は、複数のオプションを使う場合はスペースで区切る。
[arch=amd64,arm64 trusted=yes]リポジトリは用途ごとに複数存在する。今のところ、公式のリストを見つけられていないが、把握している限りでは .ubuntu.com のドメインは3つある。
- archive.ubuntu.com … amd64 または i386 のパッケージが置かれている
- security.ubuntu.com … ミラー配信を待たずになるべく早く配布するものらしい
- ports.ubuntu.com .. arm64 など別のアーキテクチャで利用するパッケージが置かれている
ディストリビューションやコンポーネントは、このドメインから探すことになる。再掲するが、
http://archive.ubuntu.com/ubuntu noble main restrictedこの場合、以下のURLからパッケージを探す。
- http://archive.ubuntu.com/ubuntu/dists/noble/main
- http://archive.ubuntu.com/ubuntu/dists/noble/restricted
同様に、
http://ports.ubuntu.com/ubuntu-ports noble-updates main restricted以下のURLからパッケージを探す。
- http://ports.ubuntu.com/ubuntu-ports/dists/noble-updates/main
- http://ports.ubuntu.com/ubuntu-ports/dists/noble-updates/restricted
noble とか noble-security のような目的ごとの配布物。
コンポーネント
Section titled “コンポーネント”APTの設定(/etc/apt/sources.list)をちゃんと理解するによると、
- Ubuntuチームが管理するものか
- フリーソフトウェアかどうか
で分かれている。公式のRepositories/Ubuntuではリポジトリと呼んだり、コンポーネントと呼んだりしていて表記が安定していない。
| Ubuntuチームが管理する | フリーソフトウェア | コンポーネント |
|---|---|---|
| yes | yes | main |
| yes | no | restricted |
| no | yes | universe |
| no | no | multiverse |