在 Ubuntu 16.04 上意外删除了 /bin

在 Ubuntu 16.04 上意外删除了 /bin

/bin错误地删除了 Ubuntu 16.04 上的文件夹。bin主文件夹中有一个名为的文件夹,我删除了/bin文件夹,而不是~/bin主文件夹中的文件夹。不幸的是,当我重新启动 PC 时,它没有启动。

我的主文件夹中有重要文件,但主文件夹不在与操作系统不同的分区中。通过可启动的 USB 闪存将系统升级到较新版本是否有助于解决此问题?

答案1

在 Ubuntu 桌面版本上(包括口味), 你可以通过重新安装升级

启动居住系统

启动ubiquityUbuntu 桌面安装程序并使用其他内容手动分区calamares

  • 选择您现有的分区
  • 确保你没有标记格式

这将导致以下情况发生

  • 您安装的软件包已被记录
  • 您的系统目录将被删除(桌面应用程序不会将数据存储在系统目录中;但有些服务器应用程序会这样做)
  • 新系统安装完毕
  • 如果你的新版本中有 Ubuntu 存储库,则你之前安装的任何附加软件包(前面提到的)都会重新安装
  • 不触及任何用户文件(除非您选择格式)
  • 要求你重新启动

它比发布升级,以及我通常的回退,因为安装出错了(我懒得去修复它),或者我没有时间发布升级

如果你有一个加密系统,可能会出现复杂情况,因为 Ubuntu 17.10 及更早版本使用的加密方式与 18.04 及更高版本不同,因此某些加密安装所需的软件包不再默认包含;但可以通过在安装期间手动安装来解决。居住在启动已安装的(ubiquity)之前启动会话。

当然,你应该始终有备份,因为可能会发生意外(断电等),因此请先使用居住安装之前的会话。

答案2

我看到以下无需重新安装即可恢复当前 Ubuntu 16.04 LTS 版本的方法:

  1. 您以试用 Ubuntu 模式启动原版安装的 Ubuntu 16.04 LTS LiveCD/LiveUSD,然后使用类似或带有 GUI 的命令挂载您当前的操作系统分区并将/bin文件夹从 LiveCD/LiveUSB 复制到操作系统分区sudo cp -ar /bin /media/ubuntu/OS/,然后重新启动;

  2. 首次成功登录操作系统后,您可以/bin使用以下命令重新安装包含文件的软件包:

    sudo apt-get update
    sudo apt-get install --reinstall $(dpkg -S /bin | sed "s/,//g" | sed "s|: /bin||")
    
  3. 为了保持系统一致性,找到从 LiveCD/LiveUSB 复制但不应存在于操作系统中的额外可执行文件,然后使用以下命令手动删除它们。

    find /bin -type f -exec dpkg -S {} \; 2> ~/not-from-apt.out
    

    然后仔细检查此处列出的二进制文件的内容~/not-from-apt.out并删除它们。或者,如果您确定的话,请使用下面的一行代码:

    sudo rm -v -i $(cat ~/not-from-apt.out | awk '{print $7}') 
    
  4. sudo do-release-upgrade然后通过或 使用将该系统升级到较新的 18.04 LTS 版本update-manager -c

相关内容