☆☆ 新着記事 ☆☆

2018年10月6日土曜日

【概要】 Linux Directory構成

まずは下記の一覧を確認して、どのようなディレクトリがあるのか確認してください。

因みに、CentOS 7のPATHの初期設定は、   [@  /]$ echo $PATH
  (結果)
  /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

---------------------------------------------------------
/ ルートディレクトリ
|
|--- /bin 一般ユーザー向けの基本コマンド / 共通で使う実行ファイル
|
|--- /boot 起動に必要なファイル
|
|--- /dev デバイスファイル
|
|--- /etc 設定ファイル
| ├ /etc/opt/ optの設定ファイル
| ├ /etc/sgml/ SGMLの設定ファイル
| ├/etc/xml/ XML の設定ファイル
| └ /etc/httpd/ config の設定ファイル
|
|---/home ユーザーのホームディレクトリ
|
|--- /lib 共有ライブラリ
|
|---/mnt ファイルシステムの一時的なマウントポイント用ディレクトリ
|
|---/media CD-ROMなどのリムーバブル媒体(media)のマウントポイント
|
|---/opt 実行時に書き換えられないアプリケーションソフトウェアパッケージ
|
|--- /proc カーネルやプロセスに関する情報をテキストで表示する仮想ファイルシステム
|
|--- /root root用ホームディレクトリ
|
|--- /sbin システム管理用コマンド
|     rootユーザ用の実行ファイル
|
|--- /tmp ファイルなどを一時的に保管するディレクトリ
|
|---/srv システムに提供されたサイト固有のデータ
|
|---/usr プログラムやカーネルソース
|  |---  /usr/bin/ /binと同じだが、基本的ではない <- ④ Default Sys Path
|  |---  /usr/include/ 標準 includeファイル
|  |---  /usr/lib/ /libと同類
|  |---  /usr/sbin/   /sbinと同じ。 Apacheインストール時のhttpdなど。 <- ③ Default Sys Path
|  |---  /usr/share/  アーキテクチャに依存しない共有データ
|  |    pypMyadminなどはepelでインストールすると、このフォルダに格納される。
|  |--- /usr/src/ ソースコード(カーネルのソースコードとそのヘッダファイル)
|  |--- /usr/local/ ホスト固有のローカルデータを格納する第三階層
|                 |---/src/ このディレクトリに新しいプログラムを格納する。(Python3.X 等)
|       |---/sbin/ <- ① Default Sys Path      
|       |---/bin/  <- ② Default Sys Path     
|
|--- /var システムログなどの動的に変化するファイル
    |--- /var/www/html  ドキュメント・ルート
    |--- /var/lock/ 使用中リソースを保持するファイル
    |--- /var/log/ 各種ログファイル (httpd access_log, error_log 等 各種)
    |--- /var/mail/ ユーザーのメールボックス
    |--- /var/run/ ブート以降の走行中システムに関する情報
    |--- /var/spool/ 処理待ち状態のタスクのスプール
    |--- /var/spool/mail/ 互換のために残された、かつてのユーザーのメールボックス
    |--- /var/tmp/ 一時ファイル置場 (マルチユーザーモードではこちらの使用が推奨される)

---------------------------------------------------------

このLinuxのディレクトリ一覧にも規格名があります。
それは、『FHS(Filesystem Hierarchy Standard)』 というディレクトリ構成規格になります。
以前はディストリビューションや、バージョンによって細かい点で差異があったのですが、
現在はこのディレクトリ規格によって統一化が図られています。

現在、ほとんどの主要ディストリビューションが、このFHSを元にディレクトリを構成していますので、これを覚えると他の主要Linuxのディレクトリ構成についても大抵通用します。

■ /bin  読み方(ビン)
システム管理者(root)と一般ユーザーの両方が使う基本的な コマンドが格納されています。
試しに、binディレクトリに格納されているコマンドを確認してみてください。
$cd /bin
$ls -l
-rwxr-xr-x 1 root root 73460 10月 12 2003 ls
-rwxr-xr-x 1 root mail 74844 8月 2 2003 mail
-rwxr-xr-x 1 root root 21812 10月 12 2003 mkdir

このような基本的なコマンドが格納されているのが「bin」ディレクトリです。

■ /boot 読み方(ブート)
システム起動時に必要なファイルを格納しています。
普段Linuxを使用していて、このディレクトリにあるファイルを 変更することは滅多にありません。
起動時にBIOSの制限を受けないようにするため、ルートファイルシステムとは別に、
ディスクの先頭付近に配置されることがあります。
起動に必要なファイルがあるという事だけ覚えておいてください。

■ /dev 読み方(デブ)
デバイスファイルが保存されいるディレクトリです。
Linuxでは 『デバイスもファイルとして扱う』 という設計思想がとられています。
これはUNIXから受け継いだ設計思想になり、プログラムを組んでデバイスを使用する場合は、普通のファイルを扱うのと同じ様に、デバイスファイルを 『Open』して、『Read』『Write』と順番に処理をして、最後に『Close』する という手順でアクセスするようになっています。
しかし、devディレクトリのファイルを操作することは滅多にありません。 意味も解らずに操作するとデバイスが使用できなくなってしまうので、 扱いには注意が必要です。

■ /etc 読み方(エトセ)
etcディレクトリには「設定ファイル」が格納されています。
代表的なものには、 IPアドレスとホスト名をDNSサーバー参照なしでも名前の解決ができる「hosts」ファイルやhttpdのconfig関連、シェルの初期設定ファイル「profile」
などがあります。

■ /home 読み方(ホーム)
 各ユーザーのホームディレクトリがあるディレクトリです。
 サーバーにユーザを追加した場合に、「/home/ユーザー名」 のディレクトリが自動で
 作成されます。
 
 又、 ログインしたときに最初にアクセスするディレクトリは、ログインに使用したユーザ名の
 「/home/ユーザー名」 になり、多くのホスティング・サーバーで契約者が使うことになる。

 ユーザー名がmossymobの場合、「/home/mossymob」となります。  また、独立したファイルシステムにすることで、クォータを設定できたり、保守性を向上させたりできます。 
このディレクトリで、各一般ユーザーは作業を行います。

■ /lib 読み方(リブ)
システムの起動時に必要なものと、「/bin」や「/sbin」ディレクトリにあるコマンドを
実行するのに必要なライブラリが保存されています。
ユーザーや管理者がこの「/lib」ディレクトリに直接アクセスすることは滅多にありません。

■ /mnt 読み方(マウント)
フロッピーディスクドライブやCD-ROMドライブなど、リムーバブルメディアを使用するとき(マウント)に利用するマウントポイント用ディレクトリです。
一般ユーザーが利用することはなく、root専用のディレクトリと覚えたほうがいいでしょう。

■ /opt 読み方(オプト)
RPMやdpkgといったパッケージ管理システムでプログラムをインストールする時に
使用するディレクトリです。ディストリビューションによっては配置されません。

■ /proc 読み方(プロック)
カーネル内部の情報にアクセスする為の仮想的なファイルシステムです。
Linuxサーバーのハードウェア情報などを知るための情報ファイルが存在しています。
例えば、CPU情報やメモリの使用状況、ネットワーク情報などが参照できます。
CPU情報を参照する場合
-----------------------------------------
# view /proc/cpuinfo
-----------------------------------------
メモリ情報を参照する場合
-----------------------------------------
# view /proc/meminfo
-----------------------------------------
但し、仮想的なファイルシステムになるため、
ファイルのように見えますが、実際にはディスク上に存在しません。

■ /root 読み方(ルート)
システム管理者(root)のホームディレクトリです。
以前は「/」(ルートディレクトリ)がホームディレクトリとして使われていましたが、「/root」が使われるように変更されました。
「/home」の一般ユーザーのホームディレクトリと別になっているのは「/home」が壊れても、「/root」で作業が出来るようにという配慮からです。
※FHSではオプション扱いとなっています。

■ /sbin 読み方(エスビン)
システム管理者(root)が使用するコマンドが格納されています。
主に、起動、停止やリカバリーのような、システム管理に必要 なコマンドです。
$cd /sbin
$ls -l
-rwxr-xr-x 1 root root 1819 10月 29 2003 service
-rwxr-xr-x 1 root root 55768 8月 26 2003 ifconfig
-rwxr-xr-x 1 root root 18336 9月 23 2003 shutdown
システム停止や、サービスなどのシステムに直接関係のある大切なコマンドばかり格納されているディレクトリです。
セキュリティーの配慮として、一般ユーザーは実行できないよう 権限が与えられています。
※rootのみが実行可能になっています。

■ /tmp 
一時的にファイルを保存したり、作業したりするためのディレクトリです。
再起動などをすると、このディレクトリ内のファイルは削除されてしまいますので
使用には注意が必要です。
大切なファイルは間違ってもtmpディレクトリに保存してはいけません。
※テンポラリ(temporary:一時的な)からこの名前がつけられいます。
※すべてのユーザーが読み書き可能です。

■ /usr 
ユーザー向けのディレクトリで、たくさんのサブディレクトリを持っています。
代表的なものの1つに「/usr/local」ディレクトリがありますが、これはRedhat系Linuxのパッケージ管理システムの管理対象外で、ソースからコンパイルしたプログラム(CentOS7にPython3,Xをインストール)などをここに保存するのが一般的です。

■ /usr/bin/
ユーザーが一般的に使用するコマンドで、緊急時のシステム保守に必須ではないコマンドが配置されます。

■ /usr/lib/
プログラムに必要な共有ライブラリが配置されます。

■ /usr/sbin/
システム管理コマンドで、緊急時のシステム保守に必須ではないコマンドが配置されます。
Apacheをインストールした際に、httpdコマンドが格納される場所でもある。
 # which httpd
  /usr/sbin/httpd



■ /usr/share/
x86やAlphaといったシステムアーキテクチャに依存しないファイルが配置されます。
例えば、/usr/share/manには、manコマンドで使用されるマニュアルが配置されます。

■ /usr/src/
Linuxカーネルソースなどのソースコードが配置されます。

■ /usr/X11R6/
XFree86(X Window System)用ファイルが配置されます。

■ /usr/local/
ローカルシステムで必要とされるコマンドやライブラリ、ドキュメントなどが
配置されます。このディレクトリ内は、さらにbin、sbin、libなどに細分化されます。

■ /var 
このディレクトリも「tmp」と同じように一時ファイルを保存しておくディレクトリです。しかし、
ここに保存されているファイルは、サーバーを 再起動しても削除されません。
保存されているファイルの種類は 「変化していくファイル」です。

代表的なもの
Webサービスのhtmlファイルや、メール、プリンタのスプールファイルがあり、デフォルトでは、
ドキュメント・ルートは、/var/www/htmlに設定されています。

エラーの際にチェックするシステムログファイルの「/var/log/messages」 は、この/varディレクトリに
保存されています。

■ /var/cache/
manコマンドで表示する為に整形したデータなど、
一時的なキャッシュファイルが配置されます。

■ /var/lock/
アプリケーションが排他制御に使用するロックファイルが配置されます。

■ /var/log/
ログファイルが出力されます。システムのログファイル(messages)、
メールのログファイル(maillog)などが配置されます。

■ /var/run/
システムの状態を示すファイルが配置されます。
PIDを格納したファイルを参照することで、PIDの確認が行えます。

■ /var/spool/
処理を待つバッファであるスプールが配置されます。
送信待ちメールや、印刷待ちデータなどになります。

0 件のコメント:

コメントを投稿