当我尝试安装本地软件包时遇到问题.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 并检查其内容。