この節では、カスタマイズされたファイルシステムの作成に使用する次の 2 つのコマンドについて説明します。
newfs
mkfs
newfs コマンドは、ファイルシステムの作成に使用する mkfs コマンドの簡便バージョンです。
構文は次のとおりです。
/usr/sbin/newfs [-Nv] [mkfs_options] raw_device |
表 44–4 に、newfs コマンドのオプションと引数を示します。
表 44–4 newfs コマンドのオプションと引数
オプション |
説明 |
---|---|
-N |
ファイルシステムの作成に使用されるファイルシステムパラメータが表示されるが、実際には作成されない。このオプションでは、既存のファイルシステムの作成に使用されたパラメータは表示されない。 |
-v |
mkfs コマンドに渡されるパラメータが表示される。 |
mkfs-options |
後続のオプション (-s size から -C maxcontig まで) を使用して mkfs コマンドのパラメータが設定される。それらのオプションは、mkfs コマンドに渡される順番に記述されている。各オプションは、空白で区切る。 |
-s size |
ファイルシステムのセクター数。デフォルトは、ディスクラベルから自動的に判別される。 |
-t ntrack |
ディスク上の 1 シリンダあたりのトラック数。デフォルトはディスクラベルから判別される。 |
-b bsize |
データ転送に使用される論理ブロックのバイト数。サイズとして 4096 または 8192 バイト (4K または 8K バイト) を指定する。デフォルトは 8192 バイト (8K バイト)。 |
-f fragsize |
ファイルに割り当てられるディスク容量の最小バイト数。フラグメントサイズを、512 バイトから 8192 バイトまでの 2 の乗数単位で指定する。デフォルトは 1024 バイト (1K バイト)。 |
-c cgsize |
1 シリンダグループあたりのディスクシリンダ数。デフォルト値を計算するには、ファイルシステム内のセクター数を 1G バイト内のセクター数で割り、その結果に 32 を掛ける。デフォルト値の範囲は 16 から 256 まで。 |
-m free |
空きディスク領域の最小許容率。デフォルトの予約分は、((64M バイト/パーティションサイズ) * 100) で算出した値は最も近い整数に切り捨てられ、ディスク容量の 1% から 10% の範囲に制限される。 |
-r rpm |
1 分当たりのディスクの回転数。この設定はドライバまたはデバイスに固有である。ドライブが回転数を報告できる場合、mkfs コマンドは報告された値を使用する。そうでない場合、デフォルトは 3600。このパラメータは、mkfs コマンドに渡される前に 1 秒当たりの回転数に変換される。 |
-i nbpi |
作成できる i ノードの計算に使用される i ノード 1 個当たりのバイト数。デフォルト値については、ファイルの数を参照。 |
-o opt |
ディスクブロックをファイルに割り当てるときに使用される最適化のタイプ。opt には time または space を指定する。デフォルトは time。 |
-a apc |
不良ブロックを配置するために予約される 1 ディスクシリンダ (SCSI デバイスのみ) の代替ブロック数。デフォルトは 0 (ゼロ)。 |
-d gap |
(回転待ち) CPU がデータ転送を完了し、同じディスクシリンダ上で次のデータ転送を開始するまでにかかる予想最小時間 (ミリ秒)。デフォルトは 0。 |
-n nrpos |
シリンダグループを分割するさまざまな回転位置の数。デフォルトは 8。 |
-C maxcontig |
あるファイルに属し、回転待ちが挿入される前に連続して割り当てられる最大ブロック数。デフォルトはドライブごとに異なる。内部 (トラック) バッファーを持たないドライブ (または、内部バッファーが存在することを示していないドライブまたはコントローラ) の場合、デフォルトは 1。バッファーを持つドライブの場合、デフォルトは 7。 このパラメータは、次のようにする必要がある。 blocksize x maxcontig <= maxphys でなければならない maxphys は、入出力サブシステムが満たせる最大ブロック転送サイズ (バイト数) を指定する読み込み専用のカーネル変数である。この制限は、newfs や mkfs コマンドではなく mount コマンドによって適用される。 また、このパラメータはクラスタ化も制御する。rotdelay の値に関係なく、maxcontig が 1 より大きいときのみクラスタ化できる。クラスタ化すると、入出力が高速になる。詳細は、tunefs(1M) のマニュアルページを参照。 |
raw_device |
ファイルシステムを入れるパーティションの特殊文字 (raw) デバイスファイル名。この引数は必須。 |
次の例は、-N オプションを使用して、バックアップスーパーブロックなどのファイルシステム情報を表示する方法を示しています。
# newfs -N /dev/rdsk/c0t0d0s0 /dev/rdsk/c0t0d0s0: 37260 sectors in 115 cylinders of 9 tracks, 36 sectors 19.1MB in 8 cyl groups (16 c/g, 2.65MB/g, 1216 i/g) superblock backups (for fsck -b #) at: 32, 5264, 10496, 15728, 20960, 26192, 31424, 36656, # |
汎用 mkfs コマンドは、ファイルシステム専用の mkfs コマンドを呼び出して、指定したディスクスライス上で指定したタイプのファイルシステムを作成させます。mkfs コマンドは各種のファイルシステムに対応していますが、実際には UFS、UDFS、PCFS の各ファイルシステムの作成に使用します。他のタイプのファイルシステムを作成するには、ファイルシステム専用の mkfs コマンドを使用するためのソフトウェアを作成する必要があります。通常、mkfs コマンドは直接実行しません。mkfs コマンドは、newfs コマンドによって呼び出されます。
汎用 mkfs コマンドは、/usr/sbin ディレクトリに入っています。引数とオプションについては、mkfs(1M) のマニュアルページを参照してください。