Secara tidak sengaja menghapus folder "/ usr / share"

16

Sistem tidak memulai. Melakukannya dengan menggunakan rm - Rtanpa sengaja. Bagaimana saya bisa memulihkan sistem?

Mouvre
sumber
Anda yakin telah menghapus /usr/sharefolder .. coba .. masuk dengan sesi langsung .. salin dan tempel /usr/sharefolder dari sesi langsung ke partisi root Anda/usr/share
PRATAP
1
Apa yang disarankan oleh @PRATAP dapat diperoleh sehingga Anda dapat masuk kembali, tetapi banyak program pengguna menyimpan data aplikasi di sana, sehingga yang terbaik hanya akan memperbaiki program yang digunakan oleh sistem 'langsung' Anda (instal media). Anda kemudian harus ke install --reinstallprogram lain; atau Anda bisa menginstal ulang menggunakan 'sesuatu yang lain', tanpa format & itu akan mencatat aplikasi yang Anda instal, menghapus direktori sistem lalu menginstal, kemudian menginstal ulang program tambahan Anda (jika dalam repo Ubuntu); tetapi opsi ini bisa menjadi mundur karena Anda mungkin akan belajar lebih banyak mencoba memperbaikinya sendiri terlebih dahulu. Selalu ada memulihkan cadangan Anda.
guiverc
-> hanya dengan rm -R di / usr / share TIDAK ADA yang dihapus. Konten dimiliki oleh root sehingga pengguna normal tidak dapat menghapusnya
Rinzwind
@Rinzwind Dan jika demikian, mengapa sistem tidak memuat? Bagaimana saya bisa mendapatkan root untuk memperbaikinya?
Mouvre
apakah kamu mungkin melakukannya sudo rm -R? Jawaban yang diposting n0rbert terlihat bagus untuk saya. Itulah cara untuk pergi
Rinzwind

Jawaban:

48

Anda perlu menginstal ulang semua aplikasi yang memiliki file /usr/share.

  1. Sistem boot dari Mode Pemulihan dengan prompt root .

  2. Remount rootfs ke mode baca-tulis dengan mount -o rw,remount /.

  3. Naikkan antarmuka ethernet dan dapatkan alamat IP dari server DHCP: dhclient enp0s3(periksa nama antarmuka yang benar di ip aatau ifconfig -a).

  4. Tentukan server DNS menurut

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

    (ubah 192.168.1.1ke gateway / router Anda)

  5. Anda perlu memperbaiki dpkgpaket karena merindukan /usr/share/dpkg/cputablefile (jika tidak, Anda akan menghadapi perintah "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
    

    atau menginstalnya dari cache:

    dpkg -i /var/cache/apt/archives/dpkg_*.deb
    
  6. perbarui cache paket:

    apt-get update
    
  7. instal ulang komponen penting

    apt-get install --reinstall debconf linux-base
    mkdir /usr/share/python
    apt-get install --reinstall python2.7-minimal python3-minimal
    
  8. dan kemudian gunakan satu-liner di bawah ini:

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

    Atas:

    • dpkg -S /usr/share/ memperlihatkan daftar paket yang dipisahkan koma
    • sed 's/,//g' - menghilangkan koma
    • sed 's/: \/usr\/share//g'- menghapus : /usr/sharepada akhirnya

    Bagian ini mungkin gagal dengan pesan tentang beberapa paket. Misalnya pada VM saya, saya punya masalah bsdmainutils, jadi saya instal ulang dengan:

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

    dan kemudian reran satu liner di atas.

  9. memperbaiki paket yang rusak

    dpkg --configure -a
    apt-get install -f
    
  10. akhirnya perbaiki /etc/resolv.conftautan dengan

    rm /etc/resolv.conf
    ln -s /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
    
  11. reboot

Catatan: sistem tetap yang dihasilkan tidak menunjukkan masalah saat menjalankan sudo apt-get checkatau sudo debsums --all --changed.

Nrbert
sumber
perintah ini harus digunakan dari sesi langsung?
PRATAP
@PRATAP dari mode pemulihan sudah cukup.
N0rbert
OK, itu bagus .. tetapi bahkan setelah menghapus /usr/shareakankah grub bekerja secara normal dan menampilkan menu grub? saya pikir saya harus menghapusnya dan melihat di pc praktis saya..baik jawaban..Terima kasih ..
PRATAP
1
Saya baru saja menguji ini di VM. Ini adalah solusi yang hampir berhasil.
N0rbert
1
@ N0rbert Terima kasih atas bantuannya, ini benar-benar berfungsi!
Mouvre
2

Jawaban singkat: Anda tidak dapat dan Anda harus menginstal ulang aplikasi, seperti yang disarankan oleh jawaban sebelumnya.

Namun, sebelum itu, saya akan memasang drive di komputer lain dan menguji utilitas hapus yang tersedia untuk ext3 / ext4. Pencarian cepat di Google menunjukkan yang ini:

extundelete: http://extundelete.sourceforge.net/

easyus: https://www.easeus.com/resource/drive/ext3.htm

TestDisk: https://www.cgsecurity.org/wiki/TestDisk

Cara memandu: http://translatedby.com/you/howto-recover-deleted-files-on-an-ext3-file-system/original/

dll.

Jose Manuel Gomez Alvarez
sumber
Saya menyarankan testdeletekarena saya pernah mengalami sekali: p
αғsнιη