- PR -

rpm展開時のエラーメッセージについて

投稿者投稿内容
yu-mi
会議室デビュー日: 2006/03/01
投稿数: 4
投稿日時: 2006-03-01 15:50
はじめまして。rpm展開時に出るエラーメッセージで質問があります。rpmを作成し、

rpm -Uvh Attender-01.00-10.i386.rpm
というコマンドを実行すると

Preparing... #########[100%]]
/var/tmp/rpm-tmp.○○(数字:毎回違う): line 1: [:missing `]'
1: Attender #######[100%]
という表示が出てきます。/var/tmp〜の行は本来出てこないはずなのですが、、、

一応rpmの展開はできているみたいなのですが、このメッセージはどういう意味なのかわかりあません。specファイルのなかにも/var/opt〜という記述は一切ないので、私にはよくわかりません。

分かるかたいましたら教えてください。お願いします。
kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2006-03-02 00:03
こんばんわ.
引用:

yu-miさんの書き込み (2006-03-01 15:50) より:

rpm -Uvh Attender-01.00-10.i386.rpm
というコマンドを実行すると

Preparing... #########[100%]]
/var/tmp/rpm-tmp.○○(数字:毎回違う): line 1: [:missing `]'
1: Attender #######[100%]
という表示が出てきます。/var/tmp〜の行は本来出てこないはずなのですが、、、


展開ではなく,update ですよね?
で,他の rpm packages もですか?
瀬戸っぷ
ベテラン
会議室デビュー日: 2003/11/28
投稿数: 56
投稿日時: 2006-03-02 00:33
引用:

yu-miさんの書き込み (2006-03-01 15:50) より:
はじめまして。rpm展開時に出るエラーメッセージで質問があります。rpmを作成し、

rpm -Uvh Attender-01.00-10.i386.rpm
というコマンドを実行すると

Preparing... #########[100%]]
/var/tmp/rpm-tmp.○○(数字:毎回違う): line 1: [:missing `]'
1: Attender #######[100%]
という表示が出てきます。/var/tmp〜の行は本来出てこないはずなのですが、、、



specファイルの%preや%postはどう記述されているのでしょうか?
一時的に書き出された/var/tmp/rpm-tmp.*が残っているようでしたら、その中を見てみるとか…
yu-mi
会議室デビュー日: 2006/03/01
投稿数: 4
投稿日時: 2006-03-02 07:28
返答ありがとうございます。

>他の rpm packages もですか?

いいえ。ほかに1つ試したのですが、これだけでした。

>specファイルの%preや%postはどう記述されているのでしょうか?
一時的に書き出された/var/tmp/rpm-tmp.*が残っているようでしたら、その中を見てみるとか…

specファイルに書いているのは、

%pre
if [ -d /usr/local/attender ]: then
rm -rf /usr/local/attender>/dev/null 2>&1 ||:
fi

%post

%preun
exit 0

%postnun

%clean

%files
%defatter(-, root,root)
/usr/local/attender/attend.jar
/usr/local/attender/attender.jar
%config /usr/local/attender/attender.properties

抜粋ですが、このような感じです。/var/tmp〜はどこにも書いていませんし、
残ってもいませんでした。

全然分からなくて申しわけないですが、教えて下さい。おねがいします。
anights
ぬし
会議室デビュー日: 2003/05/22
投稿数: 277
お住まい・勤務地: 東京
投稿日時: 2006-03-02 09:55
引用:

yu-miさんの書き込み (2006-03-02 07:28) より:
specファイルに書いているのは、

%pre
if [ -d /usr/local/attender ]: then



ここはコロンでなくてセミコロンでしょう。
> if [ -d /usr/local/attender ]; then
yu-mi
会議室デビュー日: 2006/03/01
投稿数: 4
投稿日時: 2006-03-03 00:00
anightsさん、すみません。ここに書くときに写し間違いました。specファイルにはセミコロンで書いています。

これはspecファイルの問題なのでしょうか?
瀬戸っぷ
ベテラン
会議室デビュー日: 2003/11/28
投稿数: 56
投稿日時: 2006-03-03 00:40
引用:

yu-miさんの書き込み (2006-03-03 00:00) より:
anightsさん、すみません。ここに書くときに写し間違いました。specファイルにはセミコロンで書いています。

これはspecファイルの問題なのでしょうか?



specファイルに記述した、インストール前後で実行するスクリプト関係かと。
一時的に/var/tmp/rpm-tmp.*に書き出されて処理しているハズです。

> line 1: [:missing `]'
というコトなので、
> if [ -d /usr/local/attender ]; then
が怪しい…というコトになりそうですが……
コピペでは無かったようですが、']'の前に半角スペースとか入れてありますか?
yu-mi
会議室デビュー日: 2006/03/01
投稿数: 4
投稿日時: 2006-03-03 00:52
瀬戸っぷさんありがとうございます。

]の前にはif [ -d /usr/local/attender ]; then
と、半角スペースは入れています。ただ、]と;の間にはいれていません。ほかのrpmでも同様にしていて、何の問題もなくできています。

何が駄目なのでしょうか?分かるかたよろしくお願いします。

スキルアップ/キャリアアップ(JOB@IT)