问题:

yum install rpcbind -y

出现如下错误:

Error in PREIN scriptlet in rpm package rpcbind-0.2.-.el6.x86_64
error: %pre(rpcbind-0.2.-.el6.x86_64) scriptlet failed, exit status
error: install: %pre scriptlet failed (), skipping rpcbind-0.2.-.el6
Verifying : libtirpc-0.2.-.el6.x86_64 /
Verifying : libgssglue-0.1-.el6.x86_64 /
Verifying : rpcbind-0.2.-.el6.x86_64 / Dependency Installed:
libgssglue.x86_64 :0.1-.el6 libtirpc.x86_64 :0.2.-.el6 Failed:
rpcbind.x86_64 :0.2.-.el6

解决:

错误提示安装软件的时候执行什么脚本出现了错误,经百度之后知道在安装rpm软件包的时候,会先执行rpm包中的预处理脚本,应该是执行这个脚本的时候出现了错误,所以我尝试查看这个脚本都执行了什么内容;

那么如何获取到这个脚本呢?

取对应的rpm包
yum install xxxxpackage  --downloadonly --downloaddir=/root
取得rpm对应的安装预处理脚本
rpm --scripts -qp xxxxpackage  > x-scripts.log

详见:

http://xifan.blog.51cto.com/632768/372307/

发现该脚本中有用到useradd/userdel命令来添加rpc的用户,由此想起之前使用chattr +i /etc/passwd对passwd文件做了加锁处理,所以会造成useradd/userdel命令不能正常执行,这应该就是造成预处理脚本不能正常执行的原因了吧,使用chattr -i /etc/passwd解锁之后软件可以正常安装。

注:从出现错误,到发现预处理脚本这一概念,再到想起passwd锁定一共花费了将近2个小时。

总结:

1.要了解软件安装的原理

2.只要是对系统有做过任何修改,一定要有相关的记录档案,包括执行了什么命令。

最新文章

  1. svn小设置
  2. ShellExecute调用另外一个进程(demo为一个控制led的一段代码)
  3. Android扫盲教程大全经典教程全分享
  4. Redmine CodeReview
  5. CentOS6.5搭建LNMP
  6. Intellij IDEA tomcat相关
  7. 使用 Git 管理源代码
  8. EHCACHE采用分布需要注意的地方
  9. noip2010提高组题解
  10. Java:集合框架的工具类
  11. JSP技术
  12. 查询数据库返回List<Entity>问题
  13. Android Call requires API level 11 (current min is 8)的解决方案
  14. PHP封装Excel表方法使用流程
  15. WPF中的CheckBox的_ (underscore / 下划线)丢失
  16. Java并发编程 Volatile关键字解析
  17. js闭包的真正理解
  18. 微信小程序基础之交互操作控件
  19. Centos7 Nginx开机启动
  20. 20165231 预习作业3 linux安装及学习

热门文章

  1. 地图学与GIS制图的基础理论(二)
  2. c#入门系列——番外篇:vs的安装与使用
  3. C语言 二维数组复制、清零及打印显示
  4. python实现多变量线性回归(Linear Regression with Multiple Variables)
  5. KVO的概述与使用
  6. 一步一步在Windows中使用MyCat负载均衡 下篇
  7. atan()与atan2()
  8. 剑指offer编程题Java实现——替换空格
  9. map与hash_map使用与对比
  10. 智能打印SDK-源码剖析