![删除了 bash,如何恢复?](https://linux22.com/image/696986/%E5%88%A0%E9%99%A4%E4%BA%86%20bash%EF%BC%8C%E5%A6%82%E4%BD%95%E6%81%A2%E5%A4%8D%EF%BC%9F.png)
我删除了。我打开了终端,但后来它自动关闭了。我是群组/bin/bash
中的普通用户。sudo
我该怎么办?我很慌张。
我可以使用 Python / Perl 更改文件权限/etc/passwd
,并将用户名中的 shell 脚本从 更改bash
为zsh
,然后注销并重新登录吗?我必须从 PHP 运行 Python / Perl,因为我无权访问终端。
或者我该怎么办?这是 Ubuntu 桌面。
答案1
您应该能够重新安装 bash,就像重新安装从系统中删除的任何软件包一样。棘手的部分是获取 shell,因为您的 shell 二进制文件现在丢失了(即/bin/bash
:)。
您应该能够:
- 启动到 @SmallLoanOf1M 提到的 live cd 环境。您需要 chroot 到您现有的 RFS,然后重新安装您的 bash 包(因此您需要设置网络以与您配置的存储库通信)。
或者
- 通过直接在 grub 中编辑引导加载程序内核参数(将其附加
/bin/sh
到内核参数中)直接启动到单用户模式,然后从那里重新安装 bash。YMMV 可能有所不同,因为您将从中工作,/bin/sh
它不会为您提供相同的内置功能,也不会为您提供制表符自动完成功能。
当然,如果可能的话,选择 2 会更好。
祝你好运!