解决yum报错error: %pre(xxxxx.el7_3.1.x86_64) scriptlet failed, exit status 1

697次阅读
没有评论

解决 yum 报错 error: %pre(xxxxx.el7_3.1.x86_64) scriptlet failed, exit status 1

今天安装软件也就是 squid 遇到了报错本想着 yum 安装完事,但是却遇到报错

error: %pre(squid-7:3.5.20-2.el7_3.1.x86_64) scriptlet failed, exit status 1

解决 yum 报错 error: %pre(xxxxx.el7_3.1.x86_64) scriptlet failed, exit status 1

解决方法:

1. 首先把 rpm 包下载下来

yum install squid  --downloadonly --downloaddir=/root

2. 查看 rpm 包执行脚本

rpm --scripts -qp  squid-3.5.20-2.el7_3.1.x86_64.rpm >squid.log

3. 查看日志

cat squid.log

4. 分析找到问题

if ! getent passwd squid >/dev/null 2>&1 ; then
  /usr/sbin/useradd -g 23 -u 23 -d /var/spool/squid -r -s /sbin/nologin squid >/dev/null 2>&1 || exit 1 
fi

可以分析到是因为无法创建用户引起的, 恍然大悟自己把 /etc/passwd 文件锁住了

解决 yum 报错 error: %pre(xxxxx.el7_3.1.x86_64) scriptlet failed, exit status 1

5. 解锁文件

chattr -i /etc/passwd

6. 再次安装成功

解决 yum 报错 error: %pre(xxxxx.el7_3.1.x86_64) scriptlet failed, exit status 1

正文完
 
ddn
版权声明:本站原创文章,由 ddn 2017-01-22发表,共计935字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。