Versehentlich den Ordner "/ usr / share" gelöscht

17

Das System startet nicht. Haben Sie es durch versehentliche Verwendung rm - R. Wie kann ich das System wiederherstellen?

Mouvre
quelle
Sie entfernt sind Sie sicher , dass /usr/shareOrdner .. einen Versuch geben .. Anmelde mit Live - Session .. kopieren und einfügen /usr/shareOrdner aus Live - Session zu Ihrem Root - Partitionen/usr/share
PRATAP
1
Was @PRATAP vorgeschlagen hat, kann es bekommen, damit Sie sich wieder anmelden können, aber viele Benutzerprogramme speichern Anwendungsdaten dort, so dass bestenfalls nur Programme repariert werden, die von Ihrem Live-System (Installationsmedien) verwendet werden. Sie müssen dann zu install --reinstallanderen Programmen; Sie können auch einfach eine Neuinstallation mit "etwas anderem" (ohne Formatierung) durchführen. Dabei werden Ihre installierten Apps zur Kenntnis genommen, die Systemverzeichnisse gelöscht und anschließend installiert. Anschließend können Sie Ihre zusätzlichen Programme neu installieren (falls in Ubuntu-Repos). Diese Option kann jedoch ohnehin ein Fallback sein, da Sie wahrscheinlich mehr darüber erfahren werden, wie Sie sie zuerst selbst beheben können. Ihre Backups werden immer wiederhergestellt.
Guiverc
-> mit nur rm -R in / usr / share wird NICHTS gelöscht. Die Inhalte sind Eigentum von root, so dass ein normaler Benutzer sie nicht löschen kann
Rinzwind
@Rinzwind Und wenn ja, warum lädt das System nicht? Wie kann ich die Wurzel dazu bringen, das Problem zu beheben?
29.
zu tun haben Sie vielleicht sudo rm -R? Die Antwort von n0rbert sieht für mich gut aus. Das ist der
richtige

Antworten:

48

Sie müssen alle Anwendungen neu installieren, in denen sich Dateien befinden /usr/share.

  1. Booten Sie das System vom Wiederherstellungsmodus mit der Root-Eingabeaufforderung .

  2. Mounten Sie rootfs mit in den Lese- / Schreibmodus mount -o rw,remount /.

  3. Rufen Sie die Ethernet-Schnittstelle auf und beziehen Sie die IP-Adresse vom DHCP-Server: dhclient enp0s3(Überprüfen Sie den korrekten Schnittstellennamen in ip aoder ifconfig -a).

  4. Geben Sie den DNS-Server an

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

    (wechseln Sie 192.168.1.1zu Ihrem Gateway / Router)

  5. Sie müssen das dpkgPaket korrigieren, da es die /usr/share/dpkg/cputableDatei nicht enthält (andernfalls müssen Sie den "E: error reading the cpu table"Befehl on apt / apt-get ausführen).

    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
    

    oder aus dem Cache installieren:

    dpkg -i /var/cache/apt/archives/dpkg_*.deb
    
  6. Paket-Cache aktualisieren:

    apt-get update
    
  7. Installieren Sie wichtige Komponenten neu

    apt-get install --reinstall debconf linux-base
    mkdir /usr/share/python
    apt-get install --reinstall python2.7-minimal python3-minimal
    
  8. und dann einen Einzeiler verwenden:

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

    Über:

    • dpkg -S /usr/share/ Zeigt die Liste der durch Kommas getrennten Pakete an
    • sed 's/,//g' - Entfernt Kommas
    • sed 's/: \/usr\/share//g'- Entfernt : /usr/shaream Ende

    Dieser Teil kann mit Nachrichten zu einigen Paketen fehlschlagen. Zum Beispiel auf meiner VM hatte ich ein Problem mit bsdmainutils, also habe ich sie neu installiert mit:

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

    und dann wieder einzeiler oben.

  9. kaputte Pakete reparieren

    dpkg --configure -a
    apt-get install -f
    
  10. endlich fix /etc/resolv.conflink by

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

Hinweis: Das resultierende feste System zeigt keine Probleme beim Laufen sudo apt-get checkoder sudo debsums --all --changed.

Nrrbert
quelle
Dieser Befehl soll aus der Live-Sitzung verwendet werden?
PRATAP
@PRATAP aus dem Wiederherstellungsmodus reicht aus.
N0rbert
OK, das ist gut .. aber auch nach dem Löschen /usr/sharewird Grub normal funktionieren und das Grub-Menü anzeigen ? Ich denke, ich muss es löschen und in meinem praktischen pc..nice Antwort sehen .. Vielen Dank ..
PRATAP
1
Ich habe dies gerade auf VM getestet. Es ist fast eine funktionierende Lösung.
N0rbert
1
@NoRbert Danke für die Hilfe, es funktioniert wirklich!
11.
2

Kurze Antwort: Sie können nicht und müssen die Apps neu installieren, wie in einer vorherigen Antwort vorgeschlagen.

Vorher habe ich das Laufwerk jedoch in einem anderen Computer gemountet und Dienstprogramme zum Wiederherstellen getestet, die für ext3 / ext4 verfügbar sind. Eine schnelle Suche in Google zeigt auf diese:

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

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

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

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

etc.

Jose Manuel Gomez Alvarez
quelle
Ich schlage vor, testdeleteweil ich einmal erlebt habe: p
αғsнιη