rpm パッケージの PREIN スクリプトレットエラー

rpm パッケージの PREIN スクリプトレットエラー

ローカルパッケージをインストールしようとすると問題があります.rpm。エラーメッセージ:

Total size: 124 M
Installed size: 124 M
Is this ok [y/d/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
error: Couldn't create temporary file for %pre(PACKAGE): Success
Error in PREIN scriptlet in rpm package PACKAGE
  Verifying  : PACKAGE                                                 1/1

Failed:
  PACKAGE

私は初めてLinuxに触れたので、完全に迷子になりました。テスト中:
OS:"Oracle Linux Server 7.9"
カーネルバージョン:5.4.17-2136.309.4.el7uek.x86_64

答え1

SPECがないため、これらのエラーが発生する理由を知ることは不可能です。

RPMファイルはSPECファイルで構成されています。 SPEC にはパッケージに関する情報とインストール方法の説明が含まれています。 SPECファイルにはスクリプトレットも含まれています(参照:https://docs.fedoraproject.org/en-US/packaging-guidelines/Scriptlets/)はさまざまなインストール(削除)フェーズでトリガーされます。

ローカルパッケージのソースRPM(SRPM)がある場合は、SPECファイル、特にスクリプトレットを調べて、そこで%pre何が起こっているかを確認できます。同様のコマンドを使用するrpm2cpio my-local-rpm.src.rpm | cpio -civ '*.spec'か、以下のMidnight Commanderのヒントを使用してください。

SRPMがない場合は、スクリプトレットを表示する簡単な方法はmc()を実行してMidnight Commanderをインストールし、実行してsudo yum -y install mcRPMmcに移動することです。ファイル名でEnterを押します。 F3を押してINFO/SCRIPTS別のスクリプトレットに移動し、その内容を確認します。

関連情報