最近遇到一个Linux下软件安装的问题,yum安装一个软件时,出现类似的“error:   install: %pre scriptlet failed”错误信息。经过一番摸索和排查,终于解决了,先将解决步骤总结如下,希望能对你有所帮助。

问题:
[root@server]$ yum install xxxxpackage
....
Running Transaction
error: %pre(xxxxpackage) scriptlet failed, exit status 1
error:   install: %pre scriptlet failed (2), skipping xxxxpackage

基本调查方法如下:
1.取对应的rpm包
[root@server]$ yum install xxxxpackage  --downloadonly --downloaddir=/root
2.取得rpm对应的安装预处理脚本,确认运行过程可能的错误。
[root@server]$ rpm --scripts -qp xxxxpackage  > x-scripts.log
[root@server]$ vi x-scripts.log 
preinstall scriptlet (using /bin/sh):
#不同安装包的预处理脚本都不同,这里省略
.....
done
exit 0

3.分析此预处理脚本的每一步确认可能的问题原因,不同安装包的预处理脚本都不同,其原因也不尽相同,需要耐心分析。

4.分析修正问题之后,重新安装即可
[root@server]$ yum install xxxxpackage
Loaded plugins: downloadonly, fastestmirror
Loading mirror speeds from cached hostfile
Setting up Install Process
Resolving Dependencies
--> Running transaction check
..
Installed:
xxxxpackage                                                                      
Complete!
[root@server]$ rpm -qa|grep xxxxpackage
xxxxpackage
(如果只是装rpm包出现的问题,请跳过yum那步)

本文出自 “稀饭笔记” 博客,请务必保留此出处http://xifan.blog.51cto.com/632768/372307