株式会社ラクス  ITエンジニア総合支援サイト スタックアスタリスク フルマネージド専用サーバー エクスユニット
ITエンジニアとして 知る 学ぶ
 
Java
.NET
PHP
プログラミング一般
DataBase
システム/サーバ構築
システム/サーバ運用
技術系一般知識
 
 
IT技術情報>技術系一般知識>Linux資格 LPICを受けようLV1第4回:デバイス、ファイルシステム、FHS編
【連載 】Linux資格 LPICを受けようLV1

第4回:デバイス、ファイルシステム、FHS編

 
今回は、デバイス、ファイルシステム、FHSについて解説していきます。
このセクションはHDDをシステムに追加する時に行う動作や、ユーザの管理といったシステム管理の内容になります。どの時にどのコマンドを使うのか、各種設定ファイルには何が必要なのかを抑えておきましょう。

水本 敦士
株式会社アイティーブースト
2004/12/27
 

【 目次 】
1.はじめに
2.ファイルシステム
2.1 ハードディスクの追加
2.2 デバイスファイル
2.3 パーティションの設定(fdisk)
2.4 フォーマット
2.5 ファイルシステムのマウント・アンマウント
3.ファイルシステムのメンテナンス
3.1 ディスクの使用状況の確認
3.2 ファイルシステムエラー
4.ファイルの属性
4.1 パーミッション
4.2 パーミッションの変更(chmod)
4.3 特殊なパーミッション
4.4 デフォルトパーミッションの設定 (umask)
4.5 ユーザとグループ
5. ディスククォータ
5.1 はじめに
5.2 quotaのセットアップ
5.3 quota制限の設定
5.4 quota設定の確認
6.問題
7.解答と解説

 

1.はじめに


 この「デバイス、ファイルシステム、FHS」では、LinuxからHDDやCD-ROMといった記憶装置を扱う場合について、出題されます。また、デバイスに関する話だけでなく、ユーザ管理のコマンドも出てきますので、しっかりと把握しておいてください。

2.ファイルシステム


2.1 ハードディスクの追加


 Linuxでハードディスク(以後HDD)を使用するには以下の作業手順を踏む必要があります。

(1)『パーティショニング』
(2)『フォーマット』
(3)『マウント』

 これらの作業はどのようにして行っていくのかについて、以降で説明していきます。

2.1.1 パーティショニング

 HDDの領域を用途毎に分割する作業をパーティショニング(パーティションの設定)といいます。HDDには収めることのできるデータ量やファイルの数に制限があり、データが一杯になるとファイルの新規作成や、データの書き込みができなくなるため、その領域での作業に支障が出てきます。しかし、データ領域を分割することで、あるディスク容量が溢れても、他の領域には無関係にできます。また、ツールによってはパーティション単位でしか機能しないものもあるため、パーティションを分割したほうが効率的な場合もあります。

 PC/AT互換機で使うHDDは区画する領域の種類として以下の領域があります。

 ・『基本領域』
 ・『拡張領域』

 一つのHDDで『基本領域』と『拡張領域』を合わせて4つまでパーティションを作成することができます。但し、『拡張領域』は1つの物理ディスクに1つしか作れません。しかし、『拡張領域』はさらに『論理領域』に分けられるので、実際は『基本領域』と『拡張領域内の論理領域』を利用して、5つ以上のパーティションに分割できます(拡張領域は論理領域を格納する器に過ぎません。そのため拡張領域には必ず論理領域を設定しなければなりません)。

 また、IDE接続のHDDとSCSI接続のHDDとでは、最大作成できるパーティション数が異なります。
 IDE・・・63個
 SCSI・・・15個
 
  Linuxを使用する場合、最低限HDD上に用意しなければならない領域が2つあります。データを保存するための"/"領域と、仮想メモリの役割を果たす"swap"領域です。
図 2 1 HDDの区画と領域の種類

2.1.2 フォーマット(ファイルシステムの構築)

 HDDやフロッピーディスクはそのままではただの磁気を帯びた円盤です。データを記録し、管理していくためにはファイルシステムを構築する必要があります。事実、HDD上には"0"或いは"1"に相当するデータが収められているだけなのですが、あるファイルのデータがHDDのどこに記録されているのか新規作成したデータはどこに書き込めばいいのかを管理する仕組み、データをツリー構造に整理して記憶させる仕組み、メタデータ(ファイルの所有者や更新時刻など)を記録する仕組みなどを準備するためにはファイルシステムを構築する必要があります。この作業がフォーマットになります。

2.1.3 マウント

 Linuxのファイルシステム構造は "/" ディレクトリを頂点としたツリー構造になっています。Windowsの場合、それぞれのパーティションはファイル構造的にも別のものとして考えますが、Linuxの場合、パーティションを切ってディスクのデータ領域を分割したとしても、それぞれの領域をこのツリー構造に統合して利用する必要があります。この作業を『マウント』といいます。 Linux上ではHDDだけでなく、フロッピーディスク、CDROMなどを使用する場合も "/" を頂点としたファイル構造に割り当てて使用します。このようにマウントしてLinuxのファイルシステムに記憶メディアを組み込むことで、HDDだけでなく、フロッピーやCDROMなど、様々な記憶媒体を使用できるようになります。また、ローカルに接続されているメディアだけでなくネットワーク上に存在する共有ディスクもマウントすることもできます ただし、スワップ領域は通常のデータを保存する領域とは別であるため、マウントは必要ありません。

2.2 デバイスファイル

  Linuxでは周辺機器をファイルとして扱います。/dev ディレクトリの下にはデバイスファイルと言われるファイルが存在しています。例えばIDEのプライマリマスタに接続されたHDDを使用する場合、作成した領域は /dev/hda1/dev/hda2… というファイル名で認識されます。 また、/dev/hda4 までは基本領域、或いは拡張領域のために予約されていて、『論理領域』のファイル名は必ず、/dev/hda5 から番号が振られます。 主なデバイスファイルを以下に挙げます。

表 2 1 主なデバイスファイル
ファイル 説  明
/dev/hda IDE(ATA)ディスクドライブ。hdaのaはプライマリマスタに接続されたディスク全体或いはMBRを表します。
/dev/hda1 /dev/hdaで表されるHDDの1番目のパーティションを表します。(上記と比較して下さい)
/dev/sda1 SCSIディスクドライブの1番目のパーティション。"a1"の部分はIDEと同じ形式です。
/dev/fd0 フロッピーディスク
/dev/cdrom CDROM (/dev/hdcなどのシンボリックリンクです。)


2.3 パーティションの設定(fdisk)


 "fdisk"はHDDの増設をするときなどに必要になるコマンドで、パーティションを設定するために使用します。"fdisk"は引数にデバイスファイル( /dev/??? )を取って起動させます。

# fdisk /dev/hda

このディスクのシリンダ数は 2534 に設定されています。
間違いではないのですが、1024 を超えているため、以下の場合
に問題を生じうる事を確認しましょう:
1) ブート時に実行するソフトウェア (例. バージョンが古い LILO)
2) 別の OS のブートやパーティション作成ソフト
(例. DOS FDISK, OS/2 FDISK) コマンド (m でヘルプ):  ←このプロンプトにfdiskのコマンドを入力していきます。

 以下にfdiskで使用するコマンドの一覧を上げます。

表2.2 fdiskコマンド
コマンド 説明
a ブート可能フラグをつける
b bsd ディスクラベルを編集する
c dos 互換フラグをつける
d 領域を削除する
l 既知の領域タイプをリスト表示する
m このメニューを表示する
n 新たに領域を作成する
o 新たに空の DOS 領域テーブルを作成する
p 領域テーブルを表示する
q 変更を保存せずに終了する
s 空の Sun ディスクラベルを作成する
t 領域のシステム ID を変更する
u 表示/項目ユニットを変更する
v 領域テーブルを照合する
w テーブルをディスクに書き込み、終了する
x 特別な機能 (エキスパート専用)

2.4 フォーマット


 ディスクを使用するには"fdisk"で領域を確保した後にフォーマットして、ファイルシステムを構築する必要があります。

2.4.1 mkfs

  "mkfs "コマンドでパーティションのフォーマットができます。また、Linuxのext2、ext3ファイルシステムに特化した" mke2fs "コマンドも存在します。

書式
 mke2fs [options] デバイスファイル

表2.3 mkfsオプション
オプション 説明
-t 作成するファイルシステムのタイプを指定する。指定されなかった場合はデフォルトのファイルシステムタイプ(現在は ext2)が用いられる
-c ファイルシステムを作成する前に、デバイスに対して不良ブロックの検査を行う。
   

 mkfsはただのラッパーツールにしかすぎません。-tでファイルシステムタイプを指定すると、そのタイプに応じたツールが呼出されてフォーマットを行うようになります。

2.4.2 ext3ファイルシステム

 ext3はext2に、ジャーナリングの機能を付加したファイルシステムです。そのため、ext2に比べ堅牢なファイルシステムだといえます。またこのジャーナリング機能を備えたファイルシステムにはReiserFSなどもあります。ext3はRedHatLinux7.2よりサポートされています。このファイルシステムを使用する場合は普通に"fdisk"でLinux nativeの領域を採ったあと"mkfs"を使用してext3タイプでフォーマットするか、或いは"mke2fs"コマンドを利用して実行します。

 # mkfs -t ext3 /dev/hda2

or

 # mke2fs -j /dev/hda2

 ジャーナリングファイルシステムとはHDDに書き込み操作を行う場合には、ジャーナルと呼ばれるトランザクション(一連の処理)の履歴を記録してから、実際の書き込みを行う仕組みです。もし、ディスクへのデータ書き込み途中などに電源断などの障害が起こった場合には、システム再起動後、ジャーナルの記録を参照し、未処理のディスク書き込みを行うか、書き込み前の状態にディスク状態を戻します。つまり、データは『全て書き込まれる』か『全て書き込まれない』状態のいずれかにしかならないようにして、データの保全性を高めています。
 ext3はext2にジャーナル機能を付加したファイルシステムである為、簡単にext2からext3に変換をすることができます。変換するには"tune2fs"コマンドを利用します。

 # tune2fs -j /dev/hda2

2.4.3 swapファイル

  Linuxで使用するスワップ領域をシステム構築後拡張したい場合などは、以下のようにしてスワップ領域を作成することができます。

(1)スワップ領域を取れる場合
 HDD領域に使用していない領域がある場合は"fdisk"でパーティションの設定をした後、"mkswap"コマンドを引数にパーティションのデバイスファイルを取って実行し、スワップ領域としてのフォーマットをします。

 # mkswap /dev/sda10

また、フォーマットしたスワップ領域を使い始めるには"swapon"コマンドを使用します。

 # swapon /dev/sda10

 /etc/fstab  を 設定しておけば、システム起動時に自動的に"swapon"が実行されてスワップ領域として利用できるようになります。

(2)スワップ領域を取れない場合
 HDD領域に使用していない領域がない場合、パーティションとしてではなく、ファイルとしてスワップ領域を作成できます。ただし、スワップファイルは領域の不連続があってはいけないため、"dd"で作成したファイルを使用するほうが無難です。以下の場合では /dev/zero ファイルを利用して、null文字で満たした、1024 [byte/block] × 8192[block] = 8[Mbyte] のスワップファイルswapfileを作成しています。

# dd if=/dev/zero of=swapfile bs=1024 count=8192
# mkswap swapfile
# sync
# swapon swapfile


>>次のページへ

【 ページ 】 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
 

サイト内全文検索
スタックアスタリスクのサイトを検索します。検索には、Googleを利用しています。そのため、最新の情報で検索されない可能性があります。


簡単レンタルメールフォーム
300メガ1000円〜 XBitのレンタルサーバー
500メガ1995円〜 電話サポート/PostgreSQL/専用SSLなどにも対応!お客様のニーズを網羅したレンタルサーバ
ホームページ制作のアシストウェブ
STACK* 執筆の講師陣から習得する!! ITエンジニアスクール アイティブースト
統合メールサポートシステム 〜MailDealer(メールディーラー)〜
システム開発,IT教育 〜株式会社アイティーブースト(ITBoost)〜
簡単 営業支援/顧客管理ツール Easy Sales
  利用規約 お問い合わせ・ご意見 スタックアスタリスクについて 運営会社について 
  レンタルサーバー ホスティング 専用サーバー メールフォーム ショッピングカート メール共有 ITエンジニア派遣 Linux講座 Java講座 メール配信 レンタルサーバー Webデータベース 検索サービス
CopyrightcRAKUS Co.,Ltd. All Rights Reserved.  メール管理・共有 顧客管理(CRM)もできるメール対応サポートシステム JAVA LINUX CISCO 技術者派遣 育成事業 株式会社ラクス