“which”在不同机器上的行为不一致 - 为什么会有差异?

“which”在不同机器上的行为不一致 - 为什么会有差异?

我的公司有多台设置相同的服务器。使用 dev32 几周后,which停止运行。我去 dev35 并得到了类似的行为 - 工作了几个星期然后有一天它停止了。 dev36 目前还可以,但按照这种模式,我最终将耗尽系统可供使用。

对可能导致这种行为的原因有何想法?

dev32 ~> which python3
python3: Command not found.
dev35 ~> which python3
python3: Command not found.
dev36 ~> which python3
/bin/python3

dev32 ~> ls -al /bin/python*
lrwxrwxrwx. 1 root root     9 Jan 17 10:18 /bin/python3 -> python3.6
-rwxr-x---. 2 root root 11328 Nov 16  2020 /bin/python3.6
-rwxr-x---. 2 root root 11328 Nov 16  2020 /bin/python3.6m
dev32 ~> echo $PATH
.:/bin:/sbin:/usr/bin:/usr/bin/X11:/usr/bsd:/usr/sbin:/home/<username>/bin:/usr/local/bin:/usr/local/etc:/usr/local/sbin:/etc:/usr/etc:/usr/gnu/bin

dev35 ~> ls -al /bin/python3*
lrwxrwxrwx. 1 root root     9 Jan 17 10:11 /bin/python3 -> python3.6
-rwxr-x---. 2 root root 11328 Nov 16  2020 /bin/python3.6
-rwxr-x---. 2 root root 11328 Nov 16  2020 /bin/python3.6m
dev35 ~> echo $PATH
.:/bin:/sbin:/usr/bin:/usr/bin/X11:/usr/bsd:/usr/sbin:/home/<username>/bin:/usr/local/bin:/usr/local/etc:/usr/local/sbin:/etc:/usr/etc:/usr/gnu/bin

dev36 ~> ls -al /bin/python*
lrwxrwxrwx. 1 root root     9 Jan 17 10:18 /bin/python3 -> python3.6
-rwxr-x---. 3 root root 11328 Nov 16  2020 /bin/python3.6
-rwxr-x---. 2 root root 11328 Nov 16  2020 /bin/python3.6m
dev36 ~> echo $PATH
.:/bin:/sbin:/usr/bin:/usr/bin/X11:/usr/bsd:/usr/sbin:/home/<username>/bin:/usr/local/bin:/usr/local/etc:/usr/local/sbin:/etc:/usr/etc:/usr/gnu/bin

即使之后cd /binwhich也找不到 python3

其他已知的:

  • 所有服务器都是CentOS 7.9,uname -a匹配
  • rpm -qa | sort > $HOSTNAME.txt在每台服务器上运行并进行比较。结果相同
  • bash v4.2.26、tcsh v6.18.01(所有系统均相同)
  • 多个用户确认的行为; tcsh 和 bash 产生相同的结果。一个用户的 shell 使用系统默认值(没有 ~/.bashrc、~/.tcshrc 或 ~/.login),我自定义了我的。
  • IT 部门表示,除了一致应用于所有服务器的标准每月修补之外,他们没有进行任何更改。
  • 重新启动后问题仍然存在

如果需要更多信息,请告诉我。

相关内容