パーティションは切れた
次に mkfs するとき、ext4・XFS・Btrfs・VFAT と種類が多くて迷う
【疑問】mkfs.ext4 と mkfs.xfs、どれで作ればええん?ext4・XFS・VFAT・exFAT・Btrfs とスワップの作り方【LPICレベル1】
前提のおさらい。順番はパーティションを切る → mkfs でファイルシステムを作る → マウントする。mkfs はその場所の中身を消す
>>1
作るコマンドは mkfs.種類 か mkfs -t 種類。中身を消してもええ普通のファイルに作って試した(ディスクの代わり)
>>3
ext4:mkfs.ext4 -L data ファイル
Linux でいちばん普通に使われる。ジャーナルあり
64MiB の小さいファイルに作ったら 1k のブロックで、inode は16384個。3MB 以上512MB 未満は /etc/mke2fs.conf の small の設定(blocksize = 1024、inode_ratio = 4096)が使われる(mke2fs の man)
>>3
XFS:mkfs.xfs -L xdata ファイル
大きなファイルや並行した書き込みに強い。Red Hat 系の既定
64MiB に作ろうとしたら Filesystem must be larger than 300MB. で断られた。320MiB なら作れた
>>5
XFS は小さくできへん(縮められない)のも特徴。広げるのは xfs_growfs
>>3
USB メモリみたいに Windows や Mac とも使うものは?
>>7
VFAT(FAT32):mkfs.vfat -n USB ファイル。どこでも読めるけど、1つのファイルは4GiB 未満、所有者や権限を持てない
exFAT:大きなファイルも置ける。mkfs.exfat は exfatprogs パッケージのもので、試した環境には入ってなかった
>>3
Btrfs は?
>>9mkfs.btrfs -L bdata ファイル。コピーオンライトで、サブボリューム・スナップショット・圧縮・複数のデバイスを1つにまとめる機能を持つ
1台で作ったら、表示に Metadata: DUP(管理情報を2重に持つ)と出た。複数のデバイスなら mkfs.btrfs -d raid1 -m raid1 /dev/sdb /dev/sdc のように指定できて、man によると複数のときのメタデータの既定は raid1
>>10
サブボリュームは、マウントしたあとに btrfs subvolume create /mnt/data/sub1 で作る。スナップショットは btrfs subvolume snapshot。圧縮はマウントのオプション compress=zstd など(種類を書かないと zlib)
>>2
スワップは mkfs じゃないんよな
>>12mkswap で準備して swapon で使い始める(swapon はシステムに効くから試してない)。ファイルで作ったら警告が2つ出たinsecure permissions 0644, fix with: chmod 0600 → 他の人に読めない権限にするcontains holes → truncate で作った穴あきのファイルは使えないことがある。dd などで中身を埋めて作る
>>3
作ったあと種類を確かめるのは?
>>14blkid ファイル で TYPE・LABEL・UUID が出る。試したら ext4・xfs・vfat・btrfs・swap が全部見分けられた。VFAT の UUID だけ 51A2-A58E のような短い形やった
>>3
普段は ext4 か XFS、他の OS と共有するなら VFAT か exFAT、スナップショットが欲しいなら Btrfs、スワップは mkswap。用途で選ぶわ
管理人のひとこと
- 作成は
mkfs.種類かmkfs -t 種類。ext4(mkfs.ext4、ジャーナル、Linux で一般的)、XFS(mkfs.xfs、大きなファイルに強い、300MB より大きい必要がある、縮小できず xfs_growfs で拡張)。 - VFAT(mkfs.vfat、どの OS でも読める、1ファイル4GiB 未満、権限なし)、exFAT(mkfs.exfat、exfatprogs)。
- Btrfs(mkfs.btrfs):コピーオンライト、サブボリューム(btrfs subvolume create)とスナップショット、compress マウントオプション、複数デバイス(-d・-m で raid1 など)。
- スワップは mkswap で準備して swapon で有効化。スワップファイルは権限 0600 で、穴のないファイルにする。種類は blkid で確かめる。