Jak odzyskać dane po usunięciu dowiązania symbolicznego libc.so.6?
W naszym serwerze link symboliczny dolibc.so.6
zostało usunięte. Teraz żaden z plików binarnych w systemie nie działa. Aby to naprawić, spróbowałem:
/bin/ln -s /lib/libc-2.11.3.so /lib/libc.so.6
co, zgodnie z oczekiwaniami, daje mi:
/bin/ln: error while loading shared libraries: libc.so.6:
cannot open shared object file: No such file or directory
Próbowałem też:
/lib/ld-linux-x86-64.so.2 --inhibit-rpath /lib/libc.so.6 \
--library-path /lib/libc-2.11.3.so \
/bin/ln -s /lib/libc-2.11.3.so /lib/libc.so.6
z tym samym rezultatem. Kolejne nieudane próby to cp, mv, cat.
Jestem połączony przez ssh i wierzę, że nie będę mógł otworzyć kolejnej sesji po zamknięciu tej. Czy istnieje sposób na naprawienie tego systemu (być może za pomocą wbudowanych bashów)?
[edytować] Zrobiłem:
while read line; do echo $line; done < /lib/libc-2.11.3.so > libc.so.6
skopiować plik i spróbować z:
/lib/ld-linux-x86-64.so.2 --inhibit-rpath libc.so.6 --library-path . \
/bin/ln -s /lib/libc-2.11.3.so /lib/libc.so.6
i dostał:
/bin/ln: error while loading shared libraries: ./libc.so.6: ELF file OS ABI invalid