私はやや厄介な問題に直面していることを発見しました。過去のある時点で、私はコンピュータを起動するたびに起動しようとするソフトウェア(ejabberd、気になる場合に備えて、どちらが重要かは重要ではないと思います)をインストールしました。ずっと後、Erlang / OTP(ejabberdが起動した)で作業している間、私のコンピュータにErlangをインストールするためのより良い(開発用)方法を見つけて、(apt-get installを介して)以前のバージョンを削除しました。後でいくつかのタスクを実行している間、Erlang仮想マシンを起動するために使用されるバイナリerlがまだ私の/ usr / binにあることがわかりました。 「ああ」 - 私は考えました。 "愚かなことは必要ありません。apt-getの削除ではクリーンアップが正しく行われません。 …
...ああ!
今始めようとすると、長い行が見えます。
/usr/sbin/ejabberdctl: 60: exec: /usr/bin/erl: 見つかりません
起動できません。 - 削除できません。起動プロセスを中断し、起動オプションとBIOS設定を変更するオプションが表示されますが、これがトラブルシューティングにどのように役立つかはわかりません。どんなアイデアがありますか?とても感謝しています!
答え1
USBメモリースティックなどの他のメディアから起動します。 DebianまたはUbuntuを使用していると仮定すると、そのディストリビューションのインストールイメージ(シェルに入ることができます)で動作するか、次のものを使用できます。システム回復ディスク(名前に加えて、PXEを介したネットワーク起動を含むさまざまなメディアから起動します。)
シェルを起動して入ったら、ハードディスクのシステムパーティションをインストールします。破損を確認してくださいrm -rf
(どのディレクトリでこれを行ったかはわかりませんでした)。
何かが簡単で解決できる場合は、解決してください。それ以外の場合は、システムの一部(小型または大型)を再インストールする必要があります。フルインストールを実行する必要がある場合は、/var/lib/dpkg/status
システムを元の状態に復元できるように、インストールする前に他の場所にインストールされているパッケージのリストを保存できます(参照)。ディストリビューションのインストールイメージから起動すると便利です。
答え2
重要ではない単一サービス(XMPPデーモンなど)の起動に失敗したため、サーバー全体が起動しないようにしてはいけません。あなたが見ていない他のより重要なものがあるかもしれません。
しかし、一度に1つの質問だけが可能です。今すぐerlang-base
(付属のパッケージ)を正しく再インストールする必要があります/usr/bin/erl
。
apt-get install --reinstall erlang-base