LPIC-1 試験勉強メモ その 3

LPIC-1 試験勉強メモ その 3

FHS (File Hierarchy Standard)

基本フォルダ

フォルダサイズが肥大化するディレクトリについては、独立したパーティションに分割することを検討することが推奨される。

フォルダ名説明独立パーティション
/ファイルシステムの頂点にあたるディレクトリ
/bin一般ユーザー、管理者が使用するコマンドを配置×
/devデバイスファイルを配置。起動時に接続されているデバイスを作成×
/etcシステム管理用の設定ファイルや各種ソフトウェアの設定ファイルを配置×
/lib/bin や /sbin に置かれたコマンドやプログラムが利用する共有ライブラリを配置×
/lib6464 bit 用の共有ライブラリを配置×
/mediaCD や DVD などのデータが配置×
/optLinux インストール後、追加でインストールしたパッケージが配置
/procカーネルやプロセスが保持する情報を配置する仮想ファイル
/rootroot ユーザーのホームディレクトリ
/sbin主にシステム管理者が使用するコマンドを配置×
/tmpアプリやユーザーが利用する一時ファイルを配置
/varシステム運用中にサイズが変化するファイルを配置
/var/logシステムやアプリケーションのログファイルを配置
/bootシステム起動時に必要なブートローダーやカーネルイメージを配置
/usrユーザーが共有するデータを配置、ユーティリティ、ライブラリ、コマンド
/usr/bin一般ユーザー、管理者が使用するコマンドを配置
/usr/lib各コマンドが利用するライブラリ
/usr/localLinux インストール後、追加でインストールしたパッケージ
/usr/sbinシステム管理者が実行するコマンド
/homeユーザーのホームディレクトリ

LVM (Logical Volume Manage)

ストレージデバイスを論理的に扱う仕組み。

略称名称説明
PV物理ボリュームPE の集合を保持するボリューム。ディスクパーティション、ディスク、ファイル、メタデバイスから初期化する
PE物理エクステントLV に割り当てられる単位。PE サイズは VG 作成時に決める
VGボリュームグループPV と LV を含む。PV の集合から任意のサイズの LV を作成できる
LV論理ボリュームVG から作成される、パーティションの制約を受けないボリューム。LV 常にファイルシステムを作成する

pvcreate コマンド

ハードディスクのパーティションを作成する。

論理ボリュームのスナップショット

実行時の元データを取得し、その後は増分データのみ取得する。元データへの参照のみ行う。

主なログファイル

  • /var/log/messages:主要なシステムログが格納される
  • /var/log/dmesg:起動時にカーネウrより出力されるメッセージログ。ハードウェアや起動シーケンスを含む
  • /var/log/cron:スケジューリングサービスを提供する cron の履歴情報

デバイスファイル

ポートの若番号から a, b, c とサフィックスがつく。 ディスク内のパーティション順に 1 から番号が割り当てられる。 SATA ポートや SCSI エミュレーションは lsscsilshw で表示できる。

MBR (Master Boot Record)

  • 基本パーティション:1 つ以上作成、4 つまで作れる
  • 拡張パーティション:基本のうち 1 つだけ可能、論理パーティションを作れる
  • 論理パーティション:拡張パーティション中に作るパーティション。番号は 5 以降で採番される

ハードディスクのファイルシステム作成手順

  1. ハードディスクをマシンに接続する
  2. 追加したハーディスクのデバイスファイルが作成されていることを確認する
  3. パーティション分けの検討
  4. ハードディスクにパーティションを作成する (fdisk)
  5. パーティションにファイルシステムを作成する (mkfs, mke2fs)
  6. ファイルシステムをディレクトリツリーにマウントする (mount)

fdisk コマンド

パーティションの作成、削除、変更、表示が可能。

fdisk [オプション] デバイスファイル名

  • -l:作成済みパーティションテーブルを表示
  • -d:領域を削除
  • -m:利用可能なメニューの表示
  • -n:新規パーティションの作成
  • -p:パーティションテーブルの表示
  • -q:変更をせずに終了
  • -t:パーティションのタイプを変更
  • -w:テーブルをディスクに書き込み、終了

parted コマンド

パーティションテーブルを作成したり、操作する。

parted [オプション] デバイス名

GPT (GUID Partition Table)

EFI の機能の 1 つ。

gdisk コマンド

GPT 用の fdisk と同等のコマンド。

gdisk [オプション] デバイス名

gparted コマンド

GPT 用の parted と同等のコマンド。

ファイルシステム

df コマンド

ファイルシステムの使用状況を表示する。

df [オプション] [デバイスファイル名 | ディレクトリ名]

  • -k:キロバイト単位で表示する
  • -h:容量に合わせた適切な単位で表示する
  • -i:i ノードの使用状況をリスト表示する
表示情報の説明
  • FileSystem:ファイルシステム
  • iNodes:総 i ノード数
  • Iused:使用済み i ノード数
  • IFree:使用可能 i ノード数
  • IUse%:使用率
  • マウント位置:マウント先

du コマンド

ファイル、ディレクトリの使用量を表示する。

du [オプション] [ディレクトリ名 | ファイル名]

  • -a:ディレクトリだけでなく、すべてのファイルについて容量を表示する
  • -h:容量に合わせた適切な単位で表示する
  • -s:指定されたファイル、ディレクトリの使用量の総和を表示する
  • -S:サブディレクトリの使用量を含めずに、個々のディレクトリ使用量を表示する

ファイルシステムの種類

ファイルシステム最大ファイルサイズファイルシステムサイズ特徴
ext22 TB32 TB可変ブロックサイズ、作成/編集/追記時刻を記録、i ノード管理、ブロックグループ
ext32 TB32 TB可変ブロックサイズ、作成/編集/追記時刻を記録、i ノード管理、ブロックグループ
ext416 TB1 EBextent の採用、ナノ秒単位のタイムスタンプ、デフラグ機能
ファイルシステム特徴
reiserfsジャーナル機能を持つ。ディスクの使用効率がよくクラッシュから高速な回復機能がある。i ノードの動的割り当てをサポート
xfsジャーナル機能を持つ。巨大なファイルを容易に扱える。i ノードの動的割り当てをサポート
jfsジャーナル機能を持つ。巨大なファイルを容易に扱える。i ノードの動的割り当てをサポート
vfatWindows と Linux の両方で読み書き可能なファイルシステム
exfatvfat の拡張。最大ファイルサイズ (16 EiB) 対応
btrfsB-tree の木構造、データ領域割り当てにエクステントを採用。複数ディスクパーティションから 1 つのファイルシステムを構成できる
NTFSWindows NT 系標準ファイルシステム

ジャーナル機能

ファイルシステムのデータ更新を記録する機能。 不意な電源弾が起きても修正できる。

i ノード管理

メタデータを格納するファイルシステム構成の 1 つ。 ファイル詳細情報やデータが格納されているポインタが格納される。

  • ファイル
    • ファイル名
    • i ノード
    • データブロック

mkfs コマンド

ファイルシステムを作成する。

mkfs -t ファイルシステムタイプ デバイスファイル名

  • -t:ファイルシステムタイプを指定する。指定しない時は ext2 となる
  • -j:ジャーナル機能を有効化する。指定するとデフォルトが ext3 となる

mke2fs コマンド

ファイルシステムを作成する。

mke2fs [オプション] デバイスファイル名

  • -j:ジャーナル機能を有効化する。指定するとデフォルトが ext3 となる。

xfs 関連コマンド

  • mkfs -t xfs:ファイルシステムを作成する
  • xfs_info:指定したファイルシステムに関する情報を表示する
  • xfs_repair:xfs ファイルシステムの修復をする。調査のみする場合は -n オプションを付与する
  • xfs_fsr:マウントしてる xfs ファイルシステムのデフラグを行う
  • xfs_db:xfs ファイルシステムのデバッグを行う

予約ブロック

スーパーユーザーしか書き込めない予約領域。 デフォルトではディスク全体の 5% のサイズ。

mkswap コマンド

デバイス上またはファイル上に確保されたスワップ領域の初期化をする。

mkswap [オプション] [デバイスファイル名 | ファイル名]

  • -C:不良ブロックのチェックを行う
  • -L:ラベルを指定し、そのラベルで swapon できるようにする
  • -v0:古い形式のスワップ領域を初期化する
  • -v1:新しい形式のスワップ領域を初期化する
  • -m:予約ブロックの比率を指定する

swapon コマンド

ファイルのスワップ領域を有効化する。

swapon [オプション] [デバイスファイル名 | ファイル名]

  • -a:/etc/fstab 内で swap マークが付いているデバイスをすべて有効化する
  • -L:指定したラベルのパーティションを有効化する
  • -s:スワップの使用状況をデバイスごとに表示する

swapoff コマンド

ファイルのスワップ領域を無効化する。

swapoff [オプション] [デバイスファイル名 | ファイル名]

  • -a:/proc/swaps または /etc/fstab 内でスワップデバイスやファイルのスワップ領域を無効化する

tune2fs コマンド

ext2、ext3、ext4 のパラメータを適切な値に変更する。

tune2fs [オプション] デバイスファイル名

  • -c 回数:マウント数が指定回数を超えると、次回ブート時にファイルシステムをチェックする
  • -i [d|m|w]:ファイルシステムをチェックする最大時間間隔を設定する
  • -j:ext3 ジャーナルをファイルシステムに追加する
  • -l:ファイルシステムのスーパーブロックの内容を表示する
  • -L:ボリュームラベルを設定する
  • -m 予約ブロック比率:予約ブロックの比率を % で指定する
  • -o 追加機能:追加する機能を指定する。^ をつけると機能を削除する

dumpe2fs コマンド

ファイルシステムの詳細情報を表示する。

dumpe2fs [オプション] デバイスファイル名

  • -b:不良ブロックとして扱われているブロックを表示する
  • -h:スーポーブロックの情報だけを表示する

fsck コマンド

ファイルシステムの不整合をチェックし、必要であれば修正する。 fsck コマンド実行時はファイルシステムをアンマウントする。

fsck [オプション] [デバイスファイル名]

  • -t:チェックするファイルシステムのタイプを指定する
  • -s:fsck の動作を逐次的にする
  • -A:/etc/fstab に記載されているファイルシステムをすべてチェックする

e2fsck コマンド

fsck と同様に ext 系のチェックをする。

e2fsck [オプション] デバイスファイル名

  • -p:軽微なエラーは尋ねることなく自動修正する
  • -a:軽微なエラーは尋ねることなく自動修正する
  • -n:fsck の質問についてすべて no と答える
  • -y:fsck の質問についてすべて yes と答える
  • -r:検知したエラーに対して yes/no を質問することで対話的に修復する

debugfs コマンド

ext2、ext3、ext4 の対話的デバッガツール。

debugfs [オプション] [デバイスファイル名]

  • -w:ファイルシステムを読み書き可能なモードでオープンする
  • -f コマンドファイル:コマンドファイルからコマンドを読み込み、実行させる
    • stat filespec:指定した i ノードの構造体の内容を表示する
    • dump [-p] filespec out_file:指定した i ノードと out_file で指定したファイルを関連づける。-p オプションで所有者、グループ、パーミッションを filespec と同じにする
    • quit:debugfs を終了する

mount コマンド

ファイルシステムのマウントする。

mount [オプション] [デバイスファイル名] [マウントポイント]

  • -a:/etc/fstab ファイルに記載されているファイルシステムをすべてマウントする
  • -r:ファイルシステムを読み取り専用でマウントする
  • -w:ファイルシステムを読み書き可能なモードでマウントする
  • -t:ファイルシステムタイプを指定してマウントする
  • -o:マウントオプションを指定する
  • –bind:サブツリーをどこか他の場所に再マウントする

ブロックデバイス

利用可能なブロックデバイスの一覧を表示する。

lsblk コマンド

利用可能なブロックデバイスの一覧を表示する。

blkid コマンド

利用可能なブロックデバイスに関する情報を表示する。

umount コマンド

特定のファイルシステムをアンマウントする。 使用中でなければアンマウント可能。

umount [オプション] [マウントポイント | デバイスファイル名]

  • -a:/etc/fstab ファイルに記載されているファイルシステムをすべてアンマウントする
  • -t:指定したタイプのファイルシステムのみアンマウントする

ファイルシステム関連のファイル

  • /etc/fstab:デバイスとマウントポイントファイルシステムを記載
  • /etc/cron:定期的に実行させたいプログラムを記載

/etc/fstab の内容

  • デバイスファイル名 (UUID, LABEL)
  • マウントポイント
  • ファイルシステムの種類
  • マウントオプション
  • バックアップの指定
  • ファイルシステムのチェック

mount のオプション

オプション説明
asyncファイルシステムの書き込みを非同期で行う
syncファイルシステムの書き込みを同期で行う
auto-a が指定されたときにマウントされる
noauto-a が指定されたときにマウントされない
devファイルシステムに格納されたデバイスファイルを利用可能にする
execファイルシステムに格納されたバイナリファイルを実行可能にする
noexecファイルシステムに格納されたバイナリファイルの実行を不可にする
suidSUID および SGID の設定を有効にする
nosuidSUID および SGID の設定を無効にする
roファイルシステムを読み取り専用でマウントする
rwファイルシステムを読み書き可能なモードでマウントする
user一般ユーザーにマウントを許可する。マウントしたユーザーのみ可能
users一般ユーザーにマウントを許可する。マウントしたユーザー以外でも可能
nousers一般ユーザーのマウントを禁止する
ownerデバイスファイルの所有者だけにマウント操作を許可する
usrquotaユーザーに対してディスクのリソース割り当てを行う
grpquotaグループに対してディスクのリソース割り当てを行う
defaultsrw, suid, dev, exc, auto, nouser, async で設定を適用する

マウントされたファイルシステムの確認

  • mount
  • cat /proc/self/mounts