今天安装软件也就是 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. 再次安装成功