を削除/usr/lib/*
しただけでなく/lib/*
、削除したので、おそらく回復できます。システムを回復するために不可欠なすべてのプログラムは、のライブラリのみを使用していると思います/usr/lib
。
テキストログインプロンプトを起動します。通常の起動ではlogin:
テキストモードでプロンプトが表示されない場合は、最小限のサービスのみで起動します。Shiftコンピューターが起動してから押し続けると、Grubプロンプトが表示されます。BIOSがキーボードを初期化した後、Grubがロードされる前にキーを押す必要があります。これにより、一部のマシンではわずかな時間枠しか残らず、数回の試行が必要になる場合があります。Grubプロンプトでを押しDownて、シングルユーザーモードのブートエントリを強調表示し、それを起動します。
コマンドラインを作成したら、を実行apt-get --reinstall install PACKAGE1 PACKAGE2 …
して、にファイルがあるパッケージを再インストールします/usr/lib
。このシェルスニペットを実行して、再インストールするパッケージの名前のリストを取得できます。
egrep -l '/usr/lib/[^/]*\.so\.' /var/lib/dpkg/info/a*.list |
sed -e 's!^/var/lib/dpkg/info/!!' -e 's!\.list$!!'
一部のパッケージインストールスクリプトでは、他のパッケージのライブラリが存在する必要があるため、特定の順序で再インストールを実行する必要がある場合があります。パッケージのインストールスクリプトが特定のプログラムを使用しようとしていることがわかった場合は、このプログラムに必要なライブラリを見つけることができますldd
。たとえば、これはpythonに再インストールする必要のある3つのライブラリがないことを示しています。
$ ldd /usr/bin/python | grep 'not found'
libssl.so.0.9.8 => not found
libcrypto.so.0.9.8 => not found
libz.so.1 => not found
dpkg -S /usr/lib/libz.so.1
このファイルがからのものzlib1g
であることを明らかにします。
apt-get
パッケージをダウンロードできない場合は、まずライブCDからいくつかの主要なパッケージをダウンロードしてください。zlib1g
そしてlibssl0.9.8
あなたが早い段階で必要に非常になりそうだ二つのパッケージがあります。