Rpmファイルに署名するときにこのエラーが発生します。あなたが見ることができるように私は続けるためにたくさんを持っていません、そしてグーグルは空になっているようです。私は困惑しています!
誰かがそれを引き起こす原因を知っていますか?ある種の一時ファイルを作成しようとしていると思います...どこかに。
$:rpm -D "_gpg_name rpmbuilder" --addsign outputs/sllop-0.0.6-1.x86_64.rpm --verbose --debug パスフレーズを入力してください: パスフレーズは適切です。 outputs/sllop-0.0.6-1.x86_64.rpm: D:予想サイズ:51827 = Lead(96)+ sigs(180)+ pad(4) + data(51547) D:実際のサイズ:51827 D:GPGsigサイズ:72 D:72バイトのGPG sig D:GPG sigサイズ:72 D:72バイトのGPG信号を取得しました エラー:rpmMkTempが失敗しました
他の誰かがこれに混乱した場合に備えて、これに自己回答します。
このエラーメッセージは少し誤解を招くことが判明しました。これは確かに(予想どおり)アクセス許可の問題でしたが、rpm変数に関連するどのtmpディレクトリでも発生しませんでした。
でstraceを使用する
strace -p `ps --no-headers -fC rpmsign | awk '{print $ 2}' `-e trace = open、close
Straceは、tmpディレクトリ(この場合は/ var/tmp)内ですべての作業を行った後、rpmと同じディレクトリでrpmの変更バージョンを作成しようとした後、(おそらく)所定の位置に移動することを示しました。 それ rpmはそれが参照した「一時的な」ものでした。
したがって、結局のところ、このユーザーには、署名時にrpmが配置されていた場所への書き込み権限がなかったことがわかります。
うーん。