パッケージマネージャのパッケージリストを更新するためにrootアクセス権が必要なのはなぜですか?

パッケージマネージャのパッケージリストを更新するためにrootアクセス権が必要なのはなぜですか?

パッケージマネージャのパッケージリストを更新するためにrootアクセス権が必要なのはなぜですか?

こんにちは、

パッケージマネージャのパッケージリストを更新するには、なぜルートアクセスが必要なのかを常に疑問に思いました。

指定されたディレクトリにあるデータベースにアクセスするには権限が必要であることを理解してください。

ところで、なぜルートがなければアップデートも確認できませんか?

他のユーザーには影響しません。保留中の更新について知ることはセキュリティ上の欠陥である可能性がありますが、インストールされているバージョンと最新バージョンは異なる方法で簡単に検出できます。

その理由は何ですか?

私が知る限り、これらの行動は一般的なことです。 Fedora、Ubuntu、Debian、およびArchはすべてこの動作を持ち、おそらく他の多くのディストリビューションも同様です。

答え1

一般ユーザーがパッケージのリストを変更できる場合、スーパーユーザーがインストールする前に再度更新しないと、パッケージシステムは追加のパッケージをインストールするのを容易にします。

答え2

同期/更新フェーズに権限が付与されるのは、更新を実行するプロセスのUID / GIDがパッケージディレクトリツリーを変更できる必要があるためです。はい、サービスまたはset[gu]id実行可能ファイルを使用して実行できますが、システム管理が許可されている機能に機能を制限するのも簡単で管理しやすいです。他の人が管理作業を妨げてはいけません。まずはビート!

どのパッケージがアップグレードされるかを確認したい場合は、別の質問です。ほとんどのディストリビューションでは、通常、権限を必要としないアップグレードをシミュレート/シミュレートできます。 (私が使用する)Gentooの場合は、emerge -up @worldディストリビューションのパッケージマネージャで同等のオプションを確認してください。

関連情報