一次安装rpcbind失败引发的思考
问题:
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.只要是对系统有做过任何修改,一定要有相关的记录档案,包括执行了什么命令。
一次安装rpcbind失败引发的思考的更多相关文章
- 【思考】由安装zabbix至排障php一系列引发的思考
[思考]由安装zabbix至排障php一系列引发的思考 linux的知识点林立众多,很有可能你在排查一个故障的时候就得用到另一门技术的知识: 由于linux本身的应用依赖的库和其它环境环环相扣,但又没 ...
- 由SecureCRT引发的思考和学习
由SecureCRT引发的思考和学习 http://mp.weixin.qq.com/s?__biz=MzAxOTAzMDEwMA==&mid=2652500597&idx=1& ...
- 解决一道leetcode算法题的曲折过程及引发的思考
写在前面 本题实际解题过程是 从 40秒 --> 24秒 -->1.5秒 --> 715ms --> 320ms --> 48ms --> 36ms --> ...
- int.TryParse非预期执行引发的思考 ASP.NET -- WebForm -- 给图片添加水印标记 Windows -- 使用批处理文件.bat删除旧文件
int.TryParse非预期执行引发的思考 问题出现 这天在写一个页面,想谨慎些就用了int.TryParse,结果出问题了. 代码如下: Copy int id = 1000; //Reque ...
- Spring之LoadTimeWeaver——一个需求引发的思考---转
原文地址:http://www.myexception.cn/software-architecture-design/602651.html Spring之LoadTimeWeaver——一个需求引 ...
- SQL2008安装重启失败
我今天安装SQL2008的一些问题经历SQL2008安装重启失败大致出错信息如下:RebootRequiredCheck 检查是否需要挂起计算机重新启动.挂起重新启动会导致安装程序失败. 失败 需要重 ...
- Android安装应用失败UID 和 PID
参考:http://blog.sina.com.cn/s/blog_62ef2f140101j6q2.html 安装任意第三方的一个apk,恢复出厂设置,再次安装相同的apk,提示安装失败,通过打印L ...
- 由<a href = "#" > 引发的思考
原文:由<a href = "#" > 引发的思考 前阵子在一个移动项目中,通过 <a href = "#" > 的方式 绑定clic ...
- 曲演杂坛--一条DELETE引发的思考
原文:曲演杂坛--一条DELETE引发的思考 场景介绍: 我们有一张表,专门用来生成自增ID供业务使用,表结构如下: CREATE TABLE TB001 ( ID ,) PRIMARY KEY, D ...
随机推荐
- cmake的两个命令: option 和 configure_file
本节要讨论的是cmake的两个命令: option 和 configure_file option 选项,让你可以根据选项值进行条件编译. configure_file 配置文件,让你可以在代码文件中 ...
- 写给Java开发者的Node.JS简介
前言 今天上推特看见这篇文章,点进去发现是新货. 正好最近想入Node的坑,又有一些Java基础,所以希望翻译出来给大家,同时也让自己加深理解. 才疏学浅,如有不妥之处请指正. 原文链接:Node f ...
- c++ 继承类强制转换时的虚函数表工作原理
本文通过简单例子说明子类之间发生强制转换时虚函数如何调用,旨在对c++继承中的虚函数表的作用机制有更深入的理解. #include<iostream> using namespace st ...
- C#委托简介
C#中委托是一种引用类型,该引用类型与其他引用类型不同,在委托对象的引用中存放的不是对数据的引用而是存放对方法的引用,即委托的内部包含一个指向某个方法的指针.通过使用委托把方法的引用封装在委托对象中, ...
- SQLite基础回顾
SQLite基础回顾 SQLite iOS中的数据存储方式 Plist(NSArray\NSDictionary) Preference(偏好设置\NSUserDefaults) NSCoding(N ...
- 国内不能使用Google解决方案(不断更新与递增中...)
1.修改hosts方式可以根据对hosts的配置,解决Google搜索.Gmail.谷歌学术.维基百科.GitHub.Twitter.Facebook.Flickr.imgur.Google Serv ...
- configparser配置文件模块
1.configparser的作用 mysql等很多文件的配置如下: [DEFAULT]ServerAliveInterval = 45Compression = yesCompressionLeve ...
- 【转】Tomcat源代码阅读系列
在IntelliJ IDEA 和 Eclipse运行tomcat 7源代码(Tomcat源代码阅读系列之一) Tomcat总体结构(Tomcat源代码阅读系列之二) Tomcat启动过程(Tomcat ...
- 【《Effective C#》提炼总结】提高Unity中C#代码质量的21条准则
作者:Williammao, 腾讯移动客户端开发工程师 商业转载请联系腾讯WeTest获得授权,非商业转载请注明出处. 原文链接:http://wetest.qq.com/lab/view/290.h ...
- linux 之 tcpdump
tcpdump详细命令 -i 参数指定监听网口 -c 参数指定监听的数据包数量 -s 参数指定监听数据包大小 -w 参数指定监听数据包写入文件 如果要监听某几台主机数据包 例如10.10.10.10. ...