Binary

如何修復二進製文件?

  • December 3, 2015

所以,基本上我搞砸了 minix 和 qemu,我搞砸了太多。

me@meplepl ~ $ which
bash: /usr/bin/which: cannot execute binary file: Exec format error


me@meplepl ~ $ file  /bin/which
/bin/which: Minix-386 executable

我對 awk 和 ssh 有同樣的問題。原來我以某種方式用 minix 的二進製文件替換了我的二進製文件?是否有簡單的修復或我必須回到我以前的備份?

如果您的包管理器處於工作狀態,您可以強制重新安裝包含您覆蓋的二進製文件的包。根據您的發行版:

  • apt-get --reinstall install *package-name*
  • rpm -iv --replacepkgs *package-name*
  • yum reinstall *package-name*
  • emerge *package-name*
  • pacman -S *package-name*

如果這不起作用,你說你有備份,所以我會/bin/usr/bin備份中恢復。


避免將來這樣做的一個有用方法是古老的建議“不要在不需要時使用 root 帳戶”。一旦安裝了 qemu,您就可以以您的使用者身份執行它。好處是你的使用者不能/usr/bin在主機上覆蓋,所以你不能搞亂你的系統。

引用自:https://unix.stackexchange.com/questions/247203