2. パッケージリポジトリ

オンラインで利用可能な膨大な数の Linux パッケージは、どのようにして私たちのコンピューターに搭載されるのでしょうか?ソフトウェアごとにダウンロードページを訪れることも可能ですが、より効率的な解決策が存在します。それがパッケージリポジトリです。

パッケージリポジトリとは

パッケージリポジトリとは、ソフトウェアを一元的に保管する場所のことです。これらのリポジトリはインターネット上のサーバーにホストされており、厳選された Linux パッケージのコレクションを含んでいるため、手動でのダウンロードやインストールが不要になります。このシステムは、ソフトウェアを管理するための合理化された安全な方法を提供し、現代の Linux パッケージ管理の礎となっています。

リポジトリの仕組み

システムのパッケージマネージャーは、これらのリポジトリがどこにあるかを知る必要があります。ユーザーがソースリンクを提供すると、あとはパッケージマネージャーが処理します。

例えば、Docker をインストールする場合、ウェブサイトから直接ダウンロードするわけではありません。代わりに、Docker の公式リポジトリ(https://download.docker.com/linux/ubuntuのような URL でホストされている)を使用するようにパッケージマネージャーを設定します。設定が完了すると、システムはそのリポジトリ内のdocker-cedocker-ce-clicontainerd.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パッケージマネージャーによって使用されます。

ログインして学習進捗を保存

サインイン

演習

練習あるのみです!Linux パッケージ管理とリポジトリの理解を深めるための実践的なラボをいくつか紹介します。

  1. Linux でのソフトウェアインストール - sources.listの概念に直接関連する、apt の使用や.deb ファイルの処理など、Ubuntu システムでのソフトウェアのインストールと管理のさまざまな方法を練習します。
  2. パッケージのインストールと削除 - Debian ベースのシステムでシステムを更新し、パッケージをインストールおよび削除する方法を学び、パッケージマネージャーがリポジトリとどのように連携するかについての理解を深めます。
  3. Linux での YUM を使用したパッケージの照会と更新 - YUM を使用して RHEL ベースの Linux システムでソフトウェアパッケージを管理する方法を探り、さまざまなディストリビューション間でのパッケージ管理についてより広い視点を提供します。

クイズ

従来の Debian システムでは、パッケージリポジトリをリストするメインファイルへの完全なパスは何ですか?完全なファイルパスを使用して回答してください。