/dev/nullの消失


今日は外からSSHでログインしサーバ管理をしていた。設定ファイルを書き換えてサーバ(確かsnmpdだった)を再起動。起動したか確認しようとしたところ……

$ ps aux | grep snmpd
Illegal instruction

えっ?……えっ?? psコマンドが動かない。別のウィンドウ(GNU Screenを使っていた)でもダメだし、sudo付きで実行しても全く同じメッセージで止まってしまう。

Illegal instruction」でググってみるが、同様の症状は見つからない。そのとき、さっきのサーバの起動でログの出力先を「/dev/null」にしたのを思い出した。確認してみると、

$ ls /dev/null
ls: /dev/null: No such file or directory

うわああぁぁああぁぁあ。どうすんの?これ直せるの?

あ、そうだ。Time Machine!!……でもコマンドラインじゃ使えない……1

更にググるとmknodというコマンドで/dev/nullを再作成できるようだ。な〜んだ。大したことなかったな。

Big Bang wih /dev/null – The macosxhints Forums
http://forums.macosxhints.com/showthread.php?t=94703

$ sudo mknod /dev/null c 3 2
Illegal instruction

ってsudoが使えないんだった!orz

この辺で頭の中が真っ白になりかけたが、前日にローカルでターミナルアプリを起動していたことを思い出した。

iPhoneで自宅のネットワークにVPN接続し、アプリ「Mocha VNC」を使ってサーバにログイン2。幸いにも、ターミナルではrootになっていたのでsudoは必要なし。助かった~

$ mknod /dev/null c 3 2
$ chown root:wheel /dev/null
$ chmod 666 /dev/null

VNC for iPhone – Download Free Lite Version. VNC for easy access to Mac OS X and Windows PC
http://www.mochasoft.dk/iphone_vnc.htm

rootになったままターミナルを放置してたのはアレだけど、それがなかったらと思ったらぞっとする。これからはもっと慎重に作業することにしよう。


  1. 調べると、コマンドラインからTime Machineを使うツールはあった。→tms [fernLightning]でも、Snow Leopardには未対応だし、そもそも/dev内はTime Machineのバックアップ対象外だ。 
  2. この辺の手順はそのうち別記事に纏めよう。→ VPNについての記事 

コメントを残す