再配置可能パッケージの識別
すべての RPM パッケージを別のディレクトリにインストールできるわけではありません。別のディレクトリにインストールできる RPM パッケージは、再配置可能であると言われます。特定のパッケージが再配置可能かどうかを確認するには、次のコマンドを使用します:
# rpm -qpi [rpm package] | head -1
たとえば、パッケージ:redhat-lsb-1.3-3.1.EL3.i386.rpm および rsync-2.5.7-5.3E.i386.rpm は以下の出力を生成します:
# rpm -qpi redhat-lsb-1.3-3.1.EL3.i386.rpm | head -1 Name : redhat-lsb Relocations: (not relocatable)
# rpm -qpi rsync-2.5.7-5.3E.i386.rpm | head -1 Name : rsync Relocations: /usr
redhat-lsb パッケージは再配置可能ではありませんが、rsync は再配置可能であると記載されています。
RPM パッケージの再配置
1. rpm パッケージを再配置すると、rpm パッケージをデフォルト以外のディレクトリにインストールできます。つまり、rpm オプション –prefix を使用して /opt など、rsync パッケージを別のディレクトリにインストールできます。 このように:
rpm -ivh --prefix=/opt rsync-2.5.7-5.3E.i386.rpm
2. 実際に /opt にインストールされたかどうかを確認するには、コマンド rpm -ql rsync を使用します。以下はサンプル出力です:
# rpm -ql rsync /etc/xinetd.d/rsync /opt/bin/rsync /opt/share/doc/rsync-2.5.7 /opt/share/doc/rsync-2.5.7/COPYING /opt/share/doc/rsync-2.5.7/README /opt/share/doc/rsync-2.5.7/tech_report.tex /opt/share/man/man1/rsync.1.gz /opt/share/man/man5/rsyncd.conf.5.gz
3. ここで、同様のプロセスを redhat-lsb パッケージに適用すると、次のエラー メッセージが表示されます:
# rpm -ivh --prefix=/opt redhat-lsb-1.3-3.1.EL3.i386.rpm error: package redhat-lsb is not relocatable
最終的な考え
再配置不可としてリストされているパッケージの再配置は、RedHat などのほとんどの OS ベンダーではサポートされていません。したがって、「再配置可能な」rpm パッケージのみを再配置することをお勧めします。
「カーネル:情報:タスク {PROCESS}:{PID} が 120 秒以上ブロックされました。」 – CentOS/RHEL のトラブルシューティング
CentOS/RHEL 5 および 6 で FTP を有効にする方法