Linux:移动了 `/lib/x86_64-linux-gnu/ld-2.28.so`,现在 SSH 已经死了

Linux: Moved `/lib/x86_64-linux-gnu/ld-2.28.so` and now SSH is dead

问题基本上已经在标题中了:因为我无法升级libc6我做了输出告诉我要做的事情:删除(或移动)/lib/x86_64-linux-gnu/ld-2.28.so

A copy of the C library was found in an unexpected directory:
  '/lib/x86_64-linux-gnu/ld-2.28.so'
It is not safe to upgrade the C library in this situation;
please remove that copy of the C library or get it out of
'/lib/x86_64-linux-gnu' and try again.

但是在执行那个 mv 命令之后,ssh 正在做一些奇怪的事情,例如:

~$ mv
-bash: /usr/bin/mv: No such file or directory

如您所见,我在我的主目录 ~ 中,但不知何故 Linux 认为我在 /usr/bin/mv 中。知道我如何通过 SSH 返回 "normal" 吗?

mv 在 Ubuntu 上的 /bin/mv 下,但是您应该像 echo $PATH 一样检查 PATH 环境变量。 以上错误意味着 PATH 变量不包含此 /usr/bin 路径。 要添加此路径,请在您的终端上尝试 运行 此命令。 export PATH=$PATH:/usr/bin。 另外,您可以检查 mv 是否可用 which mv

错误发生是因为无法再找到程序解释器(glibc 动态加载器)。升级错误消息是由于 bug #954915: [libc6] upgrade fail: A copy of the C library was found in an unexpected directory。它的建议是不正确的,遵循它会破坏系统。

如果您没有安装静态链接的工具集(busyboxsashsln),您将不得不从应急媒体启动并撤消移动。如果您有一个打开的程序(例如编辑器)运行 作为 root,您可以避免这种情况,它可以在预期位置复制动态加载程序。