ナンバリングタイトルで習得した技を忘れるやつ

超普通の情報系大学生のメモや疑問まとめ、備忘録

command not foundの時、どうしたか

完全解決まで二日かかった。

ある日、emacsが開けなくなった。
普段使っているエディタが動かなくなるのは相当怖い。Atomもterminalから起動しない。
コマンド自体は認識されている。なのに、動かない。

<エラー内容を確認しよう>
emacsatomもコマンドとして認識されている。
だが、atomのコマンド実行時、

-bash: sw_vers: command not found

と表示されている。つまり、/usr/local/binまでは辿れているわけだ。
なら、このsw_versってなによ。

<パスが怪しい?>
sw_versは、MacOSのバージョン確認のためのコマンドらしい。
なら、パスがおかしくなった?と思い、echo $PATHを実行、すると、

/usr/local/google-cloud-sdk/bin:/Users/sayaka/.nodebrew/current/bin:/opt/local/bin:/opt/local/sbin:/Users/sayaka/.opam/4.04.0+type-debugger/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/usr/local/go/bin:/Library/Frameworks/Mono.framework/Versions/Current/Commands:/Library/TeX/texbin  

汚いが、特に以前と変わってない気がする...source ~/.profile(.profileの再読み込み)をすると、 not a valid identifierの文言が。
もしかして、何か消えてる?

<最近何か変なことをしたか思い出してみよう>
そういえば、linux用のソフトをMacに無理やり入れようとして結局失敗した覚えがある。その際にルートを適当に設定した。(デフォルトルートがMacに存在しないところを指定してたため)
インストールの実行ファイルの中身を見ると、

sudo rm -rf $IDIR  

これ怪しくね?上手く出来なかったら作ったディレクトリ消す、みたいな内容だったと思うけど、これでは?

<何が消えてる?>
sw_versがcommand not foundってことは、sw_versが本来あるべきところが消えちゃったのでは?という考えにやっと至る。ただ、ソフトのインストール時に指定したルートが思い出せない。パスのどれかのはずなんだけどなあ...which sw_versとかで見つからないかなと(which:後ろのがどこで呼ばれてるか見つけてくれる)試したらwhichまでないことが判明。typeは使えた。type javaは無理。でもtype pythonはおっけー。
調べていると、どうやらsw_versはMacX固有のコマンドなのね。
OSXの固有コマンド - MacWiki
ここで、/usr/binがないことに気づく。

<友達を頼ろう!>
ないならコピーさせてもらえばいい、ということで、同じ型を持つ大学のお友達を頼ることにしました。本当にありがとう。
しかし、コピーしてもらってから気づく。sudoがない。(もらったファイルmvしようとして気づいた)
コピーの段階でpermission deniedで弾かれていた模様。rootで入ってもらって再びコピー。
が...sudoでは/usrはやっぱりダメらしい。suでrootで入れや、との記述がネットであったので試すも、

Killed:9

何このエラー。どうやら強制終了らしい。メモリ関係でやらかした時に出るとのこと。そういえばプログラミング実習で見たことある気がする。
メモリに問題があるの...?もうダメじゃん...

<大人を頼ろう!>
研究室の先生に聞こうかと思ったけど先生は確かWindowsだった気がする、ということで、大学のサポート担当さんの元へ。
バックアップ取ってないことに呆れられる。すみません。
あと、OSのアップデート怠っていることにも呆れられる。はずかし。
慌てて購買で外付けハードディスクを購入(非経済的)、Yosemiteのインストーラを外付けに入れていただきました。
取り敢えずバックアップ取って(もしかしたら取れないかもと言われた)、OSを上書きインストールするといいよ、とのこと。ありがとうございます。
あとは自分で頑張って、と激励していただく。

<あとは時間がやたらかかるだけ!>
TimeMachineでバックアップを取ろうとするが、これがまた超長い。研究室でのんびり待つこと三時間。やっと終わる。
ここで帰宅。不安なのでhome以下を直接外付けにコピー。こういう時1TBあると雑にコピーできていいね。そしてこれも長い。一時間ほど。
そしていよいよOSの再インストール。再起動を選んですぐにcommand+R。すると、再インストールするかクリーンするか、みたいな選択が出るので再インストールを選択。この時、ディスクを特に繋いでいなくても始まったので、Wi-Fi環境があれば大丈夫そう。
ここからが超長い。あと〜分、みたいな表示があるんだけど、ガバガバ。進んでるか不安な人はログを開くといいよ。一応進んでるから。
インストールが一旦終わったと思ったら二回目。???となりつつも下手に弄ると壊れそうなので放置。
結局、このインストールが終わるのに4, 5時間かかった。


無事元どおりになった今となっては、/usr/binがなくなっている時点で再インストールに踏み切るべきだったとも思いますが、大容量のディスクを持っていなかったためケチりたい気持ちがあった。
一万円、高い勉強量だった。
サポート担当さん、そして友人に心からの感謝を。