web-dev-qa-db-ja.com

誤って/ usr / libを削除したのですが、どうすれば復元できますか?

私はこれを行うべきではないことを知っていますが、rootユーザーとして/ usr/libフォルダーを削除したので(Ubuntu 12.04.1 LTS)起こりました。それを復元する方法はありますか?

5
gregor171

ファイルの削除を取り消すのに役立つツールがありますが、通常は時間がかかり、主に手動のプロセスです。検索エンジンはあなたの友達です。

ライブCDまたはUSBを起動し、システムのルートパーティションをマウントし、/ usr/libを/mnt/{root.drive}usr/libにコピーする方が簡単な場合がありますが、デフォルトのlibファイルのみが取得され、追加した可能性があります。

OSを再インストールするのが最良の選択肢だと思います。もちろん、インストール中にフォーマットされていない別のパーティションにデータを保存することをお勧めします。

2
user143574

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%でした...)が、動作するはずです。

0
Salem