不小心删除了 usr/lib 和 usr/include 下所有包含 libboost 的文件名,现在 ubuntu 无法启动

不小心删除了 usr/lib 和 usr/include 下所有包含 libboost 的文件名,现在 ubuntu 无法启动

正如标题所说,我做了一件非常愚蠢的事情。现在 Ubuntu 无法启动。我可以进入 grub、恢复模式,也可以进入根菜单。但是,Ubuntu 无法正常打开。出现黑屏,然后卡在那里。我可以通过恢复模式根选项访问我的文件。

请问,如果可能的话,我该如何恢复我的 Ubuntu 数据?

答案1

可能的恢复方式如下:

  1. 以恢复模式启动系统

  2. /以读写方式挂载

    mount / -o remount,rw
    
  3. 使用 DHCP 服务器获取 IP 地址dhclient enp0s3(您可以从ip a或获取准确的接口名称ifconfig

  4. 重新安装所有与 boost 相关的已安装软件包

    apt-get update
    apt-get install --reinstall $(dpkg -l | grep ^ii | grep -i boost | awk '{print $2}')
    apt-get install --reinstall $(dpkg -S boost | awk -F: '{print $1}' | sort -u)
    

    注意:如果最后一步没有帮助 - 请将命令更改为以下命令 -

    apt-get install --reinstall $(dpkg -l | grep ^ii | awk '{print $2}')
    

    (这里我们重新安装所有已安装的软件包,因为我们不知道真正删除了什么)

答案2

某种程度上,与 N0rbert 的答案的方法相同,但我们只会尝试重新安装 libboost 包。

因此,如果您进入恢复模式,请启用您的网络,然后转到根 shell。

然后运行apt list --installed | grep libboost打印所有已安装的名称中带有 libboost 的软件包。在我的系统上,输出将如下所示(仅为示例):

libboost-filesystem1.71.0/hirsute,now 1.71.0-6ubuntu11 amd64 [installed,automatic]
libboost-filesystem1.74.0/hirsute,now 1.74.0-8ubuntu2 amd64 [installed,automatic]
libboost-iostreams1.71.0/hirsute,now 1.71.0-6ubuntu11 amd64 [installed,automatic]

然后运行 apt --reinstall install {packagename packagename ...},其中 packagename 是直到第一个 / 的所有内容。

希望这可以帮助

相关内容