几乎每个命令都会出现“-bash: /usr/bin/: 没有这样的文件或目录”

几乎每个命令都会出现“-bash: /usr/bin/: 没有这样的文件或目录”

在尝试解决一些软件包冲突时,我错误地在 Ubuntu-Precise 上运行了此命令:

sudo dpkg -r --force-all libc6

因此,在一秒钟内,所有具有依赖关系的软件包都被libc6删除,并且无论我运行什么命令,我都会得到

-bash: /usr/bin/MY_COMMAND: No such file or directory

我可以访问,/bin/busybox但是当我想libc6通过重新安装包时

/bin/busybox dpkg --force-depends -i install libc6

我明白了"permission denied"

Sudo命令当然也不起作用!!

有人对我如何安装未安装的软件包有什么建议吗?

答案1

您可以以 root 身份登录,但 Ubuntu 默认锁定 root 帐户,您可能已卸载启用它所需的工具。您可以找到 su 二进制文件并将其添加到 /usr/bin/su。但您需要从头开始添加所有依赖项。

你可以听从建议这里并使用带有 liveCD 的 chroot 环境重新安装 libc6。

我认为最好的办法是重新安装系统并希望您有当前的备份,除非您愿意花费数小时来拼凑 tar 文件。

有一篇帖子服务器故障关于这个问题。但除非你有很多时间,否则我建议你重新安装。

答案2

正如另一个答案中提到的,重新安装是我发现的最佳解决方案。同时,我尝试了以下步骤(但没有成功),可能值得一提:

  1. Grub 引导加载程序在第二次重启后自动启动,但在加载时崩溃。因此,丢失的软件包甚至无法在恢复模式下启动。

  2. 我使用可启动的 USB 启动 Ubuntu(无需安装)。然后我尝试从相同的系统复制缺少的软件包,但毫无帮助。我半途放弃了,没有复制所有文件。

  3. 使用可启动 USB 安装硬盘并在其上安装软件包也是不可行的,因为缺少的库甚至不允许我通过硬盘获得 root 访问权限。

因此,我找到的最终解决方案是备份 /etc、/opt、/root、/var 和 /home,然后删除旧版本,重新安装新的 Ubuntu。后来,/etc 文件夹帮助我恢复了一些棘手的设置。

相关内容