web-dev-qa-db-ja.com

混乱した/ bin / shと/ bin / dashを交換/修正する方法

/ bin/shが破損していますが、交換方法がわかりません。誤ってコピーしてしまいました。どうすれば修正できますか?

Ubuntu Server 11.10を実行していますが、Xはありません。

更新:Eliahから親切に提供された修正を試しましたが、/ 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
3
Joel

Ubuntuのすべてのリモートバージョンでは、/bin/sh/bin/dashへの単なるシンボリックリンクです。そのため、現在/bin/shと呼ばれるものが重要な場合はどこかにバックアップされていることを確認してから、それを削除して新しいリンクを作成します。

現在/bin/shであるものをすべて削除し、/bin/shを本来の状態に戻すには、次のコマンドを実行します。

cd /bin
Sudo rm sh
Sudo ln -s dash sh
2
Eliah Kagan

まだbashがあると仮定して、bashをshとして使用します。

Sudo ln -s bash /bin/sh

その後、ダッシュを再インストールします

Sudo apt-get install --reinstall dash
0
geirha