私の知る限り、Linuxディストリビューションで最も人気のある2つのパッケージ管理スキーマであるAptとDNF/Yumはどちらも、システム全体のパッケージのインストールのみをサポートしています。ルートが所有するファイル、バイナリは(/usr)?/s?bin
、設定は/etc
等々。
ただし、root権限を持たない個々のユーザーが複数いるシステムでは、常にではないにせよ、ユーザーがそのディストリビューションで利用できるいくつかのアプリやユーティリティをインストールしたいことがよくあります。そして、彼/彼女は個人的で多くの/すべてのユーザーに共通でないインストールで問題ありません。
ユーザーがこれを実行できるように、インストール時にパッケージを別のルートディレクトリまたはルートディレクトリのセットで適応できるようにすることは、遠くからでも信じられないほど複雑な考えでもありません。また、インストールされたパッケージのユーザー固有のレジストリを管理することもそれほど問題ではありません(個々のユーザーが自分のパッケージDBを持っているかどうかは関係ありません)。
では、この機能がこれらの一般的なパッケージ管理システム/スキームに追加されていない理由は何ですか?
注:これは参考になる質問です。つまり、この機能について考えるではなく、過去について知っているについて尋ねています。
一般的なパッケージマネージャーはこのユースケースに対応していませんが、次のようなプロジェクトがいくつかあります。
従来のパッケージマネージャーがこのユースケースに対応していない理由については、パッケージメンテナーはパッケージが動的インストールディレクトリを正しくサポートするように細心の注意を払う必要があるため、パッケージビルドとインストールプロセスが非常に複雑になると推測します。実際、RPMなどの多くの一般的なパッケージ形式は動的インストールディレクトリをサポートしていますが、追加のオーバーヘッドが大きいため、パッケージをビルドするときにメンテナがこの機能を利用することはほとんどありません。
では、この機能がこれらの一般的なパッケージ管理システム/スキームに追加されていない理由は何ですか?
必要以上にシステムの管理が複雑になるためです。