Linux Update Managerがどのように機能するかを知りたいです。たとえば、私のLinuxディストリビューションは、ダウンロード可能なアップデートがあるかどうか、どのサーバーがそのアップデートをダウンロードできるかをどのように確認しますか?プライマリディストリビューションに含まれていないサードパーティ製ソフトウェアを使用している場合、これらのプログラムはアップデートマネージャとどのように対話して、そのプログラムのアップデートがあるかを教えてください。最後に、このトピックに関する良い文献は何ですか?
答え1
時々違うよね詳細は、主要なLinuxディストリビューションによって異なります。
パート1あなたの質問:OS(オペレーティングシステム)にどのように適用されますか?
ミラーリストがあるか、オペレーティングシステムがミラーリストを取得する配布ポイントがあります。または、これらの更新を提供するHAサーバーを指すハードコードされたURLがあります。転送プロトコルとしては通常、HTTPとFTPが使用されます。オープンソース以外のディストリビューションではHTTPSを使用できます。ローカルミラーリングにはNFSを含めることができます。
アップデートサーバーを選択すると、オペレーティングシステムはすべてのパッケージバージョン番号のリストをダウンロードします。バージョン番号がインストールされているバージョンより高い場合は、アップグレードする必要があります。パッケージには、検査する他のパッケージ(依存関係)への参照が含まれています。最新のパッケージにまだインストールされていない他のパッケージが必要な場合は、そのパッケージも通常一時準備ディレクトリにダウンロードされます。次に、このアップデートをインストールします。
パート2あなたの質問:サードパーティソフトウェアではどのように機能しますか?
パッケージのソースURLをローカル展開に統合できない場合はそうではありません。
サードパーティがディストリビューションと一致するリポジトリを提供するのは簡単です。これを提供しないと、さらに難しいです。
後者の場合は、次のメカニズムを作成する必要があります。
- 最新バージョンがあることを確認してください。
- ダウンロード
- オプションでコンパイル
- 包む
- これらのパッケージのローカルストレージの構築
答え2
バージョン番号で判断すると、Ubuntuのアップデートマネージャに言及する場合は、apt-getの制限付きフロントエンドにすぎません。
デフォルトでは、2つのデータベースがあります。 1つは、インストールされたパッケージとそのバージョンを記録するコンピュータに保存されます。もう1つは、利用可能なすべてのパッケージとバージョン番号を含むサーバーからダウンロードされたデータベースを保持します。
アップデートサーバーからアップデート(メタ情報)をダウンロードすると、プログラムはインストールされているパッケージに最新バージョンがあることを確認し、最新バージョンがあればパッケージをアップグレードできます。
Ubuntuでは、apt-get update
(メタ情報のインポート)が完了すると、アップデートマネージャは変更を検出し、利用可能なアップデートがあることを確認してポップアップとして表示されます。