web-dev-qa-db-ja.com

一部のRPMが「再配置できない」のはなぜですか?

次のようにインストールできる場合、RPMは再配置可能です。

rpm -ivh --prefix=/path/to/non/default/dir package-name.rpm

次のエラーメッセージが表示されることはありません。

error: package package-name is not relocatable

これは link の状態です:

RPMには、システムにパッケージをインストールする場所を決定する際に、ユーザーにある程度の自由度を与える機能があります。ただし、パッケージビルダーは、ユーザーにこの自由を与えるために、まずパッケージを設計する必要があります。つまり、別のディレクトリにインストールできるRPMパッケージは、再配置可能であるといいます。すべてのRPMパッケージを別のディレクトリにインストールできるわけではないことに注意してください。

しかし、それは説明していませんwhyパッケージビルダーは、ユーザーがパッケージをインストールする場所を自由に決定できるようにしたくないでしょう。

では、なぜ特定のパッケージを再配置不可能にするのが良いのでしょうか?

4
Matthew Moisen

実際、見つけられるほとんどのRPMパッケージは再配置可能ではありません

Fedoraパッケージングガイドライン このことを言わせてください

再配置可能なパッケージを生成するためのRPMの機能の使用は強くお勧めしません。正しく機能させることは困難であり、インストーラーやyumから使用することは不可能であり、他のパッケージ化ガイドラインに従っている場合は一般的に必要ありません。ただし、万が一、パッケージを再配置可能にする正当な理由がある場合は、パッケージのレビューのリクエストでこの意図と理由を説明する必要があります。

これらはRHELのアップストリームパッケージなので、公式のFedora、RHEL/CentOS、またはEPELディストリビューションリポジトリで再配置可能なパッケージを見つけることはほとんどありません。

ただし、再配置可能なサードパーティのRPMを見つけることはほとんどありません。ただし、依存関係マネージャーはそれらを処理できないため、一度インストールすると、それらをインストールまたは管理するための良い方法はなく、パッケージを移動しようとしても意味がありません。

8
Michael Hampton