%20%2Fbin%2Fbash%3A%20bad%20interpreter%3A%20No%20such%20file%20or%20directory%E3%80%8D%E3%81%A8%E3%81%84%E3%81%86%E3%82%A8%E3%83%A9%E3%83%BC%E3%82%92%E8%BF%94%E3%81%97%E3%81%BE%E3%81%99%E3%80%82.png)
この特定のエラーを Web で調べると、すべてシェル スクリプトに関するものでした。ターミナル自体でこのエラーが繰り返し発生し、このためレスキュー モードで起動しないとホーム サーバーがまったく使用できなくなっています。ログイン画面にバグがあり、正しいパスワードにも間違ったパスワードにも反応しません。起動時に多数の [FAILED] 行も表示されます。
これは、特定のユーザーを「chroot jail」で構成し、rbash に設定したときに始まりましたが、残念ながら、構成時に使用したコード行が失われ、再起動時に完全な災害が発生しました。
レスキュー モードで「ldd /usr/bin/bash」などのコマンドを送信すると、エラーが返されます。ただし、一部の基本コマンドではこのエラーは発生しません (おそらく /bin/sh でスタックしているのでしょうか? 「$SHELL」はレスキュー モードで /bin/sh を返します)
ldd /usr/bin/bash
bash: /usr/bin/ldd: /bin/bash: bad interpreter: No such file or directory
しかし、コマンドの前に bash を付けると、正しく返されることがわかりました。たとえば、"バッシュldd <オプション"
bash ldd /usr/bin/bash
<relevant correct data>
非常に奇妙です。すべてのユーザーのシェルを /bin/bash に設定しましたが、何も起こりません。私はホームサーバーに比較的慣れていないので、いくつかの基本的なスクリプトを作成し、それを crontab などにセットして、ネットワークの外部から ssh できるようにする知識はありました。しかし残念ながら、私は chroot jail の設定について十分な知識がなく、それが引き起こす大混乱を過小評価していました。このチュートリアルそして、監禁されたユーザーにライブラリをコピーしたところで、再起動時にサーバーが機能しなくなったことに気付きました。ログがないことを再度お詫びします。そのようなことは予想しておらず、実際に実行されたことをコピーして貼り付けていなかったためです。
ありがとう。
答え1
解決しました。
それは単に bin に関する壊れたシンボリックリンクでした。正しい方向を示してくれた davidgo に感謝します。それは bash ではなく、bin だったと思います。別のユーザーもこれについてコメントしていましたが、削除されていました。誰であれ、そのコメントをくれた人に感謝します。
修正:
ln -s usr/bin bin