rpm 包中的 PREIN scriptlet 错误

rpm 包中的 PREIN scriptlet 错误

当我尝试安装本地软件包时遇到问题.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 还很陌生。我正在测试:
操作系统:"Oracle Linux Server 7.9"
内核版本:5.4.17-2136.309.4.el7uek.x86_64

答案1

由于我们没有 SPEC,因此不可能知道为什么会出现此故障。

RPM 文件是根据 SPEC 文件构建的。 SPEC 包含有关软件包的信息以及如何安装它的说明。 SPEC 文件还​​包含 scriptlet(请参阅https://docs.fedoraproject.org/en-US/packaging-guidelines/Scriptlets/)在安装(卸载)的不同阶段触发。

如果您有本地软件包的源 RPM (SRPM),您可以检查 SPEC 文件,特别是 scriptlet,%pre以了解那里发生了什么。使用类似命令rpm2cpio my-local-rpm.src.rpm | cpio -civ '*.spec'或使用下面的午夜指挥官技巧。

如果您没有 SRPM,查看 scriptlet 的一个简单技巧是mc通过发出 来安装 Midnight Commander ( ) sudo yum -y install mc,然后运行mc并转到您的 RPM。在文件名上按 Enter 键。按 F3导航到INFO/SCRIPTS不同 scriptlet 并检查其内容。

相关内容