はうすてんぼぶスマートフォン用の表示で見るはうすてんぼぶコードかいてて疑問に思ったことや、興味あることをつらつらと暇なときに書く場所、ここはそんな場所この広告は、90日以上更新していないブログに表示しています。Standard←これ読もう、ということ。Ubuntuを触っていると、binやdevとかのディレクトリに図らずもいかねばならんときがある。binとかdevとか何々です?と疑問に思いつつも今までPATHを.zshrcに追記してたりしてた。これにはディレクトリの用途に関してや、どんなファイルをどのディレクトリに置くべきか、などが書いてある。長いし英語だし死ねるので参考書やFHSに載ってる重要なものについてだけガーっと触れる。Standard(FHS、ファイルシステム階層標準)は、Linuxと他のUNIX系オペレーティングシステムでの主なディレクトリとその内容を定めたものである。大部分において、BSD系のディレクトリ階層を基にして拡張し定式化している。つまるところ、「お前らUNIXを使うからにはこれに則ってディレクトリ構造作れよ?絶対だぞ?」といった感じ。これが定められる前は、はびこるUnix系OSと独自構造で阿鼻叫喚だった様子。Foundationによると今年の7月1日に3.0としてドラフト版がリリースされている。構造といっても、基本的にうまくまとめられている様子なので、3つの資料を元にそれぞれに書いてあるものをまんま引用して表形式で並べます。本』からの引用は頭に参:/bin/binディレクトリは,「システム管理者やユーザーが利用し,且つ起動時やメンテナンス時に必須のコマンド類」を格納するために利用される。シェルやファイルの属性変更,ファイルのコピーや削除といった代表的なコマンドは,この/binディレクトリに配置する。(binaries)。cat、ls、cpなど。参:バイナリ形式の実行可能ファイル。mvなど)/boot/bootディレクトリには,「起動時に必要なカーネルイメージやブートローダー」ファイルなどが配置されている。カーネルのイメージ(vmlinuz)は,ルートディレクトリ(/)またはこの/bootディレクトリのいずれかに配置されていなければならない。initrd(初期RAMディスク)。通常は別パーティション。参:Linuxカーネルやブート処理に必要なファイルが置かれる。/dev/devディレクトリには,デバイスファイルが配置されている。/dev/cdromなどが該当する。W:基本デバイス(device)。/dev/nullなど。参:デバイスファイルが置かれる/etc/etcディレクトリには、このシステムの環境設定ファイルを配置する。システム管理者は,/etcディレクトリ内のファイルを編集することでシステムの環境設定を行う。FHSでは,システム設定に必要なファイル群は,この/etcディレクトリ下にまとめて配置するように構成されている。このため/etcディレクトリ以外に格納されているファイルを編集する必要がないよう配慮されている。W:システム全体に関わる固有設定ファイル群。参:システム管理用の各種設定ファイルと起動時に実行されるスクリプトが置かれる。Systemの設定ファイルを保存するためのディレクトリ。Xmodmapなどのファイルが含まれる。/home/homeディレクトリは必須ではない。このため,用意されていても,いなくてもよいのだ。一般に/homeディレクトリには,各ユーザーがファイルを保存できるようにユーザー名と同名のディレクトリをそのユーザーが所有するように作成し,その下を各ユーザーが自由に読み書きできるように設定する。セーブファイル、個人用設定など。別パーティションとすることが多い。参:ユーザのホームディレクトリが置かれる。/lib/libディレクトリには,/binディレクトリや/sbinディレクトリに置かれたコマンドの実行に必要となる共有ライブラリファイルを配置する。/libディレクトリの内容は,OSをインストールする際に標準で用意される。システム管理者は,/libディレクトリに後からインストールする共有ライブラリを保存すべきではない。ないとOSのアップグレード時やパッチ適用時に上書きされる可能性があるためだ。起動や/bin,/sbinディレクトリ内のコマンドの実行に必須とされない共有ライブラリは,この/libディレクトリではなく,後述の/usr/libディレクトリに保存する。参:共有ライブラリ(C言語のライブラリなど)が置かれる。/mnt/mntディレクトリは,一時的にマウントする場所として利用する。フロッピーディスクやCD-ROMのマウント先として利用するのだ。このディレクトリ下にはどのような実ファイルも存在しない。(mount)参:CD-ROMやFDの一時的なマウント用ディレクトリ。実体は空のディレクトリ。/mnt/cdromや/mnt/floppyなどがある。/media(補足)FHSの2.3より追加された、CD-ROMなどのリームバブル媒体(media)のマウントポイントはこちらになった様子。/opt/optディレクトリ下は,付加的なアプリケーションのインストール先に使われる。/optディレクトリにはパッケージ名のサブディレクトリを作り,その下に個々のアプリケーションのプログラムをインストールする。procfsのマウントポイント。参:Linuxカーネルの動作情報を含む特殊なファイルシステム。/root/rootディレクトリは,rootユーザーのホームディレクトリだ。この位置が必須ではないが,/rootディレクトリをrootユーザーのホームディレクトリとして用意しておくことが推奨されている。ランレベル1で動作する際を考えれば,home/ディレクトリ下にroot/が含まれない理由も自ずとから分かってくるだろう。W:rootユーザのホームディレクトリ。参:スーパーユーザのホームディレクトリ/sbin/sbinディレクトリには,システム管理者が用いるコマンド群が配置されている。システム管理者が用いるコマンドを格納するディレクトリは,この/sbin以外にも,後述する/usr/sbin,/usr/local/sbinの2つのディレクトリがある。/sbinディレクトリには,起動時やメンテナンス時に必要とされるコマンド類を格納し,起動やメンテナンスに必須とされないコマンドについては,/usr/sbinディレクトリに格納する。W:システム管理系コマンドの実行ファイル群(例えば、init、ip、mount)。binaries)参:システム管理者が使用する実行可能ファイルが置かれる。shutdown、mountなど緊急時に必須のコマンドが置かれる。/tmp/tmpディレクトリは,一時的に利用するテンポラリファイルを格納するのに用いられる。/tmpディレクトリに保存したファイルやディレクトリは,システムの起動時にすべて削除される。