.\" Copyright (c) 1983, 1987, 1991, 1993, 1994 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)newfs.8 8.6 (Berkeley) 5/3/95 .\" %FreeBSD: src/sbin/newfs/newfs.8,v 1.26.2.14 2002/01/17 09:26:06 sheldonh Exp % .\" .\" $FreeBSD$ .Dd December 19, 2000 .Dt NEWFS 8 .Os BSD 4.2 .Sh 名称 .Nm newfs , .Nm mount_mfs .Nd 新しいファイルシステムを作成する .Sh 書式 .Nm .Op Fl NOU .Op Fl S Ar sector-size .Op Fl T Ar disktype .Op Fl a Ar maxcontig .Op Fl b Ar block-size .Op Fl c Ar cylinders .Op Fl d Ar rotdelay .Op Fl e Ar maxbpg .Op Fl f Ar frag-size .Op Fl g Ar avgfilesize .Op Fl h Ar avfpdir .Op Fl i Ar bytes .Op Fl k Ar skew .Op Fl l Ar interleave .Op Fl m Ar free space .Op Fl n Ar rotational positions .Op Fl o Ar optimization .Op Fl p Ar sectors .Op Fl r Ar revolutions .Op Fl s Ar size .Op Fl t Ar tracks .Op Fl u Ar sectors .Op Fl v .Op Fl x Ar sectors .Ar special .Nm mount_mfs .Op Fl NU .Op Fl F Ar file .Op Fl T Ar disktype .Op Fl a Ar maxcontig .Op Fl b Ar block-size .Op Fl c Ar cylinders .Op Fl d Ar rotdelay .Op Fl e Ar maxbpg .Op Fl f Ar frag-size .Op Fl i Ar bytes .Op Fl m Ar free space .Op Fl n Ar rotational positions .Op Fl o Ar options .Op Fl s Ar size .Ar special node .Sh 解説 .Nm は、ファイルシステムを最初に使用する前に初期化およびクリアします。 .Nm や .Nm mount_mfs を走らせる前に、 .Xr disklabel 8 を使ってディスクラベルが書き込んでいなければなりません。 .Nm は、指定した特殊ファイルにファイルシステムを作成します。 (しばしば .Dq 特殊ファイル を .Dq ディスク として扱いますが、特殊ファイルは物理ディスクである必要はありません。 事実、特殊ファイルである必要もありません。) デフォルト値はたいてい妥当な値となりますが、 .Nm にはこの値を変更するための数多くのオプションがあります。 .Pp .Nm mount_mfs は、仮想メモリ上にファイルシステムを構築し、指定したノード にそのファイルシステムをマウントするために使います。 ファイルシステムがアンマウントされると、 .Nm mount_mfs は終了し、このファイルシステムの内容は失われます。 .Nm mount_mfs にシグナルが送られると、 ファイルシステムをアンマウントしようとします。たとえば、 シャットダウンする場合がこれにあたります。 .Nm mount_mfs に指定するパラメータは .Nm のものと同じです。 .Fl T フラグが指定されると (下記参照)、特殊ファイルを使用しません。 そうでない場合、特殊ファイルはディスクラベルを読むためにのみ使われ、 それによってメモリベースファイルシステムへのコンフィギュレーション パラメータが得られます。 この特殊ファイルは通常、第一スワップ領域を指定します。という のは、フリーメモリが少なくなって、ファイルシステムをサポートす るメモリ領域がページングされるとき、ファイルシステムがそこに バックアップされるからです。 .Pp 以下のオプションにて一般的な配置方針を定義します。 .Bl -tag -width indent .It Fl T Ar disktype 過去のものとの互換性のためと .Nm mount_mfs のための物です。 .It Fl F Ar file .Nm mount_mfs は、ファイルシステムのイメージとしてこのファイルを使用します。 .Nm mount_mfs が終了した時、このファイルは残されます。 .It Fl N 実際にはファイルシステムを構築せずに、ファイルシステム パラメータの表示のみを行います。 .It Fl O .Bx 4.3 フォーマットのファイルシステムを作成します。この オプションは、古いブート ROM が理解できるルートファイル システムを使う必要がある場合に使います。 .It Fl T 指定したディスクのための情報を .Pa /etc/disktab から得て、disklabel を使用しません。 .It Fl U ソフトアップデートを新規ファイルシステム上で有効にします。 .It Fl a Ar maxconting 回転遅延 (rotational delay) を強制する前に 配置される連続ブロックの最大数を指定します ( .Fl d オプションを参照)。 デフォルトは 1 です。このオプションをどのように設定す るかについて、詳しくは .Xr tunefs 8 を参照してください。 .It Fl b Ar block-size ファイルシステムのブロックサイズをバイト単位で指定します。 2 のべき乗である必要があります。 デフォルトサイズは 16384 バイトであり、 可能な最小サイズは 4096 バイトです。 最適なブロックとフラグメントの比率は 8:1 です。 他の比率も可能ですが、お勧めできませんし、予期せぬ結果となるかもしれません。 .It Fl c Ar #cylinders/group ファイルシステムのシリンダグループごとのシリンダ数を指定します。 デフォルトは、他のパラメータに許される最大値を計算するものです。 この値は、他の多くのパラメータ、 特にブロックサイズとバイトあたりの inode 数に依存します。 .Nm は最大値を表示します。 .It Fl d Ar rotdelay かつては、 同じシリンダに対して他のディスク転送を開始するために要する最小時間を ミリ秒で指定しました。 この値は、 ファイル中の各ブロックを、回転に対して最適に配置するために使用しました。 読み込み/書き込みを背後で行う近年のディスクでは、 この機能を無効にした方が性能が高いです。 よって、この値はデフォルト値の 0 ミリ秒に設定すべきです。 .Xr tunefs 8 を参照してください。 .It Fl e Ar maxbpg 単一のファイルが他のシリンダグループへまたがることを強制される前に、 1 つのシリンダグループから割り当てることのできる最大のブロック数を指定し ます。デフォルト値は、シリンダグループのブロック数の約 1/4 です。この オプションの詳細については、 .Xr tunefs 8 を参照してください。 .It Fl f Ar frag-size ファイルシステムのフラグメントサイズをバイト単位で指定します。 .Ar blocksize Ns /8 から .Ar blocksize までの範囲の、2 のべき乗である必要があります。 デフォルトは 2048 バイトです。 .It Fl g Ar avgfilesize ファイルシステム中の、ファイルサイズの平均の期待値。 .It Fl h Ar avgfpdir ファイルシステム中の、ディレクトリあたりのファイル数の平均の期待値。 .It Fl i Ar number of bytes per inode ファイルシステム中の inode の密度を設定します。デフォルト は、 .Pq 4 * フラグメントサイズ バイトのデータ領域ごとに 1 つの inode を作ります。 inode 数を少なくしたい場合は大きな値を指定し、 inode 数を多くしたい場合は小さな値を指定します。 各ファイルに対して inode が 1 個必要ですので、 ファイルシステム上の平均ファイルサイズを、 この値は事実上指定します。 .It Fl m Ar free space \&% 通常のユーザからは保護されている領域のパーセンテージを 指定します。 これは最低限の空き領域のしきい値となります。 デフォルト値は .Aq Pa ufs/ffs/fs.h にて .Dv MINFREE と定義され、現在 8% です。 このオプションの詳細については、 .Xr tunefs 8 を参照してください。 .It Fl n Ar number of distinguished rotational positions UFS には、 異なった回転位置にある利用可能なブロックを管理する能力があります。 これにより、最小の回転遅延でデータを拾えるように、 データをレイアウト可能です。 このパラメータは、区別すべき回転位置数のデフォルトを指定します。 .Pp 今日では、この値は 1 に設定すべきです (回転位置テーブルを無効にします)。 先読みと後書きがある近年のドライブでは、 回転位置テーブル無しの方が性能がよいからです。 .It Fl o Ar optimization\ preference .Pq Ar space No か Ar time ブロック確保に費す時間を最小にするか、 ディスク上のフラグメント領域を最小にするかを、 ファイルシステムに指示します。 デフォルトで minfree (前述) が 8% を下回る場合は、 .Ar space (空間) の最小化が行われ、8% 以上ならば .Ar time (時間) の最小化が行われます。 このオプションの詳細については、 .Xr tunefs 8 を参照してださい。 .It Fl s Ar size ファイルシステムサイズをセクタ単位で指定します。 デフォルト値は、 .Ar special で指定される raw パーティションのサイズです (言い換えると、 .Nm はパーティション全体をファイルシステムに使用します)。 .It Fl v ディスクにはパーティションが含まれておらず、 .Nm はディスク全体の上にファイルシステムを構築すべきであることを指定します。 本オプションは .Nm vinum のような統合ディスクを扱うのに便利です。 .El .Pp 次のオプションは、ディスクジオメトリの標準設定を変更します。 デフォルトの値はディスクラベルから得られます。 これらの値を変更するのは、 最初にファイルシステムを構築したときとは異なるタイプのディスク上で ロウイメージを使用してファイルシステムを構築するようなときだけです (たとえば、ライトワンスディスク上など)。 これらの値をデフォルトの 値から変更すると、標準のスーパブロックが壊れたときに、 .Xr fsck 8 が代替のスーパブロックを見つけることができなくなるので注意して ください。 .Bl -tag -width indent .It Fl S Ar sector-size セクタサイズ (バイト単位) です (通常 512 以外は使用しません)。 .It Fl k Ar sector \&0 skew , per track 遅いコントローラを補うためにメディアのフォーマット時の補正を指定します。 トラックスキューは同じシリンダ上のトラック N のセクタ 0 とトラック N-1 のセクタ 0 のオフセットです。 このオプションは、歴史的には重要でした。 近年のコントローラは十分高速であり、 操作を続けざまに (back-to-back で) 行います。 .It Fl l Ar hardware sector interleave 遅いコントローラを補うためにメディアのフォーマット時の補正を指定します。 インタリーブはトラック毎の物理セクタのインタリーブで、次の比の分母で 定義されます: .Dl 読まれるセクタ/通過するセクタ つまりインタリーブの 1/1 は連続的に配置されていることを、 1/2 は論理 セクタ 0 と論理セクタ 1 との間に 1 セクタあることを示します。 このオプションは、歴史的には重要でした。 近年のディスクの物理レイアウトは、外部からは見えません。 .It Fl p Ar spare sectors per track 予備セクタ (不良セクタと置き換えるセクタ) は、 各トラックの最後の物理セクタを使用します。 これらには、ファイルシステムとしてデータを割り当てることができないため、 セクタ/トラック .Pq Fl u に含まれません。 このオプションは、歴史的には重要でした。 近年のディスクは、ディスク固有の不良セクタ割り当てを行います。 .It Fl r Ar revolutions/minute 1 分間あたりのディスク回転速度を指定します。 この値はもはや価値がありません。 この値に依存するすべてのパラメータは、通常は無効になっているからです。 .It Fl t Ar #tracks/cylinder ファイルシステムによってデータを割り当てることができるシリンダあたりの トラック数です。デフォルトは 1 です。0 が設定された場合にはディスクラベル に指定されている値が使われます。 .It Fl u Ar sectors/track ファイルシステムによってデータを割り当てることができるトラックあたりの セクタ数です。デフォルトは 4096 です。 0 が設定された場合にはディスクラベルに 指定されている値が使われます。この値には、各トラックの最後に確保 される不良ブロックの置き換えのための予備セクタは含まれません ( .Fl p オプションを参照)。 .It Fl x Ar spare sectors per cylinder 予備セクタ (不良セクタと置き換えるセクタ) は、シリンダの最後のトラック の物理セクタを使用します。これらには、ファイルシステムとしてデータを 割り当てることができないため、セクタ/トラック .Pq Fl u には含まれません。 このオプションは、歴史的には重要でした。 近年のディスクは、ディスク固有の不良セクタ割り当てを行います。 .El .Pp .Nm mount_mfs コマンドのオプションは、 .Fl o オプションを除いて .Nm コマンドと同じものです。 .Pp .Fl o オプションは以下のとおりです: .Bl -tag -width indent .It Fl o .Fl o フラグに続いて指定されるオプションは、コンマで区切られた文字列です。 指定できるオプションとその意味は .Xr mount 8 を参照してください。 .El .Sh 使用例 .Dl newfs /dev/ad3s1a .Pp 新規の UFS ファイルシステムを .Pa ad3s1a に作成します。 .Nm は、ブロックサイズに 16384 バイト、フラグメントサイズに 2048 バイト、 グループあたりのシリンダ数に最大数を使用します。 ほとんどのアプリケーションに対し、 これらの値は歴史的なデフォルトよりも良い性能となる傾向があります。 この大きなフラグメントサイズは、 小さなファイルを大量に含むファイルシステム上に、無駄な領域を生じさせます。 .Pp .Dl mount_mfs -s 131072 -o nosuid,nodev,nosymfollow /dev/da0s1b /tmp .Pp .Xr mount 8 の .Ar nosuid , .Ar nodev , .Ar nosymfollow のオプションを指定し、 64 MB の大きさのメモリファイルシステムを .Pa /tmp にマウントします。 .Sh 関連項目 .Xr fdformat 1 , .Xr disktab 5 , .Xr fs 5 , .Xr camcontrol 8 , .Xr disklabel 8 , .Xr diskpart 8 , .Xr dumpfs 8 , .Xr fsck 8 , .Xr mount 8 , .Xr tunefs 8 .Rs .%A M. McKusick .%A W. Joy .%A S. Leffler .%A R. Fabry .%T A Fast File System for UNIX .%J ACM Transactions on Computer Systems 2 .%V 3 .%P pp 181-197 .%D August 1984 .%O (reprinted in the BSD System Manager's Manual) .Re .Sh 歴史 .Nm コマンドは、 .Bx 4.2 から登場しています。