この章では、ファイルシステムのレイアウトの変更、ファイルシステムの変更、また、仮想ファイルシステム、ディレクトリ、ファイルの変更点について説明します。次のファイルシステム管理の変更点についても説明しています。
ファイルシステムのマウント
ファイルシステムの監視
ファイルシステムの共有
新らしいファイルシステムの作成
ファイルシステムのチェック
ファイルのバックアップと復元
この章は、次の節で構成されています。
ファイルシステムの理解と管理についての詳細は、『Solaris のシステム管理』を参照してください。
SunOS 5.6 と SunOS 4.x のファイルシステムは類似しています。しかし、システムディレクトリとファイルの位置と名前は変更されています。また、新しいファイルシステムと新しい疑似ファイルシステムがあり、ディレクトリの 1 つが削除されました。
ファイルシステムの位置と名前についての変更は次のとおりです。
/dev ディレクトリは、平坦な構造から階層構造に変更されました。
/etc/vfstab ファイルは、/etc/fstab に変更されました。
TFS 疑似ファイルシステムは SunOS 5.6 には含まれていません。
追加された疑似ファイルシステムは次のとおりです。
次のファイルシステムは SunOS 5.6 のディレクトリ構造に含まれています。
オプションの /opt ファイルシステムは、サードパーティのソフトウェアや、アンバンドルのソフトウェアを格納するために使用します。/opt が単独のファイルシステムではない場合は、/usr/opt へのシンボリックリンクになっています。
SunOS 5.6 のファイルシステムは階層型です。図 9-1 は、SunOS 5.6 のデフォルトディレクトリとファイルシステム (点線で示されている) を示したものです。ここでは、ディレクトリ、またはファイルシステムが実際に持つサブディレクトリの例を示しています。 表 9-1 に簡単な説明があります。
Solaris 2.6 ソフトウェアには、ファイルシステムとディレクトリのデフォルトセットが含まれていて、一定の規則に従って類似した種類のファイルをグループにまとめています。表 9-1 で、デフォルトファイルシステムとディレクトリについて要約します。
表 9-1 Solaris 2.6 ファイルシステムとディレクトリ
SunOS 5.6 の機能である仮想ファイルシステム (VFS) アーキテクチャは、複数のファイルシステムをサポートするファイルシステム管理を簡略化します。
長年にわたって、それぞれ独自のファイルシステム管理用コマンドセットをもつ UNIX ファイルシステムが数種類開発されてきました。すべての種類を学習するのは混乱を招くもとになり、また困難です。SunOS 5.6 は、ファイルシステム管理用の汎用のコマンドセットでこの問題に対処しています。これらのコマンドは、管理に関するファイルシステム間の違いを意識させない共通の VFS インタフェースの一部です。以下の項では、サポートされるファイルシステムと汎用のファイルシステムコマンドの概要を示します。
SunOS 4.x に含まれていたほとんどのファイルシステム形式は、SunOS 5.6 ソフトウェアにも含まれています。ただし、例外が 1 つあり、半透過ファイルシステム (TFS) 形式は、SunOS 5.6 では廃止されました。 表 9-2 に、SunOS 4.x と SunOS 5.6 環境で使用できるファイルシステム形式をまとめます。
表 9-2 ファイルシステム形式の要約
カテゴリ |
ファイルシステム名 |
説明 |
SunOS 4.x |
SunOS 5.6 |
---|---|---|---|---|
ディスクベース |
UNIX ファイルシステム |
あり |
あり |
|
CD-ROM ファイルシステム |
あり |
あり |
||
PC ファイルシステム |
あり |
あり |
||
NFS |
Sun の分散ファイルシステム |
あり |
あり |
|
特殊デバイスファイルシステム |
あり |
あり |
||
/tmp 一時ファイルシステム |
あり |
あり |
||
ループバックファイルシステム |
あり |
あり |
||
半透過ファイルシステム |
あり |
なし |
||
|
プロセスアクセスファイルシステム |
なし |
あり |
|
|
ファイル記述子ファイルシステム |
なし |
あり |
|
|
FIFO/パイプファイルシステム |
なし |
あり |
|
|
ネームファイルシステム |
なし |
あり |
|
|
スワップファイルシステム |
なし |
あり |
|
|
キャッシュファイルシステム |
なし |
ファイルシステムについての詳細は、proc(4) と fd(4) のマニュアルページと『Solaris のシステム管理』を参照してください。
キャッシュファイルシステムはリモートファイルシステム、または CD-ROM などの低速装置の性能を改善するのに使用されます。ファイルシステムがキャッシュされていると、リモートファイルシステムや CD-ROM から読み込まれたデータは、ローカルシステムのキャッシュに格納されます。
SWAPFS は、SunOS 5.6 では、システムをブートするとき、またはスワップ空間を追加するときのデフォルトのスワップデバイスです。このスワップデバイスはスワップ空間として物理メモリを使用しますが、ディスクにも物理スワップ空間が必要です。
SunOS 4.x システムでは、デフォルトの物理スワップデバイスはシステム構成に依存します。スタンドアロンシステムのデフォルト sd0b ディスクレスシステムは、スワップファイルを bootparam サーバから取得します。SunOS リリース 5.6 ソフトウェアではスワップファイルを、ディスク上のファイルを指定せず、デフォルトダンプデバイスとして使用します。
表 9-3 に SunOS 5.6 ではサポートされない SVR4 ファイルシステム形式を示します。
表 9-3 サポートされない SVR4 ファイルシステム形式
ファイルシステム名 |
説明 |
---|---|
ブートファイルシステム |
|
System V ファイルシステム |
|
ほとんどのファイルシステム管理コマンドは、汎用コンポーネントとファイルシステムコンポーネントを持っています。ファイルシステムコンポーネントを呼び出す汎用コマンドを使用してください。表 9-4 は、/usr/bin ディレクトリにある汎用ファイルシステム管理コマンドの一覧です。
表 9-4 汎用ファイルシステム管理コマンド
コマンド |
説明 |
---|---|
i ノードをクリアする。 |
|
空きディスクブロック数とファイル数を表示する。 |
|
ファイルシステムに含まれるファイル名と統計情報を一覧表示する。 |
|
ファイルシステムの整合性を検査し損傷が見つかれば修理する。 |
|
ファイルシステムデバッガ |
|
ファイルシステムの形式を判定する。 |
|
テープへコピーするときにファイルシステムのラベルを表示または提供する (volcopy コマンドでのみ使用)。 |
|
新しいファイルシステムを作成する。 |
|
ファイルシステムとリモートリソースをマウントする。 |
|
ファイルシステムテーブルで指定されたすべてのファイルシステムをマウントする。 |
|
i 番号をもつパス名のリストを作成する。 |
|
ファイルシステムとリモートリソースのマウントを解除する。 |
|
ファイルシステムテーブルで指定されたすべてのファイルシステムのマウントを解除する。 |
|
また、これらのほとんどのコマンドには、ファイルシステムに対応するものがあります。
ファイルシステムコマンドを直接使用しないでください。このディレクトリをサポートしないファイルシステムで動作させると、汎用コマンドが次のエラーメッセージを表示します。「command: Operation not applicable for FSType type」
command [-F type] [-V] [generic-options] [-o specific-options] [special|mount-point] [operands]
汎用コマンドのオプションと引数は次のとおりです。
-F type
ファイルシステムの形式を指定します。このオプションを使用しないと、このコマンドは /etc/vfstab ファイルの special または mount point と一致するエントリをさがします。それ以外の場合は、ローカルファイルシステムに対しては /etc/vfstab ファイル、リモートファイルシステムに対しては /etc/dfs/fstypes ファイルからデフォルトが取り出されます。
-V
完了したコマンド行を表示します。表示された行には、/etc/vfstab から入手した追加情報を含めることができます。このオプションを使用して、コマンド行の検査と妥当性検査を行います。このコマンドは実行されません。
generic-options
異なるファイルシステムの形式に共通のオプション。
-o specific-options
ファイルシステムの形式に固有のオプションのリスト。このフォーマットは、-o の後にスペースを入れ、さらに keyword [=value] のペアを、スペースではなくカンマで区切って続けます。
special|mount-point
ファイルシステムを指定します。この名前は、マウントポイントか、またはファイルシステムを持つスライス用の特殊デバイスファイルです。一部のコマンドでは、 special ファイルは raw (キャラクタ型) デバイスでなければならず、また、ブロック型デバイスでなければならないものもあります。場合によっては、この引数は他の情報を入手する /etc/vfstab ファイルの中で一致するエントリを検索するためのキーとして使用されます。ほとんどの場合、この引数は必須であり、specific-options の直後になければなりません。ただし、/etc/vfstab ファイルに一覧表示されたすべてのファイルシステム (オプションにより形式によって制限できる) でコマンドを動作させたいときには、この引数は必要ありません。
operands
ファイルシステムの形式に固有の引数。詳細については、コマンド (たとえば、mkfs_ufs(4)) の該当するマニュアルページを参照してください。
デフォルトのリモートファイルシステム形式は、/etc/dfs/fstype です。デフォルトのローカルファイルシステム形式は、/etc/default/fs です。詳細については、default_fs(4) のマニュアルページを参照してください。
以前の SunOSでは、すべてのファイルシステムコマンドは、/etc ディレクトリにありました。SunOS 5.6 では、ファイルシステムコマンドは使いやすいように、別々の階層に編成されています。ファイルシステムコマンドは、/usr/lib/fs/fstype に格納されます。/usr がマウントされる前に必要なコマンドは、/etc/fs/fstype に複製されます。
汎用コマンドはすべて /usr/sbin にあります。/usr がマウントされる前に必要なコマンドは、/sbin に複製されます。
表 9-5 は、ファイルシステムコマンドの格納位置を示します。
表 9-5 ファイルシステムコマンドの格納位置
形式 |
プライマリバージョンの位置 |
複製バージョンの位置 (root) |
---|---|---|
汎用 |
/usr/sbin |
/sbin |
固有 |
/usr/lib/fs |
この節では、SunOS 4.x と SunOS リリース 5.6 間の、ディレクトリとファイルに対する変更について説明します。
/dev ディレクトリは、平坦なディレクトリから階層構造になりました。表 9-6 で追加されたサブディレクトリについて説明します。
表 9-6 /dev ディレクトリへの追加
サブディレクトリ |
説明 |
---|---|
ブロックディスクデバイス用 |
|
raw ディスクデバイス用 |
|
疑似端末 (pty) スレーブデバイス用 |
|
raw テープデバイス用 |
|
STREAMS 管理ドライバのエントリポイント用 |
|
端末デバイス用 |
/etc ディレクトリには、システム固有の構成情報が格納されます。ファイルやサブディレクトリの中には、削除または変更されたものがいくつかあり、また新たに追加されたものもあります。
SunOS 4.x /etc/fstab ファイルは /etc/vfstab に変更
rc、rc.boot、rc.local、rc.single といった初期設定用のスクリプトは SunOS 5.6 で利用できません。これらは 表 9-7 に示すスクリプトに変更され、対応する実行制御ファイルによって実行されます。表 9-8 に、SunOS 5.6 の /etc ディレクトリに追加されたサブディレクトリを説明します。
スクリプト |
実行制御ファイル |
---|---|
/sbin/rc0 |
|
/etc/rc1.d |
/sbin/rc1 |
/etc/rc2.d |
/sbin/rc2 |
/etc/rc3.d |
/sbin/rc3 |
/etc/rc4.d |
/sbin/rc4 |
/etc/rc5.d |
/sbin/rc5 |
/etc/rc6.d |
/sbin/rc6 |
/sbin/rcS |
表 9-8 /etc ディレクトリへの追加
サブディレクトリ |
説明 |
---|---|
デフォルトのシステム構成を定義 |
|
インターネットサービスの構成を定義 |
|
LP システムの構成を定義 |
|
インストールされたオプションソフトウェアを定義 |
|
実行状態の変更操作を定義 |
|
サービスアクセス機能 (SAF) の構成を定義 |
SunOS 5.6 ソフトウェアでは、以前の /etc/vfstab ファイルが仮想ファイルシステムのファイル /etc/vfstab に変更されます。 仮想ファイルシステムのアーキテクチャにおいて /etc/vfstab ファイルが提供するのは、ファイルシステム管理を行うための汎用コマンドが使用する、デフォルトのファイルシステムパラメータです。これらのコマンドに関する説明は、「汎用ファイルシステムコマンド」を参照してください。
名前が変更されたことのほかに、/etc/vfstab ファイルと /etc/vfstab ファイルには下記の相違点があります。
device to fsck フィールドの追加。fsckによりチェックされる raw デバイスの名前を指定します。
automount フィールドの追加。ファイルシステムを常にマウントするよう制御するため mountall が使用します (ただし、自動マウントデーモンはこのフィールドを使用しない)。
freq フィールドの削除。以前はこのフィールドにダンプの間隔を日数で指定していました。
ファイルシステムテーブルには 7 つのフィールドがあり、タブで区切られています。表 9-9 にフィールドエントリを示します。
/etc/vfstab ファイルのフィールドにはそれぞれエントリが必要です。フィールドに設定する値がない場合は、ダッシュ (-) を入れてください。
フィールド名 |
内容 |
---|---|
device to mount |
このフィールドにあるエントリは次のとおり ローカルな UFS ファイルシステム用のブロック型特殊デバイス (たとえば /dev/dsk/c0t0d0s0 など) リモートファイルシステムのリソース名 (たとえば NFS ファイルシステム用の myserver:/export/home など) スワップ先のスライス名 (たとえば /dev/dsk/c0t3d0s1 など) /proc ディレクトリと proc ファイルシステム形式 ファイルシステム形式が hsfs の CD-ROM /dev/diskette ファイルシステム形式が pcfs または UFS の /dev/diskette このフィールドはスワップファイルシステムを指定する場合にも使用。リモートファイルシステムの詳細については『NFS の管理』を参照のこと。 |
device to fsck |
ファイルシステムに対応する raw (キャラクタ型) 特殊デバイスは device to mount フィールドで指定する (たとえば /dev/rdsk/c0t0d0s0 など)。これにより fsck が使用する raw インタフェースが決定する。読み出し専用ファイルシステムやネットワークベースのファイルシステムのように、適用できるデバイスがない場合はダッシュ (-) を使用する。 |
mount point |
デフォルトのマウントポイントディレクトリ (たとえば /dev/dsk/c0t0d0s6 用の /usr など) |
FS type |
device to mount フィールドで指定されるファイルシステム形式 |
fsck pass |
ファイルシステムをチェックするかどうかを判定するため、fsck が使用するパス番号。フィールドにダッシュ (-) が指定されていればファイルシステムはチェックされず、1 以上の値が設定されていればチェックされる。また UFS 以外のファイルシステムの場合、このフィールドに 0 が設定されていればファイルシステムはチェックされる。UFS ファイルシステムの場合のみ、フィールドの値が 0 のときファイルシステムはチェックされない。 fsck が
という条件を満たす複数の UFS ファイルシステム上で実行される場合、別のディスクにあるファイルシステムを、効率を上げるためパラレルで自動的にチェックする。フィールドの値が 1 のとき、ファイルシステムは連続してチェックされるが、1 以外であればパス番号の値はまったく影響しない。SunOS 5.6 では、ファイルシステムがチェックされる順序を fsck pass フィールドで明示的に指定することはない。 |
automount? |
システムのブート時、mountall によりファイルシステムを自動的にマウントするかどうかを「yes」または「no」で指定する。ここでは、SunOS 4.x /etc/fstab の 4 カラム目にある auto が「yes」、noauto が「no」 と解釈される。このフィールドは automount プログラムとはまったく関係ない。 |
mount options |
カンマで区切ったオプションの一覧 (スペースでは区切らない) で、ファイルシステムのマウントに使用される。オプションがない場合はダッシュ (-) を使う。利用可能なオプションについては、mount(1M) マニュアルページを参照のこと。 |
例 9-1 は SunOS 5.6 /etc/vfstab ファイルの例です。
/etc/vfstab ファイルの詳細については『Solaris のシステム管理』を参照してください。
etc/shadow ファイルは SunOS 5.6 環境に新しく追加されたファイルで、個々のユーザのログインアカウントに対するパスワード有効期限の設定を行うためのエントリや、暗号化されたパスワードが格納されます。/etc/shadow ファイルには、通常の読み出しパーミッションが設定されていません。これにより、以前は /etc/passwd ファイルに入っていた暗号化パスワードへの一般的なアクセスを防ぐことができます。
SunOS 5.6 の /sbin ディレクトリには、ファイルシステムのマウント以前に行われるシステムの初期化に使用される rcs スクリプトだけでなく、システムの実行レベルを変更するために使用される rc スクリプトが格納されます。rc については『SunOS Reference Manual』のセクション 1M「System Administartion Command」のマニュアルページを、スクリプトの説明は 「システム実行レベルの変更」を参照してください。
SunOS 5.6 の /usr ディレクトリには、システムが提供する共有可能ファイルおよび実行可能ファイルが格納されます。 表 9-10 では、SunOS 5.6 の /usr ディレクトリに対して、 追加されたサブディレクトリについて説明します。
表 9-10 /usr ディレクトリへの追加
サブディレクトリ |
説明 |
---|---|
C コンパイルシステム |
|
admintool により使用される実行可能ファイルおよび他のファイル |
表 9-11 では、SunOS 5.6 において SunOS 4.x の /usr ディレクトリから移されたファイルを示します。
表 9-11 /usr ディレクトリにおいて変更されたファイル
SunOS 4.x における位置 |
SunOS 5.6 における位置 |
---|---|
/usr/sbin |
|
内容を削除 |
|
/usr/bin |
|
/usr/lib |
|
/usr/include |
付録 E 「/ と /usr ファイルシステムの変更」 には、各ファイルシステムに含まれるディレクトリとファイルの詳細情報を説明する表があります。
/var ディレクトリには、通常の操作を行なっている間に大きさが変化するファイルが格納されます。/var ディレクトリに入っていたファイルやサブディレクトリの中には、削除または変更されたものがいくつかあり、また新たに追加されたものもあります。
SunOS 5.6 の /kernel ディレクトリには、オペレーティングシステムのカーネルとカーネルレベルのオブジェクトモジュールが格納されます。これらは SunOS 4.x では /sys ディレクトリにありました。表 9-12 では、SunOS 5.6 で /kernel ディレクトリに追加されたサブディレクトリについて説明します。
表 9-12 /kernel ディレクトリへの追加
サブディレクトリ |
説明 |
---|---|
デバイスドライバと疑似デバイスドライバモジュール |
|
実行可能ファイル ELF または a.out を実行するためのカーネルモジュール |
|
ufs、nfs、proc、fifo などのファイルシステムを実装するカーネルモジュール |
|
その他のモジュール |
|
スケジューリングクラスと対応するディスパッチテーブルを含むモジュール |
|
STREAMS モジュール |
|
システムアカウントやセマフォ処理などのロード可能なシステムコール |
|
ブート時にロードされるオペレーティングシステムのカーネル |
SunOS 5.6 の /opt ディレクトリには、オプションのアドオンアプリケーションソフトウェアパッケージが格納されます。SunOS 4.x システムでは、これらのパッケージが /usr ディレクトリにインストールされていました。
/sys ディレクトリは削除されました。このディレクトリにはカーネルの再構成に使用されるファイルが入っていましたが、動的カーネルによりカーネルの再構成が行われなくなったため不要となりました。
SunOS 5.6 ソフトウェアで変更されたファイルシステム管理コマンドは次のとおりです。
ファイルシステムのマウント
ファイルシステムの監視
ファイルシステムの共有
新しいファイルシステムの作成
ファイルシステムのチェック
ファイルのバックアップと復元
SunOS 5.6 ソフトウェアでファイルシステムを管理する準備ができたら、『Solaris のシステム管理』で必要な作業を実行する際の詳細を参照してください。
マウント機能で大幅に変更されたのは、自動マウント autofs です。autofs プログラムは、たとえば cd(1) や ls(1) を使用してディレクトリにアクセスするときに、自動的にそのディレクトリをマウントします。この機能にはファイル階層、CD-ROM とフロッピーディスクのファイルシステムなどが含まれます。
システムが実行レベル 3 に入ると、自動的に autofs が起動します。また、ユーザがシェルコマンド行から autofs を起動することもできます。
autofs は maps で指定されるファイルシステムと連係して動作します。これらのマップは NIS、NIS+、またはローカルファイルとして管理されます。autofs マップは特定のファイルに対していくつかのリモートのマウントポイントを指定できます。このようにして、サーバの 1 つがダウンしても、autofs は別のシステムからマウントを実行できます。それぞれのサーバに重み係数を割り当てて、マップの資源にどのサーバが適しているかを指定することができます。
autofs で一部のファイル階層をマウントできますが、マウントコマンドでもファイル階層をマウントできます。ディスクレスシステムは、/(ルート)、/usr、/usr/kvm についてのエントリを /etc/vfstab ファイルの中に持っていなければなりません。共用ファイルシステムは常に使用できるようにしておく必要があるので、/usr/share のマウントに autofs を使用しないでください。
次の例では、mount コマンドを使用して /etc/vfstab ファイルに登録されているファイルシステムを手作業でマウントする方法を示します。
マウントポイントを作成したいディレクトリに変更します。
マウントポイントディレクトリを作成します。
マウントポイントまたはブロック型デバイスのどちらかを指定します。 通常は、マウントポイントを指定する方が簡単です。その他の情報は、/etc/vfstab から読み込まれます。
root になって、マウントコマンドを入力し、マウントポイントまたはブロック型デバイスのどちらかを指定します。
通常は、マウントポイントを指定する方が簡単です。その他の情報は、/etc/vfstab から読み込まれます。
# mount mount-point |
ファイルシステムがマウントされました。
mount にオプションを指定して、または指定しないで各種のファイルシステムをマウントする方法については、『Solaris のシステム管理』を参照してください。
mount マウントコマンドの名前と書式の一部は、表 9-13 に示すように異なります。
表 9-13 mount コマンドの相違
SunOS 4.x |
SunOS 5.6 |
---|---|
mount |
mount |
mount -a |
mountall |
umount |
|
exportfs | |
showmount -e |
これらのコマンドの変更の詳細については、付録 A 「コマンドリファレンス」 を参照してください。
このリリースでは、取り外し可能な媒体がドライブに挿入されると、CD-ROM とフロッピーディスクのファイルシステムは、自動的に /cdrom や /floppy にマウントされます。これらのファイルシステムは、ボリュームマネージャのデーモン vold(1M) で管理されているため、ユーザが自分でこれらのデバイスをマウントすることはできません。詳細については、「ボリュームマネージャの使用」 を参照してください。
SunOS 5.6 システムでは、システム起動時にマウントしたいファイルシステムを、/etc/fstab ファイルではなく、ユーザの /etc/fstab に指定する必要があります。/etc/vfstab の書式は /etc/fstab の書式とは異なります。/etc/vfstab ファイルの詳細については、「/etc/vfstab ファイル」 を参照してください。
表 9-14 はファイルとディレクトリの監視コマンドを示します。
表 9-14 ファイルとディレクトリ監視コマンド
コマンド |
提供される情報 |
変更 (該当する場合) |
---|---|---|
ファイルの大きさ、作成日、パーミッション、所有者 |
なし |
|
ディレクトリの合計サイズと内容 |
なし |
|
ファイルシステム、ディレクトリ、またはマウントされた資源で占められるディスク空間。使用済みと未使用のディスク空間。 |
SunOS 4.x の df コマンド の出力は、SunOS 5.6 の df コマンドとは多少異なる。 SunOS 5.6 の -k オプションを使用する出力は、SunOS 4.x の -k オプションの出力と似ている。SunOS 4.x の df -t filesystem は、指定された形式のファイルを表示する。一方、 SunOS 5.6 の df -t コマンドは、全リストを合計値付きで出力する。 |
|
ユーザが所有するブロック数 |
なし |
|
検索基準を満たすファイル名 |
次の SunOS 4.x オプションは、SunOS 5.6 コマンドでは使用できない。-n cpio-device cpio -c フォーマットでデバイスにファイルを書き込む。 |
SunOS 4.x では、ファイルシステムは他のシステムで使用するために「エクスポート」されていました。これは、/etc/exports ファイルと exportfs コマンドによって行われていました。ただし、エクスポートできるのは NFS システムファイルだけでした。
SunOS では、これと同じ概念を「資源の共用」と呼び、さらに多くのファイルシステムを含めるために拡張しました。ファイルシステムは、share(1M) コマンドと share(1M) コマンドを使用して共用されます。share コマンドは exportfs pathname コマンドに似ていて、shareall は exportfs -a コマンドに似ています。
share -F fstype オプションは、共用するファイルシステムの形式を指定します。-F オプションを指定しないと、share は /etc/dfs/dfstab ファイルに登録されている最初のファイルシステム形式を使用します。
自動的に共用したいファイルシステムは、/etc/dfs/dfstab ファイル (/etc/export ファイルが変更) に share コマンドエントリを持っていなければなりません。このファイルに指定されたコマンドは、システムが実行レベル 3 (ネットワークファイルを共用するマルチユーザモード) に入ったときに自動的に実行されます。
はじめのエントリは、mercury、venus、mars のクライアントに、/export/home1 の読み取り/書き込みを許可します。2 行目のエントリは、saturn と jupiter のクライアントに、/export/news の読み取りだけを許可します。
share -F nfs -o rw=mercury:venus:mars -d "Home Dir" /export/home1 share -F nfs -o ro=saturn:jupiter -d "News Postings" /export/news |
システムがマルチユーザモードで動作しているときに、登録されているクライアントがこれらのファイルシステムを使用できます。share コマンドは、ローカルシステムで共有されているすべての資源を表示します。
% share - /export/home1 rw=mercury:venus:mars "Home Dir" - /export/news ro=saturn:jupiter "News Postings" |
newfs(1M) または mkfs(1M) コマンドのどちらかを使用するときは、新しいファイルシステムを定義し、指定、作成します。次の節では、newfs と mkfs コマンドの変更点について説明します。
SunOS 5.6 の newfs コマンドは、mkfs コマンドの便利なフロントエンドと考えられるコマンドです。newfs コマンドは、仮想ファイルシステムアーキテクチャをサポートしていません。このコマンドは UFS 形式のファイルシステムだけを作成するためのものです。newfs を使用すると、newfs は mkfs を呼び出して引数を渡します。ufs ファイルシステムの作成時に mkfs が実際の作業を行います。
newfs コマンドでは、SunOS 5.6 のデバイス命名規則に準拠する名前だけを使用できます (「デバイス命名規則」を参照してください)。
SunOS 5.6 の mkfs コマンドは、SunOS 4.x の mkfs コマンドとは大幅に異なります。SunOS 5.6 では、異なるファイルシステム形式を提供し、そのコマンド構文はまったく異なります (「汎用ファイルシステムコマンド」を参照してください)。mkfs では、newfs のように SunOS 5.6 デバイスの命名規則に準拠する名前だけを使用できます。
mkfs は異なる形式のファイルシステムをサポートしていますが、実際にはいつも ufs ファイルシステムを作成するために使用されています。しかし、mkfs は通常は直接実行されず、newfs コマンドで呼び出されるのが普通です。
詳細については、mkfs(1) のマニュアルページを参照してください。
SunOS 5.6 の fsck(1M) コマンドは、SunOS 4.x の fsck コマンドとは大幅に異なります。仮想ファイルシステム (VFS) アーキテクチャに対応するため、fsck ファイルチェックユーティリティには次の 2 つに分けられます。
ファイルシステムの形式に関係なく最初に呼び出される汎用コマンド。
対象となるファイルシステムの形式に応じて、汎用コマンドによって呼び出される特定のコマンド (「汎用ファイルシステムコマンド」を参照)。
また、fsck では、SunOS 5.6 のデバイス命名規則に適合する名前だけを使用できます。 SunOS 5.6 のデバイス命名規則の詳細については、「デバイス命名規則」を参照してください。
fsck コマンドは、マウント時に、より高速な整合性チェックを実施します。さらに、SunOS 5.6 ソフトウェアは、ルートと /usr ファイルシステムについて fsck を実行した後でシステムをリブートする必要はありません。この結果、従来の SunOS と比較し、システムの起動が高速化されます。fsck -m コマンドを使用すれば、ユーザはクリーンなファイルシステムのチェックを省略できます。詳細については、fsck(1m) のマニュアルページを参照してください。
この節では、SunOS 4.x と SunOS 5.6 間のバックアップと復元コマンドの変更点と、ufsdump, ufsrestore、dd、tar、および cpio コマンドの使用方法について説明します。
SunOS 4.x は、ファイルをバックアップおよび復元するためのユーティリティ dump、restore、tar、cpio、dd、bar そしてアンバンドルの Backup CoPilot プログラムをサポートしています。このリリースは、bar と Backup CoPilot を除くユーティリティのすべてをサポートしています。SunOS 4.x の bar ファイルは、SunOS 5.6 システムで復元することができますが、新しい bar ファイルを作成することはできません。 dump(8) と restore(8) コマンドは、ufsdump(1M) と ufsrestore(1M) に名前が変更されました。SunOS 4.x の dump コマンドで作成されたファイルは、SunOS 5.6 システム上に ufsrestore で復元できます。
SunOS 5.6 ソフトウェアにはファイルシステムをコピーするための 2 つのユーティリティ volcopy(1M) と labelit(1M) が追加されました。
ufsdump コマンドは、SunOS 4.x の dump コマンドと同じコマンド構文を使用します。ufsdump は 表 9-15 のオプションも使用できます。
表 9-15 dump コマンドで使用できない ufsdump コマンドのオプション
オプション |
機能 |
---|---|
-l |
自動ロード。(ダンプを完了する前に) テープの終端に達したら、ドライブをオフラインにして、テープドライブが再び準備できるまで最高 2 分間待つ。これによって、自動ロード (スタックローダ) テープドライブに新しいテープをロードする時間を与える。2 分以内にドライブが準備できたらロードを続ける。2 分待っても準備ができない場合は、通常どおりオペレータに他のテープをロードするよう要求して待つ。 |
-o |
オフライン。テープまたはフロッピーディスクが終了する (ダンプが完了するか、媒体の終わりに達する) と、ドライブをオフラインにする。フロッピーディスクドライブの場合は、フロッピーディスクをイジェクトする。テープドライブの場合は、テープを巻き戻す。これは別のプロセスがドライブを使用し、誤ってデータを変換してしまわないようにするためである。 |
-S |
ダンプの大きさを見積る。ダンプするのに必要なスペースの合計を求める。そして、ダンプの見積りサイズをバイト数で出力する。これは、増分バックアップにもっとも有効である。 |
dump と異なり、ufsdump は媒体の終端を検出できるため、-s サイズオプションを使用してダンププログラムに媒体の終端に達する前に次のテープに移らせる必要はありません。ただし、restore コマンドの古いバージョンとの互換性を確保するために、ufsdump では -s オプションを使用できます。
ufsdump は現在では媒体の終端を検出できますが、-s オプションで媒体の大きさを指定しない限り、ダンプに必要なフロッピーディスクやテープの数を予測する方法はありません。したがって、媒体の大きさを指定しない限り、バックアップの開始時に表示されるメッセージは、必要なフロッピーディスクやテープの数を表示しません。
-w と -W オプションは、SunOS 5.6 では多少異なります。SunOS 4.x では、これらのオプションは、/etc/fstab ファイルに指定されたバックアップ間隔に従って、バックアップのスケジュールが行われたすべてのファイルシステムを表示しました。SunOS 5.6 でこれに相当するファイルである /etc/vfstab には、バックアップ間隔を指定する手段がないため、これらのオプションは各ファイルシステムが毎日バックアップされるものと仮定しています。したがってこれらのオプションは、その日のうちにバックアップされていないファイルシステムをすべて表示します。
ネットワークでバックアップを実行するときは (ローカルファイルシステムをリモートテープドライブへバックアップする)、テープドライブを備えたシステムに適したデバイス命名規則を使用します。テープドライブを備えたシステムが SunOS 5.6 システムの場合、デバイス命名規則に従ってテープドライブを識別します。それ以外の場合、SunOS 4.x の規則に従います。
SunOS 5.6 の ufsrestore コマンドは、SunOS 4.x の restore コマンドに似ています。SunOS 4.x の dump コマンドで作成した古いバックアップはすべて復元できます。ただし例外があり、フロッピーディスクから、複数のボリュームのバックアップを復元することはできません。restore を起動するバックアップスクリプトがある場合は、ufsrestore を起動するスクリプトに変更してください。
SunOS 4.x の dd コマンドでは、サイズの接尾辞 -w (word の -w) は、サイズ単位が 4 バイトであることを意味します。SunOS 5.6 の dd コマンドでは、-w は 2 バイト単位であることを意味します。さらに、SunOS 5.6 では、-unblock と -block 変換オプションをサポートしています。
tar と cpio コマンドはバイナリ以外のフォーマットを使用するため、これらのコマンドは、SVR4 の実装間でデータ交換が可能な唯一のユーティリティです。ufsdump や dd などの他のバックアップユーティリティは、ベンダに固有のもので、ある SVR4 の実装で正常に動作しても別の SVR4 でうまく動作するかどうかは保証されません。
tar コマンドはこのリリースでは変更されていないため、SunOS 4.x コマンドと同じオプションとコマンド構文を使用できます。しかし、SunOS 5.6 ソフトウェアのデバイス命名方法が変更されているため、tarfile (または、device) 引数が影響を受けます。-f 関数修飾子を使用するときは、デバイス引数を /dev/rmt/unit として指定します。ここで、unit はテープドライブ番号と密度です。表 9-16 は、テープデバイス名のテープドライブ密度を表す文字を示します。
表 9-16 テープデバイス名のテープドライブ密度
密度 |
説明 |
---|---|
指定なし |
デフォルトの「適切な」 (最高) 密度 |
l |
低密度 |
m |
中密度 |
h |
高密度 |
c |
圧縮 |
u |
超高密度 |
tar コマンドでは、/dev/rmt8 をデフォルト出力デバイスとして使用しません。-f 修飾子を使用せず、 TAPE
環境変数が設定されていないときには、tar コマンドは /etc/default/tar ファイルに設定されたデフォルトを使用します。
SunOS 5.6 の cpio コマンドは、SunOS 4.x のオプションとコマンド構文をサポートします。cpio は、表 9-17 に示す多くの新しいオプションを使用できるようにするため拡張されました。
表 9-17 追加された cpio オプション
オプション |
オプションで使用できるコマンド |
説明 |
---|---|---|
-A |
cpio -o |
アーカイブにファイルを追加する。 |
-k |
cpio -i |
壊れたファイルヘッダと検出した入出力エラーをスキップする。このオプションは壊れた、または順序通りでない媒体からファイルをコピーする。 |
-L |
cpio -o または cpio -p |
シンボリックリンクをたどる。 |
-V |
cpio -i, cpio -o または cpio -p |
特殊な冗長表示。読み取った、または書き込んだ各ファイルに対してドットを表示する。このオプションは、ファイル名を表示しないで、cpio が動作中であることを保証する。 |
-C bufsize |
cpio -i または cpio -o |
bufsize で指定するバイト数単位で、入出力をレコードに分割する。ここで、bufsize は正の整数。-C または -B を指定しないと、デフォルトのバッファサイズは 512 バイト。 |
-E filename |
cpio -i |
アーカイブから抽出するファイル名を含むファイルを指定し入力する。 |
-H header |
cpio -i または cpio -o |
header で指定するフォーマットのヘッダ情報を読み取るか、または書き込む。header には、bar (読み取り専用)、 crc、 CRC、 odc、 tar、 TAR、ustar、 USTAR のいずれかを指定できる。 |
-I filename |
cpio -i |
入力アーカイブとして filename を読み取る。 |
-M message |
cpio -i -I filename または cpio -o -O filename |
媒体を切り替えるときに使用するメッセージを定義する。 |
-O filename |
cpio -o |
出力を filename へリダイレクトする。 |
-R userid |
cpio -i または cpio -p |
各ファイルの所有権とグループ情報を userid に再度割り当てる。 |
cpio による実行では、-i (コピーイン)、-o (コピーアウト)、または -p (パス) の 3 つのオプションの内のどれか 1 つだけを指定する必要あります。