06ファイルディレクトリ構成の確認

06ファイルディレクトリの操作

LinuxシステムはFHS(Filesystem Hierarchy Standard)と呼ばれる規格に基づいてディレクトリの構成が決められています。

ファイルは必ずディレクトリに入れられているので、必ず/から始まる記述が可能です。

Linuxのディレクトリ構成には緩やかな決まりがあります。


Linuxの主要なディレクトリ

/     ルートディレクトリ -----------------+-----boot                               Linux起動時に必要なファイルを保存
                                                                |
                                                                +-----root        rootユーザのホームディレクトリ
                                                                |
                                                                +-----home ----+  user1  user1のホームディレクトリ
                                                                |                       |
                                                                |                       +  user2  user2のホームディレクトリ

                                                                |                       |
                                                                |                        .................
                                                                +-----etc           Linuxの設定ファイルを保存
                                                                |
                                                                +-----bin                                  システムのメンテナンスに必要な最低限のコマンド群
                                                                |
                                                                +-----sbin         おもにシステム管理者が使うメンテナンス用コマンド群
                                                                |
                                                                +-----user -----+  bin              その他各種プログラムなどのコマンド群
                                                                |                       |
                                                                |                       +  sbin     その他管理者用のコマンド群
                                                                |
                                                                +-----dev         デバイスファイル
                                                                |
                                                                |
                                                                +-----lib         共有ライブラリファイル
                                                                |
                                                                |
                                                                +-----var         可変的なデータ(ログ・データベース・Webサイト等)
                                                                |

                                                                +-----tmp        各種アプリケーションの一時ファイルで定期的に削除される
                                                                |
                                                                .....................


ディスクパーティションの分割

Linuxサーバを構築するとき多くの場合ディスクパーティションを細かく分けることはしない

最低限で /(ルート) と SWAP または /(ルート) と boot と SWAP
(一般ユーザが大量に発生する可能性があるときは home も別ディスクに)

HDDの容量制限とファイルの破損のリスクのため古いシステムではもっと細かく分割するよう推奨されていた
(現在では細かく分割することにほとんど意味はない)


ディスクパーティションとディレクトリの関係

Linuxでは一つの物理ディスクを複数のパーティションに分割して使用する
(Windowsでもおなじみ)

Windowsではそれぞれのパーティションが「c:ドライブ」「d:ドライブ」のように別々のドライブとして認識される

Linuxでは前述のようなディレクトリーツリーの中に複数のパーティションが混在してマウントされる
(ドライブという概念は認識されない)




【参考】http://allabout.co.jp/gm/gc/438840/

ディレクトリ構造


Linuxは以下のイメージの様にルートディレクトリ(/スラッシュ記号で表される)を頂点にした明確なツリー構造のフォルダの階層を持っています。この構造はどのLinuxのディストリビューションでも共通で、パーティションの分け方とは完全に独立したものです。Linuxを搭載したパソコンであれば、どんなパーティションの分け方をしていても、現在開いているフォルダからいくつの階層を上がれば行きたいフォルダにたどり着けるかが明確にわかります。
                                         Linux ディレクトリ構造


逆にWindowsのシステムでは、以下のイメージのようにパーティションごとにファイルを整理するので、Cドライブ以外のディレクトリ構造は任意の構造です。Cドライブは他のドライブと同列の関係なので、Linuxのルートディレクトリとは構造が違うことがわかると思います。
                                  Windows ディレクトリ構造


また、Windowsではディレクトリ構造を示すのにバックスラッシュ又は円記号(¥)を使うに対して、Linuxはフォーワードスラッシュ(/)で表します。例えば、ボブというユーザーのダウンロードフォルダは「/home/bob/ダウンロード」となります(WindowsではC:\ユザー\bob\ダウンロード)。「/home」の代わりに「~(ティルド)」が使われることもあります。


以下が代表的なディレクトリの説明です。


/ ルートディレクトリ
およそWIndowsのC ドライブに相当し、すべてのディレクトリを格納するツリー構造の幹の部分にあたります。このパーティションにLinuxの作動に必要なすべてのファイルがインストールされます。

/home ホームディレクトリ
Windowsのマイドキュメント等が格納されるユーザーフォルダに相当し、ユーザーのデータを保存するディレクトリです。ユーザーが複数いる場合は、「/home/userA」と「/home/userB」がそれぞれのホームフォルダになります。

/media メディアディレクトリ
USBドライブや外付けハードドライブ等の記憶媒体が接続されると、このディレクトリにマウント(接続)されます。Windowsのように記憶装置が認識された順番で、EドライブになったりFドライブになったりせず、例えばdata1という名前の外付けハードドライブなら常に「/media/data1」からのアクセスとなります。

/usr ユーザーディレクトリ
ソフトウェアの多くがこのディレクトリに格納されます。Windowsの「C:\Program Files」に近いディレクトリですが、その他「/bin」や「/lib」等にもスクリプトやライブラリーファイルなどソフトウェアに必要なファイルが格納されます。

その他にも「/var」 「/tmp」などルートディレクトリのすぐ下の階層にLinuxの動作に必要なシステムファイルが格納されています。ホームディレクトリ以外のディレクトリは誤ってシステムを破壊しないように管理者権限がなければ編集できないように設定されています。

 

パーティションってなに?


パーティションはコンピュータのデータを保存するハードディスク等をあたかも複数のディスクで構成されているかのようにするために分けられた記憶領域のことを指します。例えば、WindowsではメインのCドライブとバックアップ用のDドライブがそれぞれパーティションになります。

パーティションを分ける主な理由はOSとユーザーのデータを保存する場所を別にすることで、どちらかのパーティションに障害がおきた場合でも、もう一方のパーティションに被害が広がらないように管理することです。また、それぞれのパーティションには異なるファイルシステムを使えるので、1つのハードディスクに異なるOSをインストールすることが可能です。
LinuxとWindowsでディスク1を共有


  Windowsとの違い


パーティションの表示
Linuxのパーティションを作成・変更しようとすると、WindowsユーザーにはおなじみのCやDなどのドライブレターの代わりにデバイス「/dev/sda1」、タイプ 「ext4」など見慣れない文字が表示されます。Linuxでは記憶媒体が接続された順番にsda、sdb、sdcと表示し、その中のパーティションはsda1、sda2、sda3と表示されます(ただし、下記の論理パーティションは5から始まる)。例えば、「/dev/sdc2」は3つ目のハードディスクの2つ目のパーティションということになります。Windowsを消さないでLinuxをインストールする場合は、パーティションのタイプが「ntfs」と表示されたWindowsのパーティションを削除しないように注意してください。
パーティションの表示


ファイルシステム
WindowsはNTFSというファイルシステムを使いますが、Linuxは基本的にext4 (ext2とext3は古いフォーマット)を使います。また、後述するスワップ領域に関してはスワップ領域専用のファイルシステムを使います。Windowsと違いOS中で複数のファイルシステムを使えるので、読み書きの多いディレクトリはext4、読み取り専用はext2、Windowsと共通フォルダはFAT32 (USBドライブのフォーマット)とするなど自由に選択できます。


スワップ領域
Windowsの古いパソコンでよく起こる「メモリ不足です」のエラーを防いでくれるのが、このスワップ領域のパーティションです。あらかじめハードディスク上にバーチャルメモリとして使う専用のパーティショを用意することで、使用可能なメモリ容量を増やすことができます。特に搭載している物理メモリが小さい場合は、スムーズな動きに欠かせない重要なパーティションです。


パーティションのサイズ


必要なパーティションのサイズはどのディストリビューションを選択するかなどいくつかの要因で変化するので判断が難しいところです。ルートディレクトリ用のパーティションは各ディストリビューションの動作環境が求める容量以上でなければいけませんが、必要以上に大きくする必要もありません。例えば、Ubuntuでは最低4.5GBが必要とされていますが、追加でソフトをインストールすることを考えて1-2GBぐらいの余裕がある方が望ましいです。

次にスワップ領域のパーティションに関しては、基本的には搭載された物理メモリと同じ容量だけパーティションに割り当てます。メモリが1GB以下の古いパソコンであれば、メモリーの2倍以上の容量を割り当てると、よりスムーズに動作してくれます。搭載しているメモリの容量はWindowsのスタートボタンから「コンピューター」を右クリックして、「プロパティ」を選択すると確認できます。

最後にWindowsのユーザーディレクトリに相当するホームフォルダは残りのディスク容量分でパーティションを作成します。OSの動作には影響しないので他に比べて小さくできますが、使い方次第では一番大きいパーティションになります。

以上がLinuxをカスタムインストールするのに最低限必要な情報です。ルートディレクトリ以下のディレクトリをより細かく個別にパーティションを割り当てる方法もありますが、まずはルートディレクトリとホームディレクトリを分けるところから始めてください。