YUM安装MONGODB发生Error in PREIN scriptlet in rpm package mongodb-enterprise-server-4.0.2-1.el6.x86_64错误
YUM安装MONGODB发生Error in PREIN scriptlet in rpm package mongodb-enterprise-server-4.0.2-1.el6.x86_64错误
小知识1:
|
使用root权限都不能编辑某个文件,很可能是使用chattr命令锁定该文件了。通过chattr命令修改属性能够提高系统的安全性,但是它并不适合所有的目录。chattr命令不能保护/、/dev、/tmp、/var目录。lsattr命令是显示chattr命令设置的文件属性。 使用lsattr file 查看是否被锁: [root@localhost packages]# lsattr /etc/shadow ----i--------e- /etc/shadow 使用chattr -i file解锁 [root@localhost packages]# chattr -i /etc/shadow -------------e- /etc/shadow 使用chattr -i file加锁 [root@localhost packages]# chattr +i /etc/shadow ----i--------e- /etc/shadow |
小知识2:安装mongodb server 4.0.2过程需要在/etc/目录某些文件需要拥有写入权限。
|
/etc/group /etc/gshadow /etc/passwd /etc/shadow |
小知识3:centos安装mongodb
1、Configure repository.Create an /etc/yum.repos.d/mongodb-enterprise.repo file so that you can install MongoDB enterprise directly using yum: [mongodb-enterprise] name=MongoDB Enterprise Repository baseurl=https://repo.mongodb.com/yum/redhat/$releasever/mongodb-enterprise/4.0/$basearch/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc 2、Install the MongoDB Enterprise packages. Install MongoDB Enterprise 4.0. Issue the following command: sudo yum install -y mongodb-enterprise |
错误日志:
|
[root@localhost ~]# yum install mongodb-enterprise *省略无用日志 * Error in PREIN scriptlet in rpm package mongodb-enterprise-server-4.0.2-1.el6.x86_64 groupadd: cannot open /etc/group error: %pre(mongodb-enterprise-server-4.0.2-1.el6.x86_64) scriptlet failed, exit status 6 error: install: %pre scriptlet failed (2), skipping mongodb-enterprise-server-4.0.2-1.el6 *省略无用日志 * Failed: mongodb-enterprise-server.x86_64 0:4.0.2-1.el6 Complete! |
分析原因:
从日志中得到3点信息:
1、 执行rpm package过程出错(前提)
2、 /etc/group无法打开(主要原因)
3、 %pre部分脚本出错
解决步骤:
1、 使用vim/vm 编辑/etc/group文件,无法编辑有两种情况:
a) ll查看write权限(变更权限chmod +w file)
b) lsattr查看文件加锁(解锁chattr -i file )。
2、 使用rpm --scripts -qp mongodb-enterprise-server-4.0.2-1.el6.x86_64.rpm查看安装脚本(为spec文件功能)
|
[root@localhost packages]# rpm --scripts -qp mongodb-enterprise-server-4.0.2-1.el6.x86_64.rpm warning: mongodb-enterprise-server-4.0.2-1.el6.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID e52529d4: NOKEY preinstall scriptlet (using /bin/sh): if ! /usr/bin/id -g mongod &>/dev/null; then /usr/sbin/groupadd -r mongod fi if ! /usr/bin/id mongod &>/dev/null; then /usr/sbin/useradd -M -r -g mongod -d /var/lib/mongo -s /bin/false -c mongod mongod > /dev/null 2>&1 fi postinstall scriptlet (using /bin/sh): if test $1 = 1 then /sbin/chkconfig --add mongod fi preuninstall scriptlet (using /bin/sh): if test $1 = 0 then /sbin/chkconfig --del mongod fi postuninstall scriptlet (using /bin/sh): if test $1 -ge 1 then /sbin/service mongod condrestart >/dev/null 2>&1 || : fi |
红色部分内容preinstall scriptlet 对应错误%pre的内容
绿色部分内容为%pre阶段实际需要执行shell命令,将其逐条执行,根据提示解决错误。
3、 重新安装yum reinstall mongodb-enterprise
|
[root@localhost ~]# yum reinstall mongodb-enterprise **省略不需要的日志 Installed: mongodb-enterprise.x86_64 0:4.0.2-1.el6 Dependency Installed: mongodb-enterprise-server.x86_64 0:4.0.2-1.el6 Complete! |
总结:从错误日志分析出真正的原因,文件锁是本次rpm执行%pre阶段的真正的原因。解决问题之后,经常接着其他问题,需要重复3步骤几次才能彻底解决。
补充:怎么在yum install获取rpm包
在执行yum install 的过程会download相关rpm包,在install之前及时ctrl+c终止命令,然后到/var/cache/yum/x86_64/6/mongodb-enterprise/packages/(路径可能不一致)下获取包。
YUM安装MONGODB发生Error in PREIN scriptlet in rpm package mongodb-enterprise-server-4.0.2-1.el6.x86_64错误的更多相关文章
- yum卸载失败Error in PREUN scriptlet in rpm package postgresql-server
yum --setopt=tsflags=noscripts remove 参考 https://serverfault.com/questions/613256/yum-error-in-preun ...
- Red Hat Enterprise Server 6.0 安装Sendmail相关包
由于需要在Linux服务器(Red Hat Enterprise Linux Server release 6.0)上配置邮件服务,需要安装Sendmail包,一般Sendmail的安装有两种方式:R ...
- 解决 yum安装时报错 Error: Protected multilib versions: 报错
系统中缺少一个lib库 libz.so.1文件,使用yum安装会自动找到相关的rpm包,如下命令 # yum -y install libz.so.1 Resolving Dependencies-- ...
- yum安装软件包提示Error Downloading Packages解决方法
在执行yum upgrade时报错 解决方法: 方法一: 1.清理本地yum缓存 执行:yum clean all 2.查看软件包列表 执行:yum list 注意:如果查询不到软件包列表,查看yum ...
- 安装mysql后ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var mysql 启动不了
ps -A | grep -i mysql kill 列出来的进程 service mysql start 我的问题就解决了 ------------------------------------- ...
- Django - 安装filebrowser发生Error finding Upload-Folder错误
Error finding Upload-Folder (site.storage.location + site.directory). Maybe it does not exist? 解决: F ...
- YUM安装提示PYCURL ERROR 6 - "Couldn't错误的解决办法
当编译PHP时出现如下错误时,找不到头绪 这时,打开DNS vim /etc/resolv.conf 添加一行nameserver 192.168.1.1 完成上一步,则解决该问题 或者:ec ...
- yum 卸载 error: %preun(tengine-2.1.0-1.el6.x86_64) scriptlet failed, exit status 6
error: %preun(tengine-2.1.0-1.el6.x86_64) scriptlet failed, exit status 6 Error in PREUN scriptlet i ...
- 【问题】yum安装软件报错ERROR:dbus.proxies
转自:Yum安装报错:ERROR:dbus.proxies 环境: [红帽企业Linux.6.4.服务器版].rhel-server-6.4-x86_64-dvd(ED2000.COM).iso 安装 ...
随机推荐
- html css 样式中100%width 仍有白边解决办法
把 <body >改成<body style="margin=0%">
- 基于 OSGi 的面向服务的组件编程
作者:曹 羽中 (caoyuz@cn.ibm.com), 软件工程师, IBM中国开发中心 出处:http://www.ibm.com/developerworks/cn/opensource/os- ...
- BZOJ 3413 匹配 (后缀自动机+线段树合并)
题目大意: 懒得概括了 神题,搞了2个半晚上,还认为自己的是对的...一直调不过,最后终于在jdr神犇的帮助下过了这道题 线段树合并该是这道题最好理解且最好写的做法了,貌似主席树也行?但线段树合并这个 ...
- koa,express,node 通用方法连接MySQL
这个教程不管node,express,koa都可以用下面方法连接,这里用koa做个参考 这个教程的源码地址: https://github.com/xiaqijian/... 新建文件目录,我是这样子 ...
- a标签设置高度不生效问题
<a>是内联元素 必须设置成块级元素block 才能有width和height 不过你可以又定义display:block再定义成display:inline 以避免在IE6下产生BUG ...
- GitHub上搭建私人hexo博客操作教程
GitHub上搭建hexo博客 安装GitGit:主要用于上传博客页面到github和命令操作安装NodeNode.js:Hexo的运行环境安装HexoHexo:博客程序打开安装Git后的生成的右键菜 ...
- js本地对象——Date()
Date()是JavaScript的本地对象,用于获取当前的时间,包括年.月.日.时.分.秒,可以精确到毫秒级:该对象返回的是UTC 协调世界时(Coordinated Universal Time) ...
- 使用excel进行数据挖掘(3)----类别检測
使用excel进行数据挖掘(3)----类别检測 在配置环境后,能够使用excel进行数据挖掘. 环境配置问题可參阅: http://blog.csdn.net/xinxing__8185/artic ...
- Android知识点总结
说明 当中大部分文章都是转载自其它大神之手.在转载的过程中学到了非常多,这里主要解说的是android体系的相关知识点,本文会持续更新. 1 Android service相关知识点 Android ...
- Leetcode_num1_Single Number
好久没有做题啦.从今天開始刷Leetcode的题.希望坚持的时间能长一点. 先从ac率最高的Single Number開始吧. 题目: Given an array of integers, ever ...