システムが起動しない。 rm - R
を誤って使用してしまった。システムを回復するにはどうすればよいですか?
/usr/share
にファイルがあるすべてのアプリケーションを再インストールする必要があります。
リカバリモードからシステムを起動し、ルートプロンプトを使用します。
mount -o rw,remount /
を使用して、rootfsを読み書きモードに再マウントします。
イーサネットインターフェースを立ち上げ、DHCPサーバーからIPアドレスを取得します:dhclient enp0s3
(ip a
またはifconfig -a
で正しいインターフェース名を確認してください)。
DNSサーバーを指定する
rm /etc/resolv.conf
echo "nameserver 192.168.1.1" > /etc/resolv.conf
(192.168.1.1
をあなたのゲートウェイ/ルーターに変更してください)
/usr/share/dpkg/cputable
ファイルがないため、dpkg
パッケージを修正する必要があります(そうしないと、apt/apt-getコマンドで"E: error reading the cpu table"
に直面します)
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
パッケージキャッシュの更新:
apt-get update
重要なコンポーネントを再インストールする
apt-get install --reinstall debconf linux-base
mkdir /usr/share/python
apt-get install --reinstall python2.7-minimal python3-minimal
次に、以下のワンライナーを使用します。
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
そして、上記のワンライナーを再実行しました。
壊れたパッケージを修正する
dpkg --configure -a
apt-get install -f
最後に/etc/resolv.conf
リンクを修正
rm /etc/resolv.conf
ln -s /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
リブート。
注:結果の修正済みシステムでは、Sudo apt-get check
またはSudo debsums --all --changed
の実行中に問題は発生しません。
簡単な答え:以前の答えで示唆されているように、アプリを再インストールすることはできません。
ただし、その前に、ドライブを別のコンピューターにマウントし、ext3/ext4で使用可能な削除取り消しユーティリティをテストしました。 Googleでのクイック検索は、次のものを指し示します。
extundelete: http://extundelete.sourceforge.net/
イースス: https://www.easeus.com/resource/drive/ext3.htm
TestDisk: https://www.cgsecurity.org/wiki/TestDisk
ガイドの方法: http://translatedby.com/you/howto-recover-deleted-files-on-an-ext3-file-system/original/
等.