不惑にしてまだ何者でもない者のブログ

Arduino関連、Raspberry Pi関連、プログラミング学習

LinuCレベル1取得に向け勉強中:第5章

2020-10-05 00:13:32 | LinuC
LinuCレベル1取得に向けた勉強の続き。
今日は、5章「ハードウェア、パーティション、ファイルシステム」を実践。

 

ハードウェア

デバイスファイル

  • /dev/sd*:外部記憶装置(HDD,SSD,USBメモリなど)
  • /dev/{sr0,cdrom}:リムーバブルメディア用ドライブ

/proc/ディレクトリ

  • /proc/cpuinfo:CPUに関する情報
  • /proc/meminfo:メモリに関する情報

/sys/ディレクトリ

  • /sys/kernel:カーネルに関する情報
  • /sys/block:ブロックデバイスに関する情報
  • /sys/block/sdf/device/model:ディスクのモデル名の表示

カーネルモジュールの操作

  • lsmod:読み込まれているカーネルモジュールを一覧表示
  • insmod ファイル:カーネルモジュールを読み込み、有効にする
  • rmmod モジュール名:カーネルモジュールを削除し、無効にする
  • modprobe [オプション] モジュール名:カーネルモジュールを読み込む、または削除する。依存関係のあるモジュールも操作対象とする。
  • modinfo モジュール名:指定したカーネルモジュールの情報を表示

PCIデバイスとUSBデバイスの操作

  • lspci [オプション]:認識しているPCIデバイスの一覧を表示する
  • lsusb [オプション]:認識しているUSBデバイスの一覧を表示する

HDD/SSDのレイアウトとパーティション

パーティション管理方式




管理方式名特徴管理コマンド
MBR
  • 古くから利用されている管理方式で、BIOS環境、UEFI環境のどちらでも利用可
  • 最大パーティションサイズに制約あり(約2.2TB)
  • パーティション数に制約あり(4パーティション)
partd
fdisk
GPT
  • MBRより新しい管理方式で、UEFI環境で利用
  • 64bit環境必須
  • 最大パーティション数(8ZiB)やパーティション数(128)に実質制限がない
partd
gdisk


OS起動時の流れ

コマンド

  • uname [オプション]:稼働中のカーネルやハードウェアアーキテクチャに関する情報を出力
  • df [オプション] [デバイスファイル/マウントポイント]:ファイルシステムの使用/空き領域サイズを表示

BIOSの場合

  • /boot/vmlinuz*を検索して起動する。

UEFIの場合

  • ディスク内のESP(EFI System Partition)に格納されているブートローダーを起動する。
    /boot/efi

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

  • fdisk [オプション] デバイスファイル:MBRパーティションを構成する
    • p:パーティションの表示
    • n:パーティションの作成
    • d:パーティションの削除
    • w:設定情報を書き込み終了
    • q:設定情報を書き込まず終了
    • m:ヘルプの表示

partedコマンド(GPT)

  • parted [オプション] [デバイスファイル]:MBRパーティションもしくはGPTパーティションを構成する
    • mklabel:パーティション管理方式。msdos:MBR形式(既定)、gpt:GPT形式を指定
    • mkpart:パーティションの作成
    • rm:パーティションの削除
    • print:パーティションの表示
    • quit:partedの終了。構成した内容を反映。
  • gdisk [オプション] [デバイスファイル]:GPTパーティションを構成する

LVM

  • CentOS7のルートパーティションは既定でLVM(Logical Volume Manager)によって構成されている。

ファイルシステムの作成/管理/マウント

ファイルシステムの作成

  • ext2:Linuxで標準的に使われていたファイルシステム
  • ext3:ext2にジャーナリング機能を追加したファイルシステム
  • ext4:Debian 10の既定ファイルシステム。ext3の最大ファイルシステムサイズの制約などを改良
  • XFS:CentOS 7の既定ファイルシステム。高性能なジャーナリングファイルシステムで、ディスクI/Oの高速化するための機能も実装
  • Btrfs:スナップショット機能や複数デバイスを扱う機能を有するファイルシステム
  • VFAT:Windowsで利用されているファイルシステム。さまざまなOSで利用可能。Linuxの標準パーティションなど設定できないファイル属性がある
  • NTFS:Windowsで利用されているファイルシステム。Linux環境では読み取り専用で利用するなどの制約がある。
  • ISO9660:CDやDVDなどのメディアで利用されるファイルシステム
  • tmpfs:メモリ上に作成されるファイルシステム
ファイルシステム作成コマンド
  • mkfs [オプション] デバイスファイル:ファイルシステムを作成する

スワップ領域の利用

  • mkswap [オプション] デバイスファイル:スワップ領域を作成する
  • swapon [オプション] [デバイスファイル]:スワップ領域の状態を確認、もしくは有効化する
  • swapoff [オプション] [デバイスファイル]:スワップ領域の状態を確認、もしくは無効化する

マウントの実行

  • mount [オプション] [デバイスファイル/ラベル/UUID] [マウントポイント]:マウントを実行、もしくは状態を確認
  • umount [オプション] [デバイスファイル] [マウントポイント]:マウントした領域をマウント解除(アンマウント)する
  • tune2fs [オプション] デバイスファイル:ext2/ext3/ext4ファイルシステムの属性を変更、表示
  • xfs_admin [オプション] デバイスファイル:XFSファイルシステムの属性を変更、表示
  • マウントした領域を確認する方法
    • df -h -T
    • mount
    • cat /proc/mounts
    • cat /etc/mtab

/etc/fstabファイル

  • 次回システム起動時も有効なマウント情報を構成した場合は、/etc/fstabにマウント情報を記述する。

リムーバブルメディアのマウント

  • GUI環境だと、マウント処理は自動で行われる。
  • CUI環境だと、mountコマンドでマウントを行う。
    • mount -t iso9660 -o ro /dev/sr0 /medit

感想

この辺りは、結構難しい内容だから、後で見直す必要があるな。