NEWFS(8)

名称
newfs - 新しい UFS1/UFS2 ファイルシステムを作成する

書式
newfs [-NU] [-L volname] [-O filesystem-type] [-S sector-size] [-T disktype] [-a maxcontig] [-b block-size] [-c blocks-per-cylinder-group] [-d max-extent-size] [-e maxbpg] [-f frag-size] [-g avgfilesize] [-h avgfpdir] [-i bytes] [-m free-space] [-o optimization] [-s size] special

解説
newfs ユーティリティは、 ファイルシステムを最初に使用する前に初期化およびクリアします。 newfs を走らせる前に、 bsdlabel(8) を使ってディスクラベルを書き込んでいなければなりません。 newfs ユーティリティは、指定した特殊ファイルにファイルシステムを作成します。 (しばしば “特殊ファイル” を “ディスク” として扱いますが、特殊ファイルは物理ディスクである必要はありません。 事実、特殊ファイルである必要もありません。) デフォルト値はたいてい妥当な値となりますが、 newfs にはこの値を変更するための数多くのオプションがあります。

以下のオプションにて一般的な配置方針を定義します。

-L volname
    新規ファイルシステムにボリュームラベルを追加します。

-N  実際にはファイルシステムを構築せずに、ファイルシステム パラメータの表示のみを行います。

-O filesystem-type
    UFS1 フォーマットのファイルシステムの構築には 1 を使用し、 UFS2 フォーマットのファイルシステムの構築には 2 を使用します。 デフォルトでは UFS2 フォーマットです。

-T disktype
    過去のものとの互換性のための物です。

-U  ソフトアップデートを新規ファイルシステム上で有効にします。

-a maxconting
    回転遅延 (rotational delay) を強制する前に 配置される連続ブロックの最大数を指定します。 デフォルトは 1 です。このオプションをどのように設定す るかについて、詳しくは tunefs(8) を参照してください。

-b block-size
    ファイルシステムのブロックサイズをバイト単位で指定します。 2 のべき乗である必要があります。 デフォルトサイズは 16384 バイトであり、 可能な最小サイズは 4096 バイトです。 最適なブロックとフラグメントの比率は 8:1 です。 他の比率も可能ですが、お勧めできませんし、お粗末な結果となるかもしれません。

-c #cylinders/group
    ファイルシステムのシリンダグループごとのシリンダ数を指定します。 デフォルトは、他のパラメータに許される最大値を計算するものです。 この値は、他の多くのパラメータ、 特にブロックサイズとバイトあたりの inode 数に依存します。 newfs は最大値を表示します。

-d max-extent-size
    大きなファイルを格納するためにエクステントを使用することを、 ファイルシステムは選択できます。 本パラメータは使用可能な最大エクステントの大きさを指定します。 現在のところ、ファイルシステムのブロックサイズの 16 倍に制限されており、 これがデフォルト値となっています。

-e maxbpg
    単一のファイルが他のシリンダグループへまたがることを強制される前に、 1 つのシリンダグループから割り当てることのできる最大のブロック数を指定し ます。デフォルト値は、シリンダグループのブロック数の約 1/4 です。この オプションの詳細については、 tunefs(8) を参照してください。

-f frag-size
    ファイルシステムのフラグメントサイズをバイト単位で指定します。 blocksize/8 から blocksize までの範囲の、2 のべき乗である必要があります。 デフォルトは 2048 バイトです。

-g avgfilesize
    ファイルシステム中の、ファイルサイズの平均の期待値。

-h avgfpdir
    ファイルシステム中の、ディレクトリあたりのファイル数の平均の期待値。

-i bytes
    ファイルシステム中の inode の密度を設定します。デフォルト は、 (4 * フラグメントサイズ) バイトのデータ領域ごとに 1 つの inode を作ります。 inode 数を少なくしたい場合は大きな値を指定し、 inode 数を多くしたい場合は小さな値を指定します。 各ファイルに対して inode が 1 個必要ですので、 ファイルシステム上の平均ファイルサイズを、 この値は事実上指定します。

-m free-space
    通常のユーザからは保護されている領域のパーセンテージを 指定します。 これは最低限の空き領域のしきい値となります。 デフォルト値は <ufs/ffs/fs.h> にて MINFREE と定義され、現在 8% です。 このオプションの詳細については、 tunefs(8) を参照してください。

-o optimization
    (space か time) 。 ブロック確保に費す時間を最小にするか、 ディスク上のフラグメント領域を最小にするかを、 ファイルシステムに指示します。 デフォルトで minfree (前述) が 8% を下回る場合は、 space (空間) の最小化が行われ、8% 以上ならば time (時間) の最小化が行われます。 このオプションの詳細については、 tunefs(8) を参照してださい。

-s size
    ファイルシステムサイズをセクタ単位で指定します。 デフォルト値は、 special で指定される raw パーティションのサイズです (言い換えると、 newfs はパーティション全体をファイルシステムに使用します)。

次のオプションは、ディスクジオメトリの標準設定を変更します。 デフォルトの値はディスクラベルから得られます。 これらの値を変更するのは、 最初にファイルシステムを構築したときとは異なるタイプのディスク上で ロウイメージを使用してファイルシステムを構築するようなときだけです (たとえば、ライトワンスディスク上など)。 これらの値をデフォルトの 値から変更すると、標準のスーパブロックが壊れたときに、 fsck(8) が代替のスーパブロックを見つけることができなくなるので注意して ください。

-S sector-size
    セクタサイズ (バイト単位) です (通常 512 以外は使用しません)。

使用例
    newfs /dev/ad3s1a

新規の UFS ファイルシステムを ad3s1a に作成します。 newfs ユーティリティは、 ブロックサイズに 16384 バイト、フラグメントサイズに 2048 バイト、 シリンダグループあたりのブロック数に最大数を使用します。 ほとんどのアプリケーションに対し、 これらの値は歴史的なデフォルト (8192 バイトブロックと 1024 バイトフラグメント) よりも良い性能となる傾向があります。 この大きなフラグメントサイズは、 小さなファイルを大量に含むファイルシステム上に、無駄な領域を生じさせえます。

関連項目
fdformat(1), disktab(5), fs(5), camcontrol(8), bsdlabel(8), dumpfs(8), fsck(8), mount(8), tunefs(8) M. McKusick, W. Joy, S. Leffler, R. Fabry, A Fast File System for UNIX, ACM Transactions on Computer Systems 2, 3, pp 181-197, August 1984, (reprinted in the BSD System Manager's Manual).

歴史
newfs ユーティリティは、 4.2BSD から登場しています。