終端命令不起作用

終端命令不起作用

我將所有以 lib 開頭的檔案從 /../ 移到某個資料夾,如下所示: mv /../lib* /to/some/folder

之後我就無法將其移回原處。 -bash: /bin/mv: /lib64/ld-linux-x86-64.so.2: bad ELF interpreter: No such file or directory

即使ls它是作為-bash: /bin/ls: /lib64/ld-linux-x86-64.so.2: bad ELF interpreter: No such file or directory

答案1

恢復使用busybox在您的情況下與您busybox安裝時一樣有效。

busybox是靜態連結的二進位文件,這對您的情況有幫助,但無需使用靜態連結的二進位檔案來修復此類缺陷。

你也可以這樣做:

LD_LIBRARY_PATH=/some/path/where/the/libs/are mv ....

如果您也移動了動態執行時間連結器,則您也需要手動呼叫執行時間連結器。要了解其工作原理,請致電:

man ld.so.1

或在 Linux 上

man ld.so

這通常會產生如下命令列:

LD_LIBRARY_PATH=/path/to/libs /path/to/libs/ld.so.1  mv ....

在 Linux 上,替換/path/to/libs/ld.so.1/path/to/libs/ld-linux-x86-64.so.2或 您系統上實際使用的內容。

一般來說,您需要知道您想要呼叫的二進位檔案是 32 位元還是 64 位元二進位檔案,並呼叫正確的動態執行時間連結器。

順便一提:這是自 2004 年以來為 Solaris 記錄的方法,從那一年起,Solaris 上就不再有靜態連結的二進位了。

相關內容