Versehentlich umbenannt eine Datei in Centos 5 in / lib Ordner, keine Ahnung, wie sie genannt wurde, wie man es herausfindet?

963
Shackrock

enter image description here

Im obigen Bild habe ich die Datei versehentlich umbenannt in lund ich habe keine Ahnung, was sie überhaupt war. Es ist nach Namen sortiert und ich bin zu 99% sicher, dass es mit einem L begann, höchstwahrscheinlich lib.

Und zu Ihrer Information: Rückgängig war für diese Aktion nicht verfügbar.

Hier ist ein Code wie gewünscht:

[root@server ~]# file /usr/bin/* | grep "32-bit" /usr/bin/gdk-pixbuf-query-loaders-32: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), stripped /usr/bin/gtk-query-immodules-2.0-32: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), stripped /usr/bin/mbchk: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.9, statically linked, stripped /usr/bin/pango-querymodules-32: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), stripped 

15.55 Uhr Update:

[root@server ~]# rpm -qa | grep -i lsb redhat-lsb-4.0-2.1.4.el5 redhat-lsb-4.0-2.1.4.el5   [root@server ~]# rpm -ql redhat-lsb-4.0-2.1.4.el5 | grep "/lib" /lib/ld-lsb.so.3 /lib/lsb /lib/lsb/init-functions /usr/lib/lsb /usr/lib/lsb/install_initd /usr/lib/lsb/remove_initd /lib/lsb /lib/lsb/init-functions /lib64/ld-lsb-x86-64.so.3 /usr/lib/lsb /usr/lib/lsb/install_initd /usr/lib/lsb/remove_initd 

Wie kann ich herausfinden, wie der Ordnername war?

0
Hast du es durch ein Terminal gemacht? Wenn ja, haben Sie den Befehl `history` überprüft, um zu sehen, was Sie` mv xl` gemacht haben? nerdwaller vor 11 Jahren 0
@nerdwaller leider nicht, es war durch die GUI mit SSH Secure Shell, die gleiche, die in diesem Bild gezeigt wird. Shackrock vor 11 Jahren 0
OK, Sie können `mbchk -v` ausführen. Wenn es funktioniert, sagt es Ihnen seine Version. Hoffen wir mal, dass es * nicht * klappen wird :-) LSerni vor 11 Jahren 0
`[root@server ~]# mbchk -v mbchk (GNU GRUB 0.97)` Another buddy asked to run this command, take a look: `[root@server ~]# diff /lib/ld-2.5.so /lib/l [root@server ~]# ` (nothing happened with that one) Shackrock vor 11 Jahren 0
Nichts sollte passieren. Wir wissen bereits, dass es sich um einen Symlink handelt, daher sind die Dateien identisch. Leider habe ich den Link überprüft und das Entfernen der Verknüpfung (*) von 32-Bit-Dateien, wie ich dachte, nicht deaktiviert, so dass mein Test nicht funktioniert. Einen anderen ausdenken LSerni vor 11 Jahren 0
@lserni thank you. I will be back in 15 minutes unfortunately i have a quick call for my day-job =). Thank you for the help! Shackrock vor 11 Jahren 0
@lserni ok Ich denke, die Antwort ist, dass der Dateiname sein sollte: `ld-lsb.so.3` - glaubst du, dass das richtig ist? Shackrock vor 11 Jahren 0
Ja, ich stimme zu. Entschuldigung für die Verspätung, ich musste mir ein paar Kalorien holen :-) LSerni vor 11 Jahren 1
@lserni wenn das falsch ist, was wird mir auffallen, wenn ich falsch liege? Haha... Shackrock vor 11 Jahren 0
Ich hätte solche Probleme gesagt - http://forums.freebsd.org/showthread.php?t=24905 - aber möglicherweise erst nach einem Neustart. LSerni vor 11 Jahren 0

2 Antworten auf die Frage

1
LSerni

Es ist ein symbolischer Link und wahrscheinlich zu ld-2.5.so(notieren Sie das gleiche Datum und die gleiche Dateigröße wie ld-linux).

Wenn Sie irgendwo einen CentOS bekommen können, laufen ls -la /lib | grep ld-2.5Sie einfach und Sie werden einige Links finden, unter denen der, den Sie vermissen.

Ohne CentOS 5 kann ich nicht sicher sagen, aber möglicherweise ld-lsb.so.2oder ld-lsb.so.3.

Vergewissern Sie sich zunächst, dass Sie das lsb-Paket installiert haben.

$ rpm -qa | grep -i lsb 

oder $ sudo yum list installiert | grep -i lsb

Sie sollten etwas wie "redhat-lsb" (oder "something-lsb") dort haben. Wenn Sie dies tun, listen Sie den Inhalt auf und sehen Sie, welche Dateien in "/ lib" enthalten sind.

$ rpm -ql nameofpackage | grep "/lib" 

oder $ repoquery - Listenname des Pakets

Eines davon sollte / lib / ld-lsb-irgendwas sein. (Wenn repoquerynicht funktioniert, müssen Sie installieren yum-utils: sudo yum install yum-utilszuerst).

Just had a nice guy tell me to do `ls -ls` on the file `lib/l` and it reports: `0 lrwxrwxrwx 1 root root 13 Jan 17 00:12 lib/l -> ld-linux.so.2` that means that's the right name? Shackrock vor 11 Jahren 0
Nein, das heißt, * ist * ein symbolischer Link zu der Datei, die ich vermutet habe, aber es sagt immer noch nicht aus, wie der ursprüngliche Dateiname * war * (was der Sinn eines Symlinks ist). Aber ich habe gesucht und anscheinend hat CentOS `ld-lsb.so.2 'Unterstützung, also sollten Sie * eine * Datei mit dieser Größe und diesem Datum haben und` ld-lsb.so.2' heißen. Von der geordneten Liste der Dateinamen nicht. Es ist also fast sicher, dass Sie diesen Namen benötigen. LSerni vor 11 Jahren 0
I think you're right, does this help? `[root@server ~]# rpm -qil glibc | grep ld- /lib64/ld-2.5.so /lib64/ld-linux-x86-64.so.2 /lib/ld-2.5.so /lib/ld-linux.so.2` and `[root@server ~]# ls -la /lib | grep ld-2.5 -rwxr-xr-x 1 root root 130860 Jan 8 08:33 ld-2.5.so lrwxrwxrwx 1 root root 9 Jan 17 00:08 ld-linux.so.2 -> ld-2.5.so` Shackrock vor 11 Jahren 0
Leider nein, der Loader (wenn es sich um den Loader handelt) wird vom LSB-Paket und nicht vom glibc-Paket installiert. Aber ich habe zusammen einen Test gehackt, um zu überprüfen, ob meine Vermutung richtig ist. LSerni vor 11 Jahren 0
Ok siehe oben zurück zur Frage, welche soll ich verwenden? Ich weiß nicht, was die leider tun Shackrock vor 11 Jahren 0
Sehen Sie sich die aktualisierte Frage mit der Code-Ausgabe an. Shackrock vor 11 Jahren 0
OK, dann mache ein `rpm -qf ld-linux.so.2`, dies wird dir sagen, zu welchem ​​Paket diese Datei (und vermutlich der Link, da dies eine" Bibliothek "ist) gehört. Führen Sie dazu eine `yum-Neuinstallation aus`. Danach können Sie Ihr falsches "l" löschen. vonbrand vor 11 Jahren 0
0
user201413

Es kann schmerzhaft sein, aber versuchen Sie es. Sie sollten über alle Dateien informieren, die in ihrer ursprünglichen Installation geändert wurden (einschließlich Konfigurationsdateien).

rpm -qa --verify | grep missing 

Hoffentlich fehlt nur eine lib-Datei.

Warum schmerzhaft, nur weil es eine Weile dauert? Shackrock vor 11 Jahren 0