站点图标 星露谷值班站长

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

解决 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

解决方法:

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 文件锁住了

5. 解锁文件

chattr -i /etc/passwd

6. 再次安装成功



退出移动版