Skip to content

aptリポジトリの構造

/etc/apt/sources.list に設定ファイルがある。

deb [arch=amd64] http://archive.ubuntu.com/ubuntu noble main restricted

一般的にすると、以下の書式となる。

  1. deb または deb-src
  2. 省略可能なオプション
  3. URL
  4. スイート(ディストリビューション)
  5. コンポーネント(複数可能)

マニュアルはsources.list(5)にある。

Ubuntu 24.04で deb822 形式がサポートされた。上で書いた1行スタイルではなく、コロン区切りのプロパティリストでリポジトリを記述できるようになっている。有効なフィールド名は上記のマニュアルに掲載されていて、それ以外はすべて無視される。

Types: deb deb-src
URIs: https://archive.ubuntu.com/ubuntu
Suites: noble
Components: main restricted
Architectures: amd64 arm64
Trusted: yes

こちらのスタイルで記述する場合、ファイルパスは /etc/sources.list.d/*.sources となる。

オプションは用途によって色々あるが、 arch=amd64 とするとアーキテクチャがAMD64のパッケージのみ探すようになる。デフォルトではシステムの設定によるが、基本的には以下のリストを探す。

Terminal window
dpkg --print-architecture
dpkg --print-foreign-architectores

1行スタイルの場合は、複数のオプションを使う場合はスペースで区切る。

[arch=amd64,arm64 trusted=yes]

リポジトリは用途ごとに複数存在する。今のところ、公式のリストを見つけられていないが、把握している限りでは .ubuntu.com のドメインは3つある。

  • archive.ubuntu.comamd64 または i386 のパッケージが置かれている
  • security.ubuntu.com … ミラー配信を待たずになるべく早く配布するものらしい
  • ports.ubuntu.com .. arm64 など別のアーキテクチャで利用するパッケージが置かれている

ディストリビューションやコンポーネントは、このドメインから探すことになる。再掲するが、

http://archive.ubuntu.com/ubuntu noble main restricted

この場合、以下のURLからパッケージを探す。

同様に、

http://ports.ubuntu.com/ubuntu-ports noble-updates main restricted

以下のURLからパッケージを探す。

noble とか noble-security のような目的ごとの配布物。

APTの設定(/etc/apt/sources.list)をちゃんと理解するによると、

  • Ubuntuチームが管理するものか
  • フリーソフトウェアかどうか

で分かれている。公式のRepositories/Ubuntuではリポジトリと呼んだり、コンポーネントと呼んだりしていて表記が安定していない。

Ubuntuチームが管理するフリーソフトウェアコンポーネント
yesyesmain
yesnorestricted
noyesuniverse
nonomultiverse