0
2

More than 1 year has passed since last update.

Linuxのファイルシステムについて

Posted at

ファイルシステムとは

ハードディスクなどのデータ(セクタという区画で分かれている)を人間がわかりやすくするために整理するシステム
ファイルシステムと言います。
ファイルシステムはブロックという単位でデータを管理していてアプリケーションプログラムではブロック単位でデータを扱います。Linuxのファイルシステムでは、「ファイルの中身(データ)」 と「ファイルの属性や管理情報」は別々に保存されており、後者はiノードと呼ばれる領域で管理されています。

Linuxではのファイルシステムでは、「ファイルの中身(データ)」 と「ファイルの属性や管理情報」は別々に保存されており、後者はiノードと呼ばれる領域で管理されている。iノードはファイルシステム作成時に予め用意されていてファイルやディレクトリを作成するたびに1つずつ使われいく。

ファイルシステムのイメージ

ファイルシステムはそれぞれのデータごとに区切られています。(パーティション)

ファイルシステムの種類

スクリーンショット 2022-06-30 18.29.30.png

引用 https://qiita.com/kakkie/items/768fa330f1e1832b702c

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ファイルシステムのフラグメンテーションを検査、解消(デフラグ)を実行する。

引用  https://www.ricecake24book.com/linux-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 一般ユーザーのマウントを許可しない

引用 https://qiita.com/kakkie/items/768fa330f1e1832b702c

unmount

指定したデバイスまたはマウスポイントに接続されているデバイスをアンマウントするコマンドです。
ユーザーが利用中はアンマウントできないみたいです。
オプションの-aで***/etc/fstabファイルにあるシステムを全てアンマウント***し、
-tファイルシステム名でファイルシステムの種類だけをアンマウントします。

$ unmount /data

マウントポイント/dataにつながるファイルシステムをアンマウントしろというコマンドです。

$ unmount -at btrfs

マウントされている全てのBtrfsファイルシステムをアンマウントするコマンドです。

資料

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2