ファイルシステムとは
ハードディスクなどのデータ(セクタ
という区画で分かれている)を人間がわかりやすくするために整理するシステムを
ファイルシステム
と言います。
ファイルシステムはブロック
という単位でデータを管理していてアプリケーションプログラムではブロック単位でデータを扱います。Linuxのファイルシステムでは、「ファイルの中身(データ)」 と「ファイルの属性や管理情報」は別々に保存されており、後者はiノード
と呼ばれる領域で管理されています。
Linuxではのファイルシステムでは、「ファイルの中身(データ)」 と「ファイルの属性や管理情報」は別々に保存されており、後者はiノードと呼ばれる領域で管理されている。iノードはファイルシステム作成時に予め用意されていてファイルやディレクトリを作成するたびに1つずつ使われいく。
ファイルシステムのイメージ
ファイルシステムはそれぞれのデータごとに区切られています。(パーティション)
ファイルシステムの種類
Btrfsファイルシステム
都合上こちらの記事で確認お願いします。
mkfs(ファイルシステム作成コマンド)
パーティションにファイルシステムを作成するコマンドでrootユーザーのみ使えます。
オプションの-t
でファイルシステムの種類を指定し、
-c
で不良のブロックを調査します。
ext2を指定すると「mkfs.ext2」というプログラムが呼び出されます。」
$ mkfs -t ext2 /dev/sdc1
これでext2 というファイルシステムで/dev/sdc1デバイス(パーティション)に
ファイルシステムを作成というコマンドです。
mke2fs(ファイルシステム作成コマンド)
パーティションにファイルシステムを作成するコマンドでext2、ext3、ext4
オプションの-t
でファイルシステムの種類を指定し、-c
で不良のブロックを調査し、
オプションの-j
でext3を作成し、指定しない場合はext2を作成するみたいです。
$ mkefs -t ext4 /dev/sdc1
これでext4 というファイルシステムで/dev/sdc1デバイス(パーティション)に
ファイルシステムを作成というコマンドです。
mkfs.btrfs(ファイルシステム作成コマンド)
Btrfsファイルシステムを作成し、mkfs -t Btrs
コマンドで呼び出されます。
$ mkfs.btrfs /dev/sdc1
/dev/sdc1デバイス(パーティション)にBtrfsファイルシステムを作成というコマンドです。
XFSコマンド
mkfs.xfs | XFSファイルシステムを作成する。 |
---|---|
XFSファイルシステム作成 |
操作コマンド | 説明 |
---|---|
mkfs.xfs | XFSファイルシステムを作成する。 |
xfs_repair | XFSファイルシステムの検査・修復を実行する。 |
xfs_info | XFSファイルシステムの情報を表示する |
xfs_db | XFSファイルシステムのデバックを行う。 |
xfs_check | XFSファイルシステムをチェックする。 |
xfs_admin | XFSファイルシステムのパラメータを変更する。 |
xfs_far | XFSファイルシステムのデフラグを行う |
xfs_fsr | XFSファイルシステムのフラグメンテーションを検査、解消(デフラグ)を実行する。 |
スワップ領域
ハードディスク内の追加スペースのことで、使っていないメモリの内容を一時的にしまっておくための場所です。
mkswap
スワップ領域を作成するコマンドでファイルをスワップ領域として利用できます。
$ mkswap /dev/sdc1
/dev/sdc1デバイス(パーティション)にスワップ領域を作成しろという意味です。
スワップ領域を有効、無効にするコマンド
swapon
スワップ領域を有効にします。
オプションは-S
で有効化されているスワップ領域を一覧表示で
cat /proc/swaps
コマンドでも確認できます。
引数はデバイス名、ファイル名です。
swapoff
スワップ領域を無効にします。
引数はデバイス名、ファイル名です。
ファイルシステムのマウント(mount)
マウント
とはファイルシステムに別のファイルシステムを入れることです。
別のファイルシステムを接続するディレクトリをマウントポイント
と言います。
ファイルシステムを取り外すことをアンマウント
と言います。
mountコマンド
指定したデバイスを指定したマウスポイントにマウントするコマンドです。
まずマウント、アンマウントコマンドはrootユーザーしか使えません。
オプションを指定しないでmountだけの場合はマウント状況確認になります。
オプションの-a
で***/etc/fstabファイルにあるシステムを全てマウントし、-tファイルシステム種類
で
ファイルシステムの種類を指定し、オプションの-o
でマウントオプションを指定****します。
引数はデバイス名、マウスポイントです。
$ mount -t ext2 /dev/sdc1/data
/dev/sdc1/dataにあるext2ファイルシステムをマウントポイント(/data)にマウントするという意味です。
/etc/fstabファイル
/etc/fstabファイルはファイルシステムの情報が記述されています。
この記事に詳細が載ってました。
マウントオプション種類
オプション | 説明 |
---|---|
async | ファイルシステムの入出力を非同期で実行 |
auto | mount -a コマンドの実行時にマウントする |
noauto | mount -a コマンドの実行にマウントしない |
defaults | デフォルトのオプションを設定(async, auto, dev, exec, nouser, rw, suid) |
exec | バイナリの実行を許可 |
noexec | バイナリの実行を禁止 |
ro | 読み取り専用モードでマウント |
rw | 読み書き可能モードでマウント |
unhide | 隠しファイルも表示 |
suid | SUIDとSGIDの有効化 |
user | 一般ユーザーにマウントを許可する |
users | 一般ユーザーにマウントを許可し、マウントを実行していないユーザーにアンマウントを許可 |
nouser | 一般ユーザーのマウントを許可しない |
unmount
指定したデバイスまたはマウスポイントに接続されているデバイスをアンマウントするコマンドです。
ユーザーが利用中はアンマウントできないみたいです。
オプションの-a
で***/etc/fstabファイルにあるシステムを全てアンマウント***し、
-tファイルシステム名
でファイルシステムの種類だけをアンマウントします。
$ unmount /data
マウントポイント/dataにつながるファイルシステムをアンマウントしろというコマンドです。
$ unmount -at btrfs
マウントされている全てのBtrfsファイルシステムをアンマウントするコマンドです。
資料