一次安装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 ...
随机推荐
- FMDB的简单用法
使用cocoaPods将FMDB下载到工程 第一步:引入框架,引入支持类库(libsqlite3.0.tbd) #import <FMDB.h> 声明属性 @interface ViewC ...
- 从C#到TypeScript - 接口
总目录 从C#到TypeScript - 类型 从C#到TypeScript - 高级类型 从C#到TypeScript - 变量 从C#到TypeScript - 接口 从C#到TypeScript ...
- 学习笔记--jQuery基础
学习笔记也算总结知识点,有些示例可能没有具体到元素,直接给出的语法.大家有基本理解在看可能会好些. jQuery使用前提,需要安装jQuery库 jQuery 库是一个 JavaScript 文件,您 ...
- matlab for循环的三种类型
学习了一半了,发现一个好网站,就是我想写这篇博客用的,网络真是个好东西!纪念下国庆啦 网址:http://www.yiibai.com/matlab/matlab_for_loop.html ---- ...
- weex官方demo weex-hackernews代码解读(下)
weex 是阿里出品的一个类似RN的框架,可以使用前端技术来开发移动应用,实现一份代码支持H5,IOS和Android.而weex-hacknews则是weex官方出品的,首个使用 Weex 和 Vu ...
- android学习6——canvas的save,restore作用
先看如下代码 public class SaveRestoreActivity extends Activity { @Override public void onCreate(Bundle sav ...
- Java Web(九) 用户管理系统
前面学习了一大堆,什么JSP,Servlet.jstl.el等等等,大多是一些死的东西,只要会其语法,知道怎么用就行了,所以做了一个小小的只有增删改查的小demo,为的就是熟悉这些知识.灵活运用起来. ...
- synchronized和lock比较浅析
synchronized是基于jvm底层实现的数据同步,lock是基于Java编写,主要通过硬件依赖CPU指令实现数据同步.下面一一介绍 一.synchronized的实现方案 1.synchroni ...
- Apache2.2以上版本与Tomcat整合配置及负载均衡实现
apache2.2以上版本,无需使用jk_mod来集成tomcat,直接使用ajp,很方便. 修改apache配置文件httpd.conf 启用mod_proxy_ajp #LoadModule pr ...
- angular drag and drop (ngDraggable) 笔记
这是原文 https://github.com/fatlinesofcode/ngDraggable 这是另一个dnd,这比较灵活,可以监听事件.我只用简单的排序功能,其他没去了解太多.有机会遇到功能 ...