我遇到了一个奇怪的问题,当以任何非 root 用户身份执行 rpm 命令时,它会挂起 40 秒(总是恰好 40 秒)。无论使用什么命令行参数,即使没有任何参数的“rpm”也会挂起(rpm --help 是唯一的例外)。
strace 显示它挂在 select() 调用上,其中两个文件描述符指向 /etc/passwd 和 /etc/pam.d/other,这对我来说没有任何意义。
当以 root 身份执行时它会立即完成。
系统是 RHEL 7,我在不同的客户环境中的两台完全不同的机器上观察到了这个问题。
我正在寻找解决方案或一些继续调查的提示。
答案1
似乎是 DNS 解析问题。很难说出确切的原因,而且没有与 DNS 查询及其错误/结果相关的一般日志。
- 检查 /etc/nsswitch.conf
- 检查 /etc/resolv.conf
检查一些
host
查询来为您指明正确的方向:主机本地主机
主机本地主机.本地域
主机名
主机 $(主机名)
主机名 -s
主机 $(主机名 -s)
主机名 -f
主机 $(主机名 -f)
答案2
事实证明,该问题是由 /etc/hosts 上的权限不正确引起的。将其更改为 644 即可解决问题。