无意中删除了/ usr / lib,我该如何恢复它?

我知道这是我不应该做的事情,但它发生了(Ubuntu 12.04.1 LTS)作为root用户我删除了/ usr / lib文件夹。 任何想法如何恢复它?

有些工具可以帮助您取消删除文件,但通常它是一个缓慢且大多是手动过程。 搜索引擎是你的朋友。

启动Live CD或USB,挂载系统的根分区,然后将/ usr / lib复制到/mnt/{root.drive}usr/lib可能更容易,但是你只能得到默认的lib文件,而不是你可能已经添加了。

我认为最好的选择是重新安装操作系统。 当然,你会希望你的数据在一个单独的分区,在安装过程中没有格式化,良好的做法恕我直言。

假设apt-get仍然有效,你可以尝试使用dpkg获取包含文件的软件包列表,然后使用apt-get安装它们。 您可以使用此Ruby脚本,但可以在python或bash中实现相同的想法:

 raw_pkgs = `dpkg --get-selections`.split("\n") need_reinstall = [] path="/usr/lib" raw_pkgs.each do |x| pkg = x.split(" ")[0] if `dpkg -L #{pkg}`.include? path puts "-> #{pkg} has files in #{path}" need_reinstall << pkg end end puts "\nYou need to reinstall #{need_reinstall.size} packages:" puts "\tsudo apt-get install --reinstall " + need_reinstall.join(" ") 

这是一个蛮力的解决方案,需要一些时间(在我的系统中,列表是安装的总包的约65%......),但应该有效。