/sbin
読み:エス-ビン
外語:/sbin: system binaries
UNIXやPOSIX準拠OS(Linux等)で、もっぱら、コンピューターの管理者が用いるバイナリファイル(実行ファイルなど)を格納するディレクトリ。
概要
誕生前
/sbinは、昔からあったわけではない。ディレクトリ構成の整理などの時代の変遷の結果、必要に迫られ作られたものである。
まず起動すると、OSのカーネルは/をマウントする。次にinitを実行する必要があるが、initの置き場所は時代によって変化した。
以前のシステムでは、initやmountは/etcに置かれていた。どの頃までかは定かではないが、System V系のUnixWare 2では、initは/etcにある(但し、/etc/mountは/sbin/mountへのシンボリックリンク)。
誕生
/etcは、設定ファイルなどの格納場所である。次第にその考え方は強まり、やがて/etcには実行ファイルが置かれなくなった。
この頃、initの実体は/usr/binなどに移動することになったが、移動するというのも、実はそれほど簡単なことではない。まず困ったのは起動である。
/usr/bin/initを読み取るためにはまず/usrをマウントせねばならないが、/usrをマウントするためのmountコマンドは元々/usr/binにあった。つまり、マウントしなければマウントするためのコマンドが実行できないのである。これではどうしようもない。
そこで、起動するために最低限必要なファイルの置き場、として作られたのが/sbinであった。
用途
昔
当初、/sbinのファイルというのは、起動に必要だから、という理由でそこに置かれたものである。既存の/usr/binや/usr/sbin(古いSunOSでは/usr/etc)に置かれるべきコマンドとの差は、その点のみであった。
かくして、起動後は不要となりそうなものを置く場所、というのが当初の使われ方で、かつては厳格なポリシーを持っていたようである。
今
しかし今では、かなり曖昧な使われ方をしており、漠然と「システム管理用のコマンド置き場」として扱われているようである。これは、System V系、BSD、Linux、いずれにおいても同様である。
mount、umountなどマウント関係以外にも、OSによっていろいろ不思議なものがここに置かれている。
例えばSystem V系のUnixWare 2の場合、cp、mv、rm、sh、su、whoといった重要なコマンド類がある。
FreeBSDでは、ファイルシステム操作関係のツール類、ping、routeなどが置かれている。
Linuxでは、arp、ifconfig、routeといった管理用ツールのほか、いくつかのデーモンが置かれている。
再検索