意外删除了“/usr/share”文件夹

意外删除了“/usr/share”文件夹

系统无法启动。是rm - R无意使用导致的。如何恢复系统?

答案1

您需要重新安装所有包含文件的应用程序/usr/share

  1. 启动系统恢复模式根提示符

  2. 使用 将 rootfs 重新挂载为读写模式mount -o rw,remount /

  3. 启动以太网接口并从 DHCP 服务器获取 IP 地址:(在或dhclient enp0s3中检查正确的接口名称)。ip aifconfig -a

  4. 通过以下方式指定 DNS 服务器

    rm /etc/resolv.conf
    echo "nameserver 192.168.1.1" > /etc/resolv.conf
    

    (更改192.168.1.1为你的网关/路由器)

  5. 您需要修复该dpkg包,因为它缺少该/usr/share/dpkg/cputable文件(否则您将"E: error reading the cpu table"在任何 apt/apt-get 命令上遇到问题)

    wget http://mirrors.kernel.org/ubuntu/pool/main/d/dpkg/dpkg_1.19.0.5ubuntu2.1_amd64.deb
    dpkg -i dpkg_1.19.0.5ubuntu2.1_amd64.deb
    

    或者从缓存中安装:

    dpkg -i /var/cache/apt/archives/dpkg_*.deb
    
  6. 更新包缓存:

    apt-get update
    
  7. 重新安装必要组件

    apt-get install --reinstall debconf linux-base
    mkdir /usr/share/python
    apt-get install --reinstall python2.7-minimal python3-minimal
    
  8. 然后使用下面的单行代码:

    apt-get install --reinstall $(dpkg -S /usr/share/ | sed 's/,//g' | sed 's/: \/usr\/share//g')
    

    多于:

    • dpkg -S /usr/share/显示以逗号分隔的包列表
    • sed 's/,//g'- 删除逗号
    • sed 's/: \/usr\/share//g'-: /usr/share最后删除

    此部分可能会失败并显示有关某些软件包的消息。例如,在我的 VM 上,我遇到了问题bsdmainutils,因此我使用以下命令重新安装了它们:

    dpkg -i /var/cache/apt/archives/bsdmainutils_*.deb
    

    然后重新运行上面的一行代码。

  9. 修复损坏的软件包

    dpkg --configure -a
    apt-get install -f
    
  10. 最后修复/etc/resolv.conf链接

    rm /etc/resolv.conf
    ln -s /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
    
  11. 重启。

sudo apt-get check注意:修复后的系统在运行或时不会出现任何问题sudo debsums --all --changed

答案2

简短的回答:您不能,而且您必须重新安装应用程序,正如前面的答案所建议的那样。

不过,在此之前,我会将驱动器安装在另一台计算机上,并测试可用于 ext3/ext4 的取消删除实用程序。在 Google 中快速搜索指向以下这些:

延伸删除:http://extundelete.sourceforge.net/

轻松:https://www.easeus.com/resource/drive/ext3.htm

测试磁盘:https://www.cgsecurity.org/wiki/TestDisk

如何指导:http://translatedby.com/you/howto-recover-deleted-files-on-an-ext3-file-system/original/

ETC。

相关内容