CodeGym /コース /Docker SELF /セクションのフォーマット: `mkfs`

セクションのフォーマット: `mkfs`

Docker SELF
レベル 6 , レッスン 1
使用可能

セクションのフォーマット: mkfs

1. フォーマット時に何が起こる?

セクションをフォーマットする時、データのための「真っさらなページ」を作成するという感じだよ。フォーマットはセクション内の全ての内容を削除し、新しいファイルシステムを作成する。このシステムはファイルがどのように整理され、どのようにアクセスされるかを決めるものなんだ。

図書館を想像してみて。フォーマットはちょうど古い本を全部片付けて、新しい棚を並べて、それにジャンルのラベルを貼り付けるという感じ。それですべてが整理され、新しい本がどこに置かれるべきかがわかるようになる。

なぜデバイスをフォーマットする必要があるの?

  1. 新しいデバイス(ディスクまたはセクション)の準備: どんなデバイスもフォーマットしないと使えないよ。使い道が決まってないノートの白いページみたいなもので、フォーマットがないと意味がない。
  2. ファイルシステムの変更: 例えば、FAT32からext4に切り替える必要がある場合、フォーマットが必要だよ。
  3. 古いデータの消去: デバイスを完全に消去してゼロから始めたい時には、フォーマットが最適な選択だよ。

重要: フォーマット後、セクション内のすべてのデータが削除されるので、デバイスに重要な情報がないか必ず確認してね。


2. ツール mkfs: シンタックスと使い方

mkfsプログラムはセクションフォーマットのメインツールだよ。広範囲のファイルシステムをサポートしているから、ほぼどんな状況でも使えるんだ。

コマンドの基本シンタックス

mkfs.<ファイルシステムのタイプ> <デバイス>

例えば、/dev/sdb1セクションをext4ファイルシステムにフォーマットするには:

mkfs.ext4 /dev/sdb1

サポートされているファイルシステム

mkfsは多くの一般的なファイルシステムタイプに対応しているよ。いくつか挙げると:

ファイルシステム コマンド 用途
ext4 mkfs.ext4 Linuxの主要なファイルシステム、大きなファイルやディスクをサポート。
xfs mkfs.xfs 高パフォーマンス、大きなファイルやサーバー負荷に最適。
vfat (FAT32) mkfs.vfat Linux、Windows、MacOS間でのデータ共有に便利。
ntfs mkfs.ntfs Windowsとの互換性のため(ただし、Linuxからの編集は時々難しい)。

サポートされているファイルシステムの完全なリストを取得するには、次のコマンドを使用してね:

mkfs -t help

3. 例: ext4でのパーティションフォーマット

パーティションをフォーマットするプロセスをステップバイステップで見ていきましょう。

1. デバイスを確認する

まずフォーマットしたいデバイスの名前を見つけます。コマンドlsblkを使用します:

lsblk

結果にはすべての接続されたデバイスとそのパーティションのリストが表示されます。例えば:

NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0  100G  0 disk 
├─sda1   8:1    0   50G  0 part /
├─sda2   8:2    0   45G  0 part /home
└─sda3   8:3    0    5G  0 part [SWAP]
sdb      8:16   0  200G  0 disk 
└─sdb1   8:17   0  200G  0 part 

例えば、/dev/sdb1のパーティションをフォーマットしたいとします。

2. パーティションがマウントされていないことを確認する

フォーマットを行う前に、デバイスはマウントされていない必要があります。それを確認するために以下を使用します:

sudo umount /dev/sdb1

3. フォーマットを実行する

次に、選択したパーティションにext4ファイルシステムを作成します:

sudo mkfs.ext4 /dev/sdb1

コマンドの出力例は次のようになります:

mke2fs 1.45.7 (28-Jan-2021)
Creating filesystem with 52428800 4k blocks and 13107200 inodes
Filesystem UUID: 5634f623-7b2d-4d6b-b8f5-abcdef123456
Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376, 294912, 819200, ...
注意:

UUIDはファイルシステムのユニークな識別子です。/etc/fstabでマウントポイントを指定するときにこれを使用することをお勧めします。

4. 結果を確認する

ファイルシステムが作成されたことを確認します:

sudo blkid /dev/sdb1

出力結果は、デバイスにext4ファイルシステムがインストールされていることを示します:

/dev/sdb1: UUID="5634f623-7b2d-4d6b-b8f5-abcdef123456" TYPE="ext4"

4. ファイルシステムの選択

どのファイルシステムを選ぶべき? 全ては君の要件次第だよ。いくつかのオススメを紹介するね:

  1. ext4: Linux向けの万能選択。ほとんどのシナリオで適してる。
  2. XFS: 大きなファイルやサーバーで高いパフォーマンスが必要な場合。
  3. FAT32 (vfat): WindowsやMacOSとデバイスを共有したい時。ただし、ファイルの最大サイズは4GBに制限されているので注意。
  4. NTFS: Windowsとの互換性を求める場合。ただし、Linuxでのパフォーマンスはext4に比べて低い場合がある。
学生へのアドバイス:

迷ったら、素直にext4を使おう。それが君を裏切ることはめったにないよ。


5. フォーマット時のよくあるミス

フォーマットは特別な注意が必要なタスク。以下はありがちなミスと、それを避ける方法:

  • 間違ったデバイスをフォーマットする: これを防ぐには、必ずどのデバイスで作業しているかを確認すること。(lsblkblkidが役立つよ)。

  • マウントされたままのデバイス: デバイスがマウントされていると、mkfsコマンドはエラーを出す。デバイスがアンマウントされていることを確認してね。

  • データをうっかり削除する: 分からないままmkfsを実行すると、すべて削除されちゃう。自信がない場合は、フォーマット前にバックアップを取るのが一番!

実践的な使い方

フォーマットについての知識は、システム管理者だけでなく開発者にも重要だよ。例えば、クラウドプラットフォーム(AWSやAzureなど)を使っている場合、アプリ用にセクションを作成してフォーマットすることがよくあるんだ。それから、外付けハードディスクやUSBドライブをデータ保存用に設定したいときにも、これらのスキルが必要だね。

忘れないでね、正しく設定されたファイルシステムはアプリの安定稼働の基盤なんだ。結局のところ、締め切り5分前に"ファイルシステムが見つかりません"のエラーを見たい人なんていないでしょ?

デバイスをフォーマットする方法やファイルシステムを選ぶ方法を理解した今、次のステップに進む準備ができたね。それは、fsckコマンドを使ったファイルシステムのチェックと修復だよ。

コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION