Ich habe vor Kurzem versehentlich die Datei gelöscht. /lib/x86_64-linux-gnu/libc.so.6.
Diese Datei wird von den meisten Programmen benötigt, daher ist mein Computer im Grunde kaputt und ich kann nur über ein aktives USB-Laufwerk auf die Festplatte zugreifen.
Ich verwende die 64-Bit-Version von Crunchbang Waldorf, die auf Debian basiert.
Wie kann ich ersetzen libc.so.6
? (/lib64/
nichteine Kopie enthalten.)
Ausgabe vonlocate libc.so
(auf Live-USB, mit eingebundener defekter Festplatte)
/lib/x86_64-linux-gnu/libc.so.6
/rofs/lib/x86_64-linux-gnu/libc.so.6
/rofs/usr/lib/x86_64-linux-gnu/libc.so.6
/usr/lib/x86_64-linux-gnu/libc.so.6
Inhalt von /etc/apt/sources.list
deb http://mozilla.debian.net/ wheezy-backports iceweasel-release
## CRUNCHBANG
## Compatible with Debian Wheezy, but use at your own risk.
deb http://packages.crunchbang.org/waldorf waldorf main contrib
# deb-src http://packages.crunchbang.org/waldorf waldorf main
## DEBIAN
deb http://http.debian.net/debian wheezy main contrib non-free
# deb-src http://http.debian.org/debian wheezy main contrib non-free
## DEBIAN SECURITY
deb http://security.debian.org/ wheezy/updates main contrib
# deb-src http://security.debian.org/ wheezy/updates main
Antwort1
Ich gehe davon aus, dass auf Ihrem Live-USB-Stick die gleiche Distribution läuft, die Sie sonst verwenden, oder dass sie zumindest auf Debian basiert.
Mit diesen Annahmen booten Sie Ihr System zunächst mit Ihrem Live-USB-Stick. Fragen Sie dann /lib/x86_64-linux-gnu/libc.so.6
mit dem Befehl ab, welchem Paket die Datei gehört dpkg -S /lib/x86_64-linux-gnu/libc.so.6
(es stellt sich heraus, dass die Datei dem Paket mit dem Namen „libc6“ gehört, aber es ist trotzdem eine nette Übung).
Wenn Ihr System von einer Live-Distribution auf einem USB-Stick ausgeführt wird, laden Sie das erforderliche Paket bzw. die erforderlichen Pakete herunter vonCrunchbang Waldorf-Site.
Mounten Sie dann Ihre Festplatte in einem Verzeichnis. Als Beispiel gehe ich wieder davon aus, dass Sie Ihre Root-Partition von Ihrer Festplatte unter mounten /mnt
.
Anschließend müssen Sie nur noch das oder die benötigten Pakete mit --root /mnt
der Direktive for neu installieren dpkg
. Auf diese Weise landen die Pakete nicht im Dateisystem Ihres Live-USB-Sticks, sondern in dem System, das Sie bereits auf Ihrer Festplatte haben.
Antwort2
Die libc.so.6
Datei ist im libc6
Paket vorhanden.
Sie müssen herausfinden, aus welchem Repository das libc6
Paket auf Ihrem Computer installiert wurde. (Überprüfen Sie /etc/apt/sources.list
usw.).
Laden Sie es dann manuell herunter (Wenn es sich beispielsweise um eine Debian-Maschine mit den Standard-Repositorys handelt, können Sie es von herunterladenHier), und installieren Sie es dann gemäß den Anweisungen von @SamiLaine.
Antwort3
Versuchen Sie Folgendes in einer Root-Shell:
ln -s /lib/x86_64-linux-gnu/libc-2.13.so /lib64/libc.so.6
Wenn libc-2.13.so
dies nicht die richtige Version für Ihr System ist, verwenden Sie die Tab-Vervollständigung in Bash, um die richtige zu finden.
Wenn dies nicht funktioniert, können Sie mit der statisch verknüpften Version von fortfahren.ldconfigin einer Root-Shell:
/sbin/ldconfig
Wenn die Zielbibliothek für die libc-Links gelöscht wurde, laden Sie das Debian-Paket von derPaket: libc6Seite, entpacken Sie es mit dpkg-deb -X
(manpage) und kopieren Sie libc-2.13.so
nach /lib/x86_64-linux-gnu
. Führen Sie dann ldconfig aus, um sicherzustellen, dass alle Links korrekt sind.
Antwort4
Öffnen Sie ein Terminal ( Ctrl+ Alt+ T) und führen Sie die folgenden Befehle aus:
Für 64-Bit-Ubuntu:
sudo ln -s /lib64/x86_64-linux-gnu/libc.so.6 /lib64/libc.so.6
Für 32-Bit-Ubuntu:
sudo ln -s /lib/i386-linux-gnu/libc.so.6 /lib/libc.so.6