如何修复二进制文件?

car*_*ter 2 binary

所以,基本上我搞砸了 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
Run Code Online (Sandbox Code Playgroud)

我对 awk 和 ssh 有同样的问题。原来我以某种方式用 minix 中的二进制文件替换了我的二进制文件?有没有简单的修复方法,或者我必须回到以前的备份?

cas*_*sey 5

如果您的包管理器处于工作状态,您可以强制重新安装包含您覆盖的二进制文件的包。根据您的发行版:

  • 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在主机上覆盖,所以你不能搞砸你的系统。