如何更换/修复乱搞/ bin / sh和/ bin /破折号
我已经损坏了我的/ bin / sh并且不知道如何替换它。 我不小心复制了它。 我怎样才能解决这个问题?
我正在运行Ubuntu Server 11.10,没有X.
更新:我尝试了由Eliah友情提供的修复,但我想我也复制了/ bin / dash!
更新:输出cd /bin; file sh dash bash; md5sum sh dash bash
cd /bin; file sh dash bash; md5sum sh dash bash
sh: symbolic link to `dash' dash: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=0x5d23ca7cbab4993f295d1089b4860eb32d406fab, stripped bash: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=0xf199a4a89ac968c2e0e99f2410600b9d7e995187, stripped c229085928dc19e8d9bd29fe88268504 sh c229085928dc19e8d9bd29fe88268504 dash 089ed56cd74e63f461bef0fdfc2d159a bash
在所有远程最新版本的Ubuntu中, /bin/sh
只是/bin/dash
的符号链接。 因此,如果重要的话,请确保当前调用/bin/sh
任何内容都备份,然后删除它并创建一个新链接。
要删除当前/bin/sh
并将/bin/sh
恢复到它应该是什么,请运行以下命令:
cd /bin sudo rm sh sudo ln -s dash sh
假设你还有bash,请使用bash作为sh。
sudo ln -s bash /bin/sh
然后重新安装破折号
sudo apt-get install --reinstall dash