ディレクトリのシンボリックリンクを削除するとき
3月2日のエントリで書いた件。どういうことかというと
- /usr/local/hoge/lib/hoge.soを/usr/lib64へリンク作成しようとした。(ln -s /usr/local/hoge/lib/hoge.so /usr/lib64 を実行したかった)
- chefにレシピを書いて実行。文法が違った、またレシピに書いた変数が間違っていて、逆にリンクが作成された。(ln -s /usr/lib64 /usr/local/hoge/lib が実行された。)
- リンクを削除。(rm -fr /usr/local/hoge/lib/lib64/ )
- /usr/lib64以下の実体がすべて削除された。
という事象です。
いやびっくり。
で、上記のリンクの削除ですが、本来ならこうすべきだったようです。
# rm -fr /usr/local/hoge/lib/lib64
最後のスラッシュを入れると、実体を削除しちゃうんですねぇ。怖いですねぇ。
いつもパスを入力するのにはbashの補完機能を使っているので、なにも考えないと/まで入ってしまう。注意しないと。