![在 Ubuntu 16.04 上意外删除了 /bin](https://linux22.com/image/939479/%E5%9C%A8%20Ubuntu%2016.04%20%E4%B8%8A%E6%84%8F%E5%A4%96%E5%88%A0%E9%99%A4%E4%BA%86%20%2Fbin%20.png)
我/bin
错误地删除了 Ubuntu 16.04 上的文件夹。bin
主文件夹中有一个名为的文件夹,我删除了/bin
文件夹,而不是~/bin
主文件夹中的文件夹。不幸的是,当我重新启动 PC 时,它没有启动。
我的主文件夹中有重要文件,但主文件夹不在与操作系统不同的分区中。通过可启动的 USB 闪存将系统升级到较新版本是否有助于解决此问题?
答案1
在 Ubuntu 桌面版本上(包括口味), 你可以通过重新安装升级。
启动居住系统
启动ubiquity
Ubuntu 桌面安装程序并使用其他内容(手动分区和calamares
)
- 选择您现有的分区
- 确保你没有标记格式
这将导致以下情况发生
- 您安装的软件包已被记录
- 您的系统目录将被删除(桌面应用程序不会将数据存储在系统目录中;但有些服务器应用程序会这样做)
- 新系统安装完毕
- 如果你的新版本中有 Ubuntu 存储库,则你之前安装的任何附加软件包(前面提到的)都会重新安装
- 不触及任何用户文件(除非您选择格式)
- 要求你重新启动
它比发布升级,以及我通常的回退,因为安装出错了(我懒得去修复它),或者我没有时间发布升级。
如果你有一个加密系统,可能会出现复杂情况,因为 Ubuntu 17.10 及更早版本使用的加密方式与 18.04 及更高版本不同,因此某些加密安装所需的软件包不再默认包含;但可以通过在安装期间手动安装来解决。居住在启动已安装的(ubiquity
)之前启动会话。
当然,你应该始终有备份,因为可能会发生意外(断电等),因此请先使用居住安装之前的会话。
答案2
我看到以下无需重新安装即可恢复当前 Ubuntu 16.04 LTS 版本的方法:
您以试用 Ubuntu 模式启动原版安装的 Ubuntu 16.04 LTS LiveCD/LiveUSD,然后使用类似或带有 GUI 的命令挂载您当前的操作系统分区并将
/bin
文件夹从 LiveCD/LiveUSB 复制到操作系统分区sudo cp -ar /bin /media/ubuntu/OS/
,然后重新启动;首次成功登录操作系统后,您可以
/bin
使用以下命令重新安装包含文件的软件包:sudo apt-get update sudo apt-get install --reinstall $(dpkg -S /bin | sed "s/,//g" | sed "s|: /bin||")
为了保持系统一致性,找到从 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}')
sudo do-release-upgrade
然后通过或 使用将该系统升级到较新的 18.04 LTS 版本update-manager -c
。