本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、ext2、ext3、ext4ファイルシステムのパラメータを変更する「tune2fs」コマンドです。
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回はext2、ext3、ext4ファイルシステムのパラメータを変更する「tune2fs」コマンドです。
「tune2fs」は、ext2、ext3、ext4ファイルシステムのパラメータを変更するコマンドです ※1。ボリュームラベルをはじめ、ファイルシステムの自動検査を行う頻度などを変更できます。
※1 ファイルの管理方式や管理方式にのっとってフォーマットした記憶領域のことを「ファイルシステム」と言う。
tune2fs [オプション] デバイス名
※[ ]は省略可能な引数を示しています。
短いオプション | 意味 |
---|---|
-c 回数 | 何回マウント後にファイルシステムを検査するか指定する ※2。0または-1を指定すると、マウント回数に応じた検査をしない |
-i 間隔 | ファイルシステムを検査する間隔を整数で指定する ※2。d(日:デフォルトの単位で省略可能)、w(週)、m(月)を単位として指定可能。0を指定した場合は間隔に応じた検査を実行しない |
-e 動作 | エラー検出時の動作を選択する。選択肢は「continue(通常通り実行)」「remount-ro(リードオンリーで再マウントする)」「panic(システムを停止する)」 |
-f | エラーが起きた場合もtune2fsの実行を完了まで続ける |
-u ユーザー | 予約(reserved)ファイルシステムブロックを利用できるユーザーを、ユーザーIDまたはユーザー名で指定する(ユーザー名で指定した場合もスーパーフロックにはユーザーIDを保存する) |
-g グループ | 予約(reserved)ファイルシステムブロックを利用できるグループを、グループIDまたはグループ名で指定する(グループ名で指定した場合もスーパーブロックにはグループIDを保存する) |
-j | ファイルシステムの更新履歴を記録するext3ジャーナルをファイルシステムに追加する |
-J パラメータ | ext3ジャーナルのパラメータを指定する。主な選択肢は「size=ジャーナルのサイズ」「device=外部ジャーナルを置いたデバイス名」など。 |
-l | ファイルシステムのスーパーブロックの内容を表示する |
-m 割合 | ファイルシステム中の予約ブロックの割合を%単位で設定する。予約領域はroot権限のあるユーザーやプロセスだけが書き込みできる。デフォルト値は5% |
-r ブロック数 | ファイルシステム中の予約ブロック数を設定する |
-o オプション | デフォルトのマウントオプション(その2)をファイルシステムにセットする(複数指定する場合は「,」で区切る)。オプションを追加したい場合は「+」記号を、オプションをクリアしたい場合は「^」記号を付ける |
-C 回数 | マウントした回数を手動で設定する |
-M ディレクトリ | 最後にマウントしたディレクトリを手動で設定する |
-O オプション | ファイルシステム属性(オプションその3)をセットする(複数指定する場合は「,」で区切る)。オプションを追加したい場合は「+」記号を、オプションをクリアしたい場合は「^」記号を付ける |
-T 時刻 | 最後にファイルシステムを検査した時刻を手動設定する ※2。時刻の書式は「YYYYMMDD[[HHMM]SS](年月日時分秒)」、または「now(現在の時刻)」 |
-L ラベル | ボリュームラベルを設定する |
-U 識別子 | UUID(Universally Unique IDentifier、汎用一意識別子)を設定する |
※2 ファイルシステムの検査にはe2fsckコマンドを用いる。
オプション | 意味 |
---|---|
debug | デバッグコードを有効にする |
bsdgroups | ファイル作成時にBSD(UNIX系OSの一種)の動作をエミュレートする |
user_xattr | ユーザー固有の拡張属性を有効にする |
acl | アクセス制御リスト(Access Control List)を有効にする |
uid16 | 32ビットのユーザーIDとグループIDを無効にする(16ビット値を使用する古いカーネルとの相互運用時に使用) |
journal_data | メタデータを含むデータをジャーナルにコミットした後、メインのファイルシステムに書き込む ※3 |
journal_data_ordered | データをメインのファイルシステムに直接書き込んだ後、メタデータをジャーナルにコミットする ※3 |
journal_data_writeback | メタデータのみをジャーナルにコミットした後に、データをメインのファイルシステムに書き込む ※3 ※4 |
※3 journal_data、journal_data_ordered、journal_data_writebackの設定は、ジャーナリングを有効にしてファイルシステムをマウントした場合に有効となる。設定した動作はファイルの書き込み時に働く。
※4 スループットが良くなる効果がある。ただし、ジャーネルに書き込んだ直後にクラッシュすると、回復後にファイル内のデータが更新されていないことがある。
オプション | 意味 |
---|---|
dir_index | ハッシュBツリーを使用する(ファイルが多いディレクトリ内での検索が高速になる) |
filetype | ディレクトリエントリにファイルタイプ情報を格納する |
has_journal | ジャーナルを使用する ※5 |
sparse_super | スーパーブロックのバックアップ数を制限する(大きなファイルシステム上で、ディスク使用量を少なくできる) |
※5 ジャーナルを使用すると、システムが不用意にシャットダウンしてしまった場合でも、ファイルシステムの一貫性を保証できる。ジャーナルを使用しないと、不用意なシャットダウン後、システム起動時にfsckによる整合性検査が必要になる。
tune2fsコマンドを使うと、ファイルシステムを自動検査する間隔を設定できます。実行にはroot権限が必要です(連載第68回)。
「-i」オプションでは日数や週数を単位として指定し、「-c」オプションではマウント回数を単位として指定します。
自動検査について現在の設定がどうなっているのかは、「-l」オプション、またはdumpe2fsコマンド(連載第193回)で確認できます。いずれも、間隔は「Check interval」という行に、マウント回数は「Maximum mount count」という行に設定値が記されています。
画面1では、まず「tune2fs -l /dev/sdb1」で現在の設定を確認し、「-i」オプションで10日間隔に設定後、あらためて現在の設定を確認しています。「-l」オプションの表示内容が多いため、grepコマンド(第9回)で絞り込んでいます。
tune2fs -i 間隔 デバイス名
(ファイルシステムを自動で検査する間隔を指定)
tune2fs -i 10 /dev/sdb1
(/dev/sdb1を10日間隔で検査する)(画面1)
tune2fs -c 回数 デバイス名
(ファイルシステムを自動で検査する間隔をマウント回数で指定)
tune2fs -c 10 /dev/sdb1
(/dev/sdb1を10回マウントしたらファイルシステムを検査する)
「tune2fs -L ラベル デバイス名」でボリュームラベルを設定できます。
画面2では、「-L」オプションでボリュームラベルを設定した後に、blkidコマンド(第182回)でボリュームラベルを確認しています。なお、blkidコマンドで表示する場合、情報をファイルシステムから再取得する必要があるため、rootユーザーで実行、またはsudoコマンドを使って実行しなければなりません。
tune2fs -L ラベル デバイス
(ボリュームラベルを設定する)
tune2fs -L data /dev/sdb1
(/dev/sdb1のボリュームラベルを「data」にする)(画面2)
西村 めぐみ(にしむら めぐみ)
PC-9801NからのDOSユーザー。PC-486DX時代にDOS版UNIX-like toolsを経てLinuxへ。1992年より生産管理のパッケージソフトウェアの開発およびサポート業務を担当。著書に『図解でわかるLinux』『らぶらぶLinuxシリーズ』『Accessではじめるデータベース超入門[改訂2版]』『macOSコマンド入門』など。2011年より、地方自治体の在宅就業支援事業にてPC基礎およびMicrosoft Office関連の教材作成およびeラーニング指導を担当。
Copyright © ITmedia, Inc. All Rights Reserved.