- - PR -
rpmコマンドのインストールオプションについて
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-11-11 19:38
いつもお世話になっております。
本当に初心者的な質問で申し訳ないのですが教えて下さい。 RedHat Linuxにてとあるrpmパッケージをインストールする際に インストールディレクトリを変更したいため、 rpm -i --prefix /usr/local/xxx パッケージ名 と入力し実行したのですが、以下のようなエラーが表示され インストールできませんでした。 error: package パッケージ名 is not relocateable. パッケージは新しいディレクトリへインストールできませんでした という意味だと解釈しているのですがなぜなのでしょうか。 ちなみにmanで「rpm」コマンドについて確認して見ると 構文的には間違っていないようなのです。 これはパッケージによっては別ディレクトリへインストール できないということなのでしょうか? | ||||
|
投稿日時: 2004-11-11 19:52
こんばんわ.
xxx という Directory は作ってありますか? | ||||
|
投稿日時: 2004-11-11 19:57
> error: package パッケージ名 is not relocateable.
このメッセージを見る限り、RPM の作者が任意の場所にインストールすることを 許可していないだけのような気がします。 man を参照すると prefix オプションについては、 「For relocateable binary packages, ...」という記述があります。 | ||||
|
投稿日時: 2004-11-12 09:46
こんにちは。
あんとれさんが言われるように、そのパッケージがrelocatableではないためでしょう。 Relocatabeleであれば、以下のようにRelocationsにパスが表示されます。 # rpm -qpi tcpdump-3.7.2-7.E3.2.i386.rpm Name : tcpdump Relocations: /usr Version : 3.7.2 Vendor: Red Hat, Inc. ... (省略) そうでない場合は (not relocatable)と表示されます。 kazさんが指摘されたような、存在しないDirectoryを指定した場合でも Relocatableならば、Directoryが作成されてインストールできます。 [root@data up2date]# rpm -ihv --prefix /usr/localtest tcpdump-3.7.2-7.E3.2.i386.rpm Preparing... ########################################### [100%] 1:tcpdump ########################################### [100%] [root@data up2date]# rpm -ql tcpdump /usr/localtest/sbin/tcpdump /usr/localtest/sbin/tcpslice /usr/localtest/share/doc/tcpdump-3.7.2 /usr/localtest/share/doc/tcpdump-3.7.2/CHANGES /usr/localtest/share/doc/tcpdump-3.7.2/LICENSE /usr/localtest/share/doc/tcpdump-3.7.2/README /usr/localtest/share/man/man8/tcpdump.8.gz /usr/localtest/share/man/man8/tcpslice.8.gz [ メッセージ編集済み 編集者: めぐ 編集日時 2004-11-12 09:48 ] | ||||
|
投稿日時: 2004-11-12 09:56
実現したいことが上記である場合、他の方法としては、SRPMの再作成が考えられます。 まずは、 http://www.itmedia.co.jp/help/tips/linux/l0074.html を参考にして該当パッケージのSRPMをインストールしてください。 そのあと、SPECファイルの中身を確認し、configure云々が記述されているところと、 その前にいくつか書いてある変数を確認して、適切に編集してやり、 rpmを構築することで、好みのオプションで構築されたRPMパッケージを作成することが可能です。 | ||||
|
投稿日時: 2004-11-12 12:08
kaz様、あんとれ様、めぐ様、Mattun様
ご回答ありがとうございます。 めぐさんのおっしゃる通り、 インストールしたいパッケージを「rpm -qpi」で調べてみると 「Relocations:(not relocatable)」と表示されました。 このパッケージが「relocatable」でないということがわかりました。 一度、SRPMの再作成も試してみたいと思います。 ご回答下さった皆様ありがとうございました。 |
1