Как заменить / исправить испорченные /bin/sh и /bin/dash

Я испортил / bin / sh и понятия не имею, как его заменить. Я случайно скопировал это. Как я могу это исправить?

Я использую Ubuntu Server 11.10 без X.

обновление: я попробовал исправление, которое любезно предложено Элией, но я думаю, что я скопировал поверх / bin / dash тоже!

обновление: ВЫХОД 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

2 ответа

Во всех удаленно последних версиях 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
Другие вопросы по тегам