リンクファイルなし運用
ふと、リンクを作る前にコマンドを実行したら実行出来てしまった。
全ての busybox のコマンドが sh の組み込みコマンドになってるような感じ。
こんな機能があったとは。
しかしだからといって、busybox を sh にリネームしてしまったらこの機能は働かなくなった。
ハードリンクかシンボリックリンクでbusyboxという名前のファイルが存在している必要があるようだ。
(実体のファイル名がshで、シンボリックリンク先がbusyboxという状態でも大丈夫だった)
追記:/busyboxではダメで、/bin/busyboxである必要があるようだ。
/bin $ ls -l ← lsの実行ファイルがなくてもlsが実行出来る -rwxr-xr-x 2 2003 2003 1010496 Oct 25 11:16 busybox -rwxr-xr-x 2 2003 2003 1010496 Oct 25 11:16 sh /bin $ mv busybox ln /bin $ ls -l ← busyboxという名前のファイルがなくなったらlsが実行出来なくなった /bin/sh: ls: not found /bin $ ln -s sh busybox /bin $ ls -l ← busyboxというシンボリックリンクを作ったらlsが実行出来るようになった lrwxrwxrwx 1 0 0 2 Oct 25 11:15 busybox -> sh -rwxr-xr-x 2 2003 2003 1010496 Oct 25 11:14 ln -rwxr-xr-x 2 2003 2003 1010496 Oct 25 11:14 sh
なお、対応コマンドの全リンクを作るときは、
あらかじめ /bin,/sbin,/usr/bin,/usr/sbin のディレクトリを用意しておいて、
% busybox --install -s