Ubuntu 22.04 在“rm /*”符号链接 /bin 消失后,bash 抱怨:/bin/bash:坏解释器

Ubuntu 22.04 在“rm /*”符号链接 /bin 消失后,bash 抱怨:/bin/bash:坏解释器

错误地rm /*以身份运行root

结果,它确实从 Linux 根目录中删除了所有文件,但保留了文件夹。(这是好消息)

lrwxrwxrwx   1 root root    7 Aug  5  2020 bin -> usr/bin
lrwxrwxrwx   1 root root    7 Aug  5  2020 lib -> usr/lib
lrwxrwxrwx   1 root root    9 Aug  5  2020 lib32 -> usr/lib32
lrwxrwxrwx   1 root root    9 Aug  5  2020 lib64 -> usr/lib64
lrwxrwxrwx   1 root root   10 Aug  5  2020 libx32 -> usr/libx32
lrwxrwxrwx   1 root root    8 Aug  5  2020 sbin -> usr/sbin

因为在 Ubuntu 22.04 中 /bin 是 /usr/bin 的符号链接,所以它也被删除了。因此,如果我尝试通过 bash 运行任何命令,它都会因错误而失败:

如果我尝试使用 /usr/bin/bash,则会失败:

# /usr/bin/bash
bash: /usr/bin/bash: No such file or directory

但文件确实存在:

/usr/bin/bash/
bash: /usr/bin/bash/: Not a directory

# /usr/bin/bas
base32    base64    basename  basenc    bash      bashbug

看起来,主要问题是当前 bash 尝试运行使用/bin/bash来运行命令:

# ldd ls
bash: /usr/bin/ldd: /bin/bash: bad interpreter: No such file or directory

看起来,bash 尝试通过/bin/bash解释器执行命令,但由于这个符号链接消失而失败。

看到答案https://askubuntu.com/a/906692,但第一步就失败了:

#sudo /proc/$$/exe
bash: /usr/bin/sudo: No such file or directory

或者

/proc/$$/exe
bash: /proc/1872780/exe: No such file or directory

再次,由于问题/bin/bash: bad interpreter

有没有办法使用不同的解释器在 bash 中运行命令或以某种方式更改解释器路径?

Shebangs 似乎不起作用,或者可能是我使用方式不正确。

另外,我知道可以使用 liveCD 进行恢复,但它是远程系统,我还要再过一个月才能使用它。

相关内容