この節では、カスタマイズされたファイルシステムの作成に使用する次の 2 つのコマンドについて説明します。
newfs
mkfs
newfs コマンドは、ファイルシステムの作成に使用する mkfs コマンドの簡便バージョンです。
構文は次のとおりです。
/usr/sbin/newfs [-Nv] [mkfs_options] raw_device |
次の表に、newfs コマンドのオプションと引数を示します。
表 44–4 newfs コマンドのオプションと引数
オプション |
説明 |
---|---|
-N |
ファイルシステムの作成に使用されるファイルシステムパラメータが表示されるが、実際には作成されない。このオプションでは、既存のファイルシステムの作成に使用されたパラメータは表示されない。 |
-T |
ファイルシステムのサイズが最終的に 1T バイトを超えることが可能となるように、ファイルシステムのパラメータが設定される。このオプションを指定すると、fragsize が bsize と同じ値に設定され、-i オプションによる指定がなければ、nbpi は 1M バイトに設定される。-f オプションまたは -i オプションを使って指定された fragsize 値または nbpi 値がこのオプションの値と矛盾した場合、指定された fragsize 値または nbpi 値は無視される。 |
-v |
mkfs コマンドに渡されるパラメータが表示される。 |
mkfs-options |
後続のオプション (-s size から -C maxcontig まで) を使用して mkfs コマンドのパラメータが設定される。それらのオプションは、mkfs コマンドに渡される順番に記述されている。各オプションは、空白で区切る。 |
-s size |
ファイルシステムのセクター数。デフォルトでは、パーティション全体が使用される。 |
-t ntrack |
ディスク上の 1 シリンダあたりのトラック数。デフォルトはディスクラベルから判別される。 |
-b bsize |
ファイルシステムの論理ブロックサイズ。4096 バイトまたは 8192 バイト。デフォルトは 8192 バイト。sun4u アーキテクチャでは、4096 バイトのブロックサイズはサポートされない。 |
-f fragsize |
ファイルに割り当てられるディスク容量の最小バイト数。論理ブロックサイズが 4096 の場合は、fragsize には 512、1024、2048、または 4096 を指定できる。論理ブロックサイズが 8192 の場合は、fragsize には 1024、2048、4096、または 8192 を指定できる。デフォルト値は 1024。 1T バイトを超えるファイルシステム、または -T オプションを指定して作成されたファイルシステムの場合、 fragsize は強制的にブロックサイズ (bsize) と同じ値に設定される。 |
-c cgsize |
1 シリンダグループあたりのディスクシリンダ数。値の範囲は 16 から 256 まで。デフォルト値を計算するには、ファイルシステム内のセクター数を 1G バイト内のセクター数で割り、その結果に 32 を掛ける。デフォルト値は、常に 16 から 256 までの値。 mkfs コマンドを使用すると、デフォルト値が無効になる。 このオプションは、EFI ラベルのディスクには適用されず、無視される。 |
-m free |
ファイルシステムで管理される空きディスク領域の最小許容率 (1% から 99%)。一般のユーザーはこの領域を使用できない。ファイルシステムがこのしきい値に達した場合、スーパーユーザーだけがファイルシステムへの書き込みを続行できる。 デフォルトの予約分は、((64M バイト/パーティションサイズ) * 100) で算出した値はもっとも近い整数に切り捨てられ、ディスク容量の 1% から 10% の範囲に制限される。 このパラメータは、tunefs コマンドを使用してファイルシステムを作成した後で変更できる。 |
-r rpm |
1 分当たりのディスクの回転数。この設定はドライバまたはデバイスに固有である。 このパラメータは、mkfs コマンドに渡される前に 1 秒当たりの回転数に変換される。 このオプションは、EFI ラベルのディスクには適用されず、無視される。 |
-i nbpi |
ファイルシステムに作成する i ノード数の計算に使用される、i ノード 1 個当たりのバイト数。デフォルト値については、i ノード数 (ファイルの数)を参照。 |
-o opt |
ディスクブロックをファイルに割り当てるときに使用される最適化のタイプ。opt には time または space を指定する。 デフォルトは time。 |
-a apc |
不良ブロックを配置するために予約される 1 ディスクシリンダの代替セクター数 (SCSI デバイスのみ)。デフォルトは 0 (ゼロ)。 このオプションは、EFI ラベルのディスクには適用されず、無視される。 |
-d gap |
回転待ち。CPU がデータ転送を完了し、同じディスクシリンダ上で次のデータ転送を開始するまでにかかる予想最短時間 (ミリ秒)。デフォルトは 0 (ゼロ)。 |
-n nrpos |
シリンダグループを分割するさまざまな回転位置の数。デフォルトは 8。 このオプションは、EFI ラベルのディスクには適用されず、無視される。 |
-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) のマニュアルページを参照してください。