![Linux アップデート マネージャーはどのように機能しますか?](https://rvso.com/image/1317551/Linux%20%E3%82%A2%E3%83%83%E3%83%97%E3%83%87%E3%83%BC%E3%83%88%20%E3%83%9E%E3%83%8D%E3%83%BC%E3%82%B8%E3%83%A3%E3%83%BC%E3%81%AF%E3%81%A9%E3%81%AE%E3%82%88%E3%81%86%E3%81%AB%E6%A9%9F%E8%83%BD%E3%81%97%E3%81%BE%E3%81%99%E3%81%8B%3F%20.png)
Linux のアップデート マネージャーがどのように機能するかを知りたいです。たとえば、Linux ディストリビューションは、ダウンロード可能なアップデートがあるかどうか、また、どのサーバーからこれらのアップデートをダウンロードするかをどのように確認するのでしょうか。メイン ディストリビューションに含まれないサード パーティ ソフトウェアを扱っている場合、それらのプログラムはアップデート マネージャーとどのようにやり取りして、それらのプログラムに利用可能なアップデートがあることを通知するのでしょうか。最後に、この件に関する優れた文献にはどのようなものがありますか。
答え1
ディストリビューションによって多少異なります。
通常、各ディストリビューションはインストール可能なすべてのソフトウェアパッケージの膨大なリストを保持しています。これはソフトウェアリポジトリまたは略して「レポ」と呼ばれます。パッケージマネージャー(apt、RPM、pacman など) は、リポジトリから定期的に更新されたパッケージのリストを取得します。ディストリビューション開発者はリポジトリ内のパッケージの所有権を取得し、ディストリビューションが期待する形式でパッケージ化する (リポジトリには通常、アップストリームから取得した元のソース コードから作成されたパッケージのコンパイル済みバージョンがあります)、ディストリビューションに送信されたパッケージに関するバグを監視する、公式の「バニラ」ソースにパッチを適用する (おそらく、システムへの統合を改善したり、構成したり、アップストリームがまだ対応していない問題を修正したりするため)、アップストリーム パッケージを監視して、ソフトウェア リポジトリのバージョンに適用できる更新を探します。
例えば:
- Ubuntu 16.04 の最新パッケージ
- http://www.debian.org/distrib/packages
- http://gentoo.com/ より
- http://www.archlinux.org/packages/
- https://admin.fedoraproject.org/pkgdb
一部のディストリビューションは、定期的なバージョン更新を適用しません。たとえば、Ubuntu は、そのバージョンのディストリビューションがリリースされたときにリリースされていたソフトウェアのバージョンを維持します。通常は、セキュリティの問題や重大なバグのみを修正します。これにより、ソフトウェアが予期せず変更されることがなくなります (たとえば、次のバージョンで UI が大幅に変更されたり、新しいバグによって何かが壊れる場合があります。大規模な組織では、特定のバージョンのソースコードに対して独自のカスタムパッチを適用する場合があります)。パッケージのメンテナーは、6 か月ごとに Debian からパッケージのリストを取得し、Ubuntu の修正/パッチを適用してから、ディストリビューションの新しいバージョンを出荷します。このルールにはいくつかの例外がある特に注目すべきは Firefox で、Mozilla から入手可能な最新の安定版リリースに更新されます。
Debian には、安定版、テスト版、不安定版があります。パッケージは、準備が整ったと判断されると、不安定版からテスト版に移行します。その後、1.5 年ごとに、Debian はパッケージの現在のテスト版を固定する「安定版」バージョンをリリースします。
同様にUbuntuには特別なLTS (または長期サポート)約 2 年ごとにリリースされ、そのバージョンのパッケージはより長期間 (デスクトップ パッケージの場合は 3 年でしたが、5 年) メンテナンスされます。
他のディストリビューションは可能な限りソースを追跡します。たとえば、Arch と Gentoo です。これらは「ローリングリリース'。ただし、通常、不安定なカテゴリと安定したカテゴリがあり、機能性が検証されるとパッケージが移動されますが、他のディストリビューションのように半年以上かかるのではなく、数か月または数週間しかかからない場合があります。これらのディストリビューションでは、安定性を犠牲にして、より新しいバージョンのソフトウェアを入手できます。
Debian テストはローリングリリースと考えることができます。一方、Debian 安定版は Ubuntu の LTS リリースのようなものです。
真のサードパーティ ソフトウェア (ディストリビューションのリポジトリからではなく、Web サイトから直接入手したソフトウェア) のほとんどは、ディストリビューションの更新システムとはまったくやり取りしません。ソフトウェアを手動でインストールする場合 (apt-get、yum などを使用する以外)、ソフトウェアを最新の状態に保つのはユーザーの責任になります。
サードパーティの中には、更新システムが使用できる独自のリポジトリを維持しているところもあります。たとえば、Google は Ubuntu 上の Chrome 用のリポジトリを維持しています。Launchpad PPA も多数あります。その場合、更新の維持はサードパーティに頼ることになります。