次のようにインストールできる場合、RPMは再配置可能です。
rpm -ivh --prefix=/path/to/non/default/dir package-name.rpm
次のエラーメッセージが表示されることはありません。
error: package package-name is not relocatable
これは link の状態です:
RPMには、システムにパッケージをインストールする場所を決定する際に、ユーザーにある程度の自由度を与える機能があります。ただし、パッケージビルダーは、ユーザーにこの自由を与えるために、まずパッケージを設計する必要があります。つまり、別のディレクトリにインストールできるRPMパッケージは、再配置可能であるといいます。すべてのRPMパッケージを別のディレクトリにインストールできるわけではないことに注意してください。
しかし、それは説明していませんwhyパッケージビルダーは、ユーザーがパッケージをインストールする場所を自由に決定できるようにしたくないでしょう。
では、なぜ特定のパッケージを再配置不可能にするのが良いのでしょうか?
実際、見つけられるほとんどのRPMパッケージは再配置可能ではありません。
Fedoraパッケージングガイドライン このことを言わせてください :
再配置可能なパッケージを生成するためのRPMの機能の使用は強くお勧めしません。正しく機能させることは困難であり、インストーラーやyumから使用することは不可能であり、他のパッケージ化ガイドラインに従っている場合は一般的に必要ありません。ただし、万が一、パッケージを再配置可能にする正当な理由がある場合は、パッケージのレビューのリクエストでこの意図と理由を説明する必要があります。
これらはRHELのアップストリームパッケージなので、公式のFedora、RHEL/CentOS、またはEPELディストリビューションリポジトリで再配置可能なパッケージを見つけることはほとんどありません。
ただし、再配置可能なサードパーティのRPMを見つけることはほとんどありません。ただし、依存関係マネージャーはそれらを処理できないため、一度インストールすると、それらをインストールまたは管理するための良い方法はなく、パッケージを移動しようとしても意味がありません。