aptリポジトリの構造
/etc/apt/sources.list に設定ファイルがある。
deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy main restricted一般的にすると、以下の書式となる。
- deb または deb-src
- 省略可能なオプション
- URL
- ディストリビューション
- コンポーネント(複数可能)
オプションは用途によって色々あるが、 arch=amd64 とするとアーキテクチャがAMD64のパッケージのみ探すようになる。デフォルトではシステムの設定によるが、基本的には以下のリストを探す。
dpkg --print-architecturedpkg --print-foreign-architectores複数のオプションを使う場合はスペースで区切る。
[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 jammy main restrictedこの場合、以下のURLからパッケージを探す。
- http://archive.ubuntu.com/ubuntu/dists/jammy/main
- http://ports.ubuntu.com/ubuntu-ports/dists/jammy/restricted/
同様に、
http://ports.ubuntu.com/ubuntu-ports jammy-updates main restricted以下のURLからパッケージを探す。
- http://ports.ubuntu.com/ubuntu-ports/dists/jammy-updates/main
- http://ports.ubuntu.com/ubuntu-ports/dists/jammy-updates/restricted
コンポーネント
Section titled “コンポーネント”APTの設定(/etc/apt/sources.list)をちゃんと理解するによると、
- Ubuntuチームが管理するものか
- フリーソフトウェアかどうか
で分かれている。公式のRepositories/Ubuntuではリポジトリと呼んだり、コンポーネントと呼んだりしていて表記が安定していない。
| Ubuntuチームが管理する | フリーソフトウェア | コンポーネント |
|---|---|---|
| yes | yes | main |
| yes | no | restricted |
| no | yes | universe |
| no | no | multiverse |