勉強日記

チラ裏

LPIC あずき本v5.0 ch5 デバイスとLinuxファイルシステム ch5.1

www.shoeisha.co.jp


パーティションファイルシステムの作成

ハードディスク

SATA: Serial ATA

  • 主流・標準搭載
  • IDEよりもデータ転送速度が速い

IDE: Integraded Drive Electronics

  • SATAが出てくる前まで主流だった
  • IDEの標準化がATA: Advanced Technology/Attachment
    • パラレル通信

SAS: Serial Attached SCSI

  • SATAより高速・高信頼性
  • 主にサーバ用途
  • 高価

SCSI: Small Computer System Interface

USB: Universal Serial Bus

  • 必要なときに外付けできて便利

バイスファイル

  • ハードディスク
    • /dev/sda,/dev/sdb,...
  • CD/DVDドライブ
    • /dev/sr0,...
  • テープドライブ
    • /dev/st0,...
  • 大別
  • lsblkコマンド
lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
loop0    7:0    0   3.7M  1 loop /snap/gnome-system-monitor/70
loop1    7:1    0  91.1M  1 loop /snap/core/6531
loop2    7:2    0     4M  1 loop /snap/gnome-calculator/406
loop3    7:3    0 140.7M  1 loop /snap/gnome-3-26-1604/82
loop4    7:4    0   3.7M  1 loop /snap/gnome-system-monitor/57
loop5    7:5    0    13M  1 loop /snap/gnome-characters/139
loop6    7:6    0  1008K  1 loop /snap/gnome-logs/61
loop7    7:7    0  14.8M  1 loop /snap/gnome-characters/206
loop8    7:8    0  53.7M  1 loop /snap/core18/782
loop9    7:9    0  89.3M  1 loop /snap/core/6673
loop10   7:10   0   2.3M  1 loop /snap/gnome-calculator/260
loop11   7:11   0  34.8M  1 loop /snap/gtk-common-themes/1122
loop12   7:12   0 143.5M  1 loop /snap/gnome-3-28-1804/23
loop13   7:13   0   3.7M  1 loop /snap/gnome-system-monitor/77
loop14   7:14   0  1008K  1 loop /snap/gnome-logs/57
loop15   7:15   0  14.5M  1 loop /snap/gnome-logs/45
loop16   7:16   0     4M  1 loop /snap/gnome-calculator/352
loop17   7:17   0  14.8M  1 loop /snap/gnome-characters/254
loop18   7:18   0  35.3M  1 loop /snap/gtk-common-themes/1198
loop19   7:19   0 140.7M  1 loop /snap/gnome-3-26-1604/78
loop20   7:20   0    91M  1 loop /snap/core/6405
loop21   7:21   0  53.7M  1 loop /snap/core18/941
loop22   7:22   0   151M  1 loop /snap/gnome-3-28-1804/31
loop23   7:23   0   151M  1 loop /snap/gnome-3-28-1804/36
sda      8:0    0 238.5G  0 disk 
├─sda1   8:1    0   512M  0 part /boot/efi
└─sda2   8:2    0   238G  0 part /

パーティションの種類

BIOSベースのシステムにおける種類

基本パーティション

  • ディスクに4つまで作れる
    • ディスク/dev/sdaに対して/dev/sda1-/dev/sda4
  • 【補】MBRのうち64バイト(16x4)はこの情報に充てられている
    • 446 + 64 + 2 = 512
  • ファイルシステムを格納する

拡張パーティション

論理パーティション

UEFIベースのシステムでの分類

ESP: EFI System Partition

基本パーティション

  • 1つ以上

パーティションに分割するメリット

  • 障害による被害をパーティション内に限定
  • 空き容量が足りなくなった場合の影響を少なくする
    • ログであふれた場合等

ルートファイルシステム

パーティション管理コマンド

fdiskコマンド

sudo fdisk -l /dev/sda
ディスク /dev/sda: 238.5 GiB, 256060514304 バイト, 500118192 セクタ
単位: セクタ (1 * 512 = 512 バイト)
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスクラベルのタイプ: gpt
ディスク識別子: 0B97E339-7CBE-45E5-B86D-E145F77A3E1F

デバイス   開始位置  最後から    セクタ サイズ タイプ
/dev/sda1      2048   1050623   1048576   512M EFI システム
/dev/sda2   1050624 500117503 499066880   238G Linux ファイルシステ 
sudo fdisk /dev/sda
fdisk (util-linux 2.31.1) へようこそ。
ここで設定した内容は、書き込みコマンドを実行するまでメモリのみに保持されます。
書き込みコマンドを使用する際は、注意して実行してください。


コマンド (m でヘルプ): 

ヘルプ:

  一般
   d   パーティションを削除します
   F   パーティションのない領域を一覧表示します
   l   既知のパーティションタイプを一覧表示します
   n   新しいパーティションを追加します
   p   パーティション情報を表示します
   t   パーティションタイプを変更します
   v   パーティション情報を検証します
   i   パーティションの情報を表示します

  その他
   m   このメニューを表示します
   x   特殊機能に移動します (熟練者向け機能)

  スクリプト
   I   ディスクのレイアウトを sfdisk 互換のスクリプトから読み込みます
   O   ディスクのレイアウトを sfdisk 互換のスクリプトに書き出します

  保存と終了
   w   パーティション情報をディスクに書き込んで終了します
   q   変更点を保存せずに終了します

  新しいラベルを作成します
   g   新しい (何もない) GPT パーティションテーブルを作成します
   G   新しい (何もない) SGI (IRIX) パーティションテーブルを作成します
   o   新しい (何もない) DOS パーティションテーブルを作成します
   s   新しい (何もない) Sun パーティションテーブルを作成します


コマンド (m でヘルプ): 
sudo fdisk -l /swapfile
ディスク /swapfile: 2 GiB, 2147483648 バイト, 4194304 セクタ
単位: セクタ (1 * 512 = 512 バイト)
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
  • マウントポイントでないディレクトリを指定すると怒られる
sudo fdisk -l /
fdisk: / を open できません: ディレクトリです

gdiskコマンド

  • MBRの代わりにGPT: GUID Partition Table使用
    • GUID: Global Unique IDentifier
  • 対話形式
MBR GPT
ハードディスク制限 2GB -
基本パーティション 4個 128
sudo gdisk -l /dev/sda
GPT fdisk (gdisk) version 1.0.3

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with protective MBR; using GPT.
Disk /dev/sda: 500118192 sectors, 238.5 GiB
Model: LITEONIT LCS-256
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): 0B97E339-7CBE-45E5-B86D-E145F77A3E1F
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 500118158
Partitions will be aligned on 2048-sector boundaries
Total free space is 2669 sectors (1.3 MiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048         1050623   512.0 MiB   EF00  EFI System Partition
   2         1050624       500117503   238.0 GiB   8300  
  • やはり対話形式
sudo gdisk /dev/sda
GPT fdisk (gdisk) version 1.0.3

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with protective MBR; using GPT.

Command (? for help): ?
b   back up GPT data to a file
c   change a partition's name
d   delete a partition
i   show detailed information on a partition
l   list known partition types
n   add a new partition
o   create a new empty GUID partition table (GPT)
p   print the partition table
q   quit without saving changes
r   recovery and transformation options (experts only)
s   sort partitions
t   change a partition's type code
v   verify disk
w   write table to disk and exit
x   extra functionality (experts only)
?   print this menu

parted

  • MBR,GPT両対応
    • 対話形式
    • 一括実行形式
  • 即座に反映

ファイルシステムの作成

  • ファイルシステム
    • パーティションの上にこれを作成してはじめてファイルを保存できる
    • 「セクタ」「ブロック」等の概念を隠蔽し、ファイルパスとして提供する
  • 構成
    • ファイルの中身
    • iノード(Indexノード)
      • ファイルの属性
      • 管理データ

ファイルシステムの種類

mkfsコマンド

MKFS(8)                 System Administration                 MKFS(8)

NAME
       mkfs - build a Linux filesystem

SYNOPSIS
       mkfs [options] [-t type] [fs-options] device [size]
ファイルシステム mkfsコマンドの-tに渡すやつ プログラム
ext2 ext2 mkfs.ext2
ext3 ext3 mkfs.ext3
ext4 ext4 mkfs.ext4
XFS xfs mkfs.xfs
VFAT vfat mkfs.vfat
exFAT exfat mkfs.exfat
Btrfs btrfs mkfs.btrfs

mke2fsコマンド

mkfs.btrfsコマンド

mkfs.btrfs /dev/sdb1 /dev/sdb2

mkswapコマンド

mkswap /dev/sda6