オンラインで利用可能な膨大な数の Linux パッケージは、どのようにして私たちのコンピューターに搭載されるのでしょうか?ソフトウェアごとにダウンロードページを訪れることも可能ですが、より効率的な解決策が存在します。それがパッケージリポジトリです。
パッケージリポジトリとは
パッケージリポジトリとは、ソフトウェアを一元的に保管する場所のことです。これらのリポジトリはインターネット上のサーバーにホストされており、厳選された Linux パッケージのコレクションを含んでいるため、手動でのダウンロードやインストールが不要になります。このシステムは、ソフトウェアを管理するための合理化された安全な方法を提供し、現代の Linux パッケージ管理の礎となっています。
リポジトリの仕組み
システムのパッケージマネージャーは、これらのリポジトリがどこにあるかを知る必要があります。ユーザーがソースリンクを提供すると、あとはパッケージマネージャーが処理します。
例えば、Docker をインストールする場合、ウェブサイトから直接ダウンロードするわけではありません。代わりに、Docker の公式リポジトリ(https://download.docker.com/linux/ubuntuのような URL でホストされている)を使用するようにパッケージマネージャーを設定します。設定が完了すると、システムはそのリポジトリ内のdocker-ce、docker-ce-cli、containerd.ioなど、すべてのパッケージにアクセスできるようになります。
リポジトリソースの設定
お使いの Linux ディストリビューションには、システム上のすべての基本パッケージ用に、あらかじめ設定された一連のリポジトリが付属しています。Ubuntu のような Debian ベースのシステムでは、これらのソースの主要な設定はapt sources list(apt ソースリスト)を通じて管理されます。
従来、このリストは単一のファイル、/etc/apt/sources.listです。マシンのパッケージマネージャーはこのファイルを読み取り、利用可能なソフトウェアや更新のためにどのリポジトリを確認すべきかを知ります。
また、/etc/apt/sources.list.d/ディレクトリに新しいリポジトリ設定を追加することも一般的です。新しいバージョンの Ubuntu(22.04 以降)では、デフォルトでこのディレクトリを使用し、ソースを構造化された.sourcesファイルに整理しています。このアプローチにより、サードパーティ製リポジトリがシステムのデフォルトソースから分離され、パッケージ管理がよりクリーンで整理されたものになります。/etc/apt/sources.listと/etc/apt/sources.list.d/内のファイルの両方がaptパッケージマネージャーによって使用されます。