先週からウチのサーバーはMac OS X Server 10.6へアップグレードし、未だに細かな設定調整や機能追加の為にSSHや画面共有で操作しています。
機能は、Dynamic DNSへのIPアドレス通知を自動化したいと思い、シェルスクリプトを書いて色々実験をしていた時の事。シェルスクリプトの出力を/dev/nullへ捨てたり、コンソールへ表示したり、ファイルへ落としたり、色々しているうちに誤って /dev/null を消してしまったのです!
こうなるともう大変です。SSH、画面共有はつながらず、どうにもリモートから出来る事がありません。
仕方なく、サーバーにLCDモニター、キーボードとマウスを接続し操作する事に。幸い、LCDモニターへの出力、キーボード、マウスからの操作は正常です。ホッとしました。早速、ターミナルから/dev/nullを生成するコマンドを実行しようと、「ターミナルを起動」しましたが、プロンプトが出てくる事無く ”[プロセスが完了しました]” と表示されて終わってしまいます。
・・・しばらく考え、単純にシステムを再起動してみる事にしました。
再起動後、ターミナルを立ち上げると…正常に動作しています。プロンプトが出てきて、早速
ls -la /dev/null
とすると、復活しています! Mac OS Xは/dev/nullが見つからないと、システム起動時に自動的に生成してくれるみたいです。
ということで、まとめると:
現象
-
- SSH接続出来ない。
- VNC接続出来ない。
検証方法
-
- system.logに /dev/null が見つからないといったエラーの有無。
対処
-
- システムの再起動。