%pre scriptlet failed yum 软件包安装错误

问题描述 投票:0回答:5

使用 yum 安装软件包时,出现以下错误:

$ yum install <rpm_name> -v -y

error: %pre(<rpm_name>) scriptlet failed, exit status 1
Error in PREIN scriptlet in rpm package <rpm_name>
Warning: scriptlet or other non-fatal errors occurred during transaction.
Verifying : <rpm_name> 1/1
What is this? <rpm_name>
VerifyTransaction time: 0.003
Transaction time: 0.139

如何解决这个问题?

linux centos7 rpm yum scriptlet
5个回答
0
投票

您的问题是

rpm
包本身的错误。如果您执行了此软件包,请检查预安装脚本。如果没有,您可以联系包创建者并要求他这样做。


0
投票

下载rpm包运行一下:

rpm -qp --scripts <rpmname>.rpm

这将为您提供分配给该包的 scriptlet 的内容。 RPM 正在尝试执行,但某处出现错误。


0
投票

结果发现 rpm 数据库存在一些问题。重建 rpm DB 后问题解决,参考此链接:https://www.cyberciti.biz/tips/rebuilding-corrupted-rpm-database.html


0
投票

对于我来说,在 RHEL 中,解决方案是运行以下代码:

getent group cgred >/dev/null || groupadd cgred

在这里找到它:https://access.redhat.com/solutions/62728


0
投票

也许selinux已启用: 红帽解决方案: https://access.redhat.com/solutions/24282

scriptlet 失败的一个常见问题是 selinux 标签错误。如果 /usr/bin/rpm 的 selinux 类型不是 rpm_exec_t,则每个软件包的每个 scriptlet 都会失败。要检查 /usr/bin/rpm 的 selinux 类型,请使用:

ls -Z /usr/bin/rpm
© www.soinside.com 2019 - 2024. All rights reserved.