パッケージではなく管理ソフトウェアが独自に更新されないのはなぜですか?

パッケージではなく管理ソフトウェアが独自に更新されないのはなぜですか?

私はDebianベースのディストリビューション(Debian、Ubuntu、Linux Mint)を使用しています。最新バージョンのソフトウェアは通常リポジトリにないため、ソースから直接ダウンロードしてインストールすることがよくあります。

しかし、ソフトウェアがアップデートについて知らせることはほとんどないことがわかりました。また、実際に自分で更新してインストール権限を要求する場合も見たことがありません。

プログラマは通常、Linuxバージョンがパッケージマネージャを介して更新されると信じていますか?

ベストアンサー1

このタイプの機能を実装することは、「ホームコール」(更新が可能であることを確認する)と「所定の位置で更新」という点で非常に困難です。

  • お使いのシステムで実行されているソフトウェアは、最新バージョンが利用可能であることを確認する方法を知る必要があります(これはアプリケーションにネットワークコードを追加することを意味し、他の理由でネットワークを使用しない可能性があります)。
  • ソフトウェアはネットワークの状態に関係なく正常に動作する必要があります(明らかに完全にオフラインの場合、しかし部分的に接続されていても奇妙なエラーのために失敗してはいけません)。
  • 最新バージョンが利用可能かどうかを判断する方法が必要です(ユーザーがソースリポジトリからビルドしたときにバージョンをどのように比較しますか?)。
  • サーバーサイド機能を備えたサーバーが必要であり、それを開発する必要があるかもしれません。
  • サーバーまたは中間者攻撃によって更新が破損していないことを確認する必要があります(したがって、TLSおよび/または強力なシグネチャの種類を使用する必要があります)。
  • ユーザーが利用できる形式でアップデートを提供する必要があります。ユーザーが元のソースからビルドした可能性がありますが、ソフトウェアを実行しているシステムにソースから更新されたバージョンを再ビルドするために必要なものがすべてあるという保証はありません。バイナリを提供します(すべての可能性のターゲットプラットフォームについて?)。

(これは完全なリストではありません。)

これはdistroがすでに処理している問題であるため、distroに問題を処理させる方が簡単です。さらに、もし先行は達成するのが難しいすでに説明したように、最新バージョンのソフトウェアを実行することに興味があるユーザーは、少なくとも通知メーリングリストをフォローするのに十分な関心を持っている可能性があるため、この方法で通知が届きます。

考慮すべきもう一つの側面は、多くの人々が何らかの方法で電話に応答するために使用するソフトウェアを望まないことです。一部のディストリビューションはかなりの期間にわたって配布されます。削除する配布するソフトウェアまたは使用量を追跡するために使用できるソフトウェアの他の部分でこれを実行するコード(例えばWebから画像、フォント、またはCSSを読み込むドキュメント)。すべての「個人情報侵害」タグを見るDebian の Lin Tian例えば。

これらすべては、独自のアップデート情報を提供するために必要なメカニズムを含むソフトウェアがほとんどなく、自己アップグレード可能なソフトウェアがはるかに少ない理由を説明しています。

「問題」を解決する別の方法があります。 CIシステムを使用するソフトウェア開発者は通常、そのシステムを拡張して、いくつかの消費可能な形式(パッケージ)で「夜間」ビルドを提供できます。興味のあるユーザーは自分のビルドシステムを設定できます。興味のあるソフトウェアの更新されたソース(これは企業環境で非常に一般的です)または最新のソースコードで構築されたAURスタイルのパッケージを設定できます。

おすすめ記事