Solaris 移行ガイド

第 9 章 ファイルシステムの管理

この章では、ファイルシステムのレイアウトの変更、ファイルシステムの変更、また、仮想ファイルシステム、ディレクトリ、ファイルの変更点について説明します。次のファイルシステム管理の変更点についても説明しています。

この章は、次の節で構成されています。

ファイルシステムの理解と管理についての詳細は、『Solaris のシステム管理 (第 1 巻)』を参照してください。

ファイルシステムの変更

SunOS 5.6 と SunOS 4.x のファイルシステムは類似しています。しかし、システムディレクトリとファイルの位置と名前は変更されています。また、新しいファイルシステムと新しい疑似ファイルシステムがあり、ディレクトリの 1 つが削除されました。

ファイルシステムの位置と名前についての変更は次のとおりです。

疑似ファイルシステム

TFS 疑似ファイルシステムは SunOS 5.6 には含まれていません。

追加された疑似ファイルシステムは次のとおりです。

ファイルシステムの追加

次のファイルシステムは SunOS 5.6 のディレクトリ構造に含まれています。

デフォルトのファイルシステムとディレクトリ

SunOS 5.6 のファイルシステムは階層型です。図 9-1 は、SunOS 5.6 のデフォルトディレクトリとファイルシステム (点線で示されている) を示したものです。ここでは、ディレクトリ、またはファイルシステムが実際に持つサブディレクトリの例を示しています。 表 9-1 に簡単な説明があります。

図 9-1 Solaris 7 のデフォルトファイルシステムとディレクトリ階層

Graphic

Solaris 7 ソフトウェアには、ファイルシステムとディレクトリのデフォルトセットが含まれていて、一定の規則に従って類似した種類のファイルをグループにまとめています。表 9-1 で、デフォルトファイルシステムとディレクトリについて要約します。

表 9-1 Solaris 7 ファイルシステムとディレクトリ

ファイルシステムまたはディレクトリ 

形式 

説明 

/

ファイルシステム 

階層型ファイルツリーの最上部。ルートディレクトリには、カーネル (/kernel/unix)、デバイスドライバとシステムのブートに使用されるプログラムなど、システムの動作に重要なディレクトリやファイルが格納される。また、ローカルファイルシステムとリモートファイルシステムをファイルツリーにリンクするマウントポイントディレクトリも格納される。

/etc

ディレクトリ 

システム管理で使用されるシステム固有のファイルが格納される。 

/usr

ファイルシステム 

アーキテクチャ依存型と非依存型の共有可能ファイルが格納される。すべてのシステムタイプで使用可能なマニュアルページなどのファイルは /usr/share に格納される。

/home

ファイルシステム 

ユーザのホームディレクトリのマウントポイントで、ユーザのワークファイルが格納される。デフォルトでは、/home は現在自動マウントされる。

/var

ディレクトリ 

ローカルシステムがある限り、変化したり増大したりする可能性があるシステムファイルやディレクトリが格納される。たとえば、システムログ、viex のバックアップファイル、uucp ファイルなど。

/opt

ファイルシステム 

オプションのサードパーティ製ソフトウェアのマウントポイント。システムによっては、/opt がローカルディスクパーティションの UFS ファイルシステムになる場合がある。

/tmp

ファイルシステム 

システムがブートされるか /tmp のマウントが解除されるたびに消去される一時ファイル。

/vol

ファイルシステム 

取り外し可能な媒体用のディレクトリがあり、vold(1M) によって管理される。

/proc

ファイルシステム 

アクティブなシステムプロセスの番号順のリストがある。このファイルシステムはディスク領域を使用しない。 

/sbin

ディレクトリ 

ブートプロセスと手作業のシステム回復で使用される重要な実行可能ファイル。

仮想ファイルシステムアーキテクチャ

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 

ディスクベース 

UFS

UNIX ファイルシステム 

あり 

あり 

HSFS

CD-ROM ファイルシステム 

あり 

あり 

PCFS

PC ファイルシステム 

あり 

あり 

ネットワークベース

NFS

Sun の分散ファイルシステム 

あり 

あり 

疑似

SPECFS

特殊デバイスファイルシステム 

あり 

あり 

TMPFS

/tmp 一時ファイルシステム

あり 

あり 

LOFS

ループバックファイルシステム 

あり 

あり 

TFS

半透過ファイルシステム 

あり 

なし 

 

PROCFS

プロセスアクセスファイルシステム 

なし 

あり 

 

FDFS

ファイル記述子ファイルシステム 

なし 

あり 

 

FIFOFS

FIFO/ パイプファイルシステム 

なし 

あり 

 

NAMEFS

ネームファイルシステム 

なし 

あり 

 

SWAPFS

スワップファイルシステム 

なし 

あり 

 

CACHEFS

キャッシュファイルシステム 

なし 

あり

ファイルシステムについての詳細は、proc(4)fd(4) のマニュアルページと『Solaris のシステム管理 (第 1 巻)』を参照してください。

キャッシュファイルシステム (CACHEFS)

キャッシュファイルシステムはリモートファイルシステム、または CD-ROM などの低速装置の性能を改善するのに使用されます。ファイルシステムがキャッシュされていると、リモートファイルシステムや CD-ROM から読み込まれたデータは、ローカルシステムのキャッシュに格納されます。

スワップファイルの変更

SWAPFS は、SunOS 5.6 では、システムをブートするとき、またはスワップ空間を追加するときのデフォルトのスワップデバイスです。このスワップデバイスはスワップ空間として物理メモリを使用しますが、ディスクにも物理スワップ空間が必要です。

SunOS 4.x システムでは、デフォルトの物理スワップデバイスはシステム構成に依存します。スタンドアロンシステムのデフォルト sd0b ディスクレスシステムは、スワップファイルを bootparam サーバから取得します。SunOS リリース 5.6 ソフトウェアではスワップファイルを、ディスク上のファイルを指定せず、デフォルトダンプデバイスとして使用します。

サポートされない SVR4 ファイルシステムの形式

表 9-3 に SunOS 5.6 ではサポートされない SVR4 ファイルシステム形式を示します。

表 9-3 サポートされない SVR4 ファイルシステム形式

ファイルシステム名 

説明 

BFS

ブートファイルシステム 

S5

System V ファイルシステム 

xnamefs

XENIX セマフォファイルシステム

汎用ファイルシステムコマンド

ほとんどのファイルシステム管理コマンドは、汎用コンポーネントとファイルシステムコンポーネントを持っています。ファイルシステムコンポーネントを呼び出す汎用コマンドを使用してください。表 9-4 は、/usr/bin ディレクトリにある汎用ファイルシステム管理コマンドの一覧です。

表 9-4 汎用ファイルシステム管理コマンド

コマンド 

説明 

clri(1M)

i ノードをクリアする。 

df(1M)

空きディスクブロック数とファイル数を表示する。 

ff(1M)

ファイルシステムに含まれるファイル名と統計情報を一覧表示する。 

fsck(1M)

ファイルシステムの整合性を検査し損傷が見つかれば修理する。 

fsdb(1M)

ファイルシステムデバッガ 

fstyp(1M)

ファイルシステムの形式を判定する。 

labelit(1M)

テープへコピーするときにファイルシステムのラベルを表示または提供する (volcopy コマンドでのみ使用)。

mkfs(1M)

新しいファイルシステムを作成する。 

mount(1M)

ファイルシステムとリモートリソースをマウントする。 

mountall(1M)

ファイルシステムテーブルで指定されたすべてのファイルシステムをマウントする。 

ncheck(1M)

i 番号をもつパス名のリストを作成する。 

umount(1M)

ファイルシステムとリモートリソースのマウントを解除する。 

umountall(1M)

ファイルシステムテーブルで指定されたすべてのファイルシステムのマウントを解除する。 

volcopy(1M)

ファイルシステムのイメージコピーを作成する。

また、これらのほとんどのコマンドには、ファイルシステムに対応するものがあります。


注意 - 注意 -

ファイルシステムコマンドを直接使用しないでください。このディレクトリをサポートしないファイルシステムで動作させると、汎用コマンドが次のエラーメッセージを表示します。「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

/etc/fs

新しい UFS マウントオプション

ファイルのアクセス時刻を更新しない場合、UFS ファイルシステムをマウントするときに -o noatime オプションを指定できます。このオプションを指定すると、Usenet ニューススプールのようにアクセス時刻が重要でないファイルシステムのディスク使用率が削減されます。

ディレクトリとファイルの変更

この節では、SunOS 4.x と SunOS リリース 5.6 間の、ディレクトリとファイルに対する変更について説明します。

/dev ディレクトリ

/dev ディレクトリは、平坦なディレクトリから階層構造になりました。表 9-6 で追加されたサブディレクトリについて説明します。

表 9-6 /dev ディレクトリへの追加

サブディレクトリ 

説明 

/dev/dsk

ブロックディスクデバイス用 

/dev/rdsk

raw ディスクデバイス用 

/dev/pts

疑似端末 (pty) スレーブデバイス用

/dev/rmt

raw テープデバイス用 

/dev/sad

STREAMS 管理ドライバのエントリポイント用 

/dev/term

端末デバイス用 

/etc ディレクトリ

/etc ディレクトリには、システム固有の構成情報が格納されます。ファイルやサブディレクトリの中には、削除または変更されたものがいくつかあり、また新たに追加されたものもあります。

表 9-7 初期設定用スクリプトと対応する実行制御ファイル

スクリプト 

実行制御ファイル 

/etc/rc0.d

/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

/etc/rcS.d

/sbin/rcS

表 9-8 /etc ディレクトリへの追加

サブディレクトリ 

説明 

/etc/default

デフォルトのシステム構成を定義 

/etc/inet

インターネットサービスの構成を定義 

/etc/lp

LP システムの構成を定義 

/etc/opt

インストールされたオプションソフトウェアを定義 

/etc/rcn.d

実行状態の変更操作を定義 

/etc/saf

サービスアクセス機能 (SAF) の構成を定義 

/etc/vfstab ファイル

SunOS 5.6 ソフトウェアでは、以前の /etc/vfstab ファイルが仮想ファイルシステムのファイル /etc/vfstab に変更されます。 仮想ファイルシステムのアーキテクチャにおいて /etc/vfstab ファイルが提供するのは、ファイルシステム管理を行うための汎用コマンドが使用する、デフォルトのファイルシステムパラメータです。これらのコマンドに関する説明は、「汎用ファイルシステムコマンド」を参照してください。

名前が変更されたことのほかに、/etc/vfstab ファイルと /etc/vfstab ファイルには下記の相違点があります。

表 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

  • このフィールド (fsck pass) の値が 1 より大きい

  • preen オプション (-o p) が使用されている

という条件を満たす複数の 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 ファイルの例です。


例 9-1 SunOS 5.6 /etc/vfstab ファイルの例

#device                    device               mount           FS     fsck  auto    mount
#to mount                 to fsck              point           type   pass  mount?  options
#
/dev/dsk/c0t0d0s0          /dev/rdsk/c0t0d0s0   /               ufs    1     no      -
/proc                      -                    /proc           proc   -     no      -
swap                       -                    /tmp            tmpfs  -     yes     -
/dev/dsk/c0t0d0s6          /dev/rdsk/c0t0d0s6   /usr            ufs    2     no      -
/dev/dsk/c0t3d0s7          /dev/rdsk/c0t3d0s7   /files7         ufs    3     no      -
oak:/export/home1/ignatz   -                    /home/ignatz    nfs    -     yes     rw,intr


/etc/vfstab ファイルの詳細については『Solaris のシステム管理 (第 1 巻)』を参照してください。

/etc/shadow ファイル

etc/shadow ファイルは SunOS 5.6 環境に新しく追加されたファイルで、個々のユーザのログインアカウントに対するパスワード有効期限の設定を行うためのエントリや、暗号化されたパスワードが格納されます。/etc/shadow ファイルには、通常の読み出しパーミッションが設定されていません。これにより、以前は /etc/passwd ファイルに入っていた暗号化パスワードへの一般的なアクセスを防ぐことができます。

/sbin ディレクトリ

SunOS 5.6 の /sbin ディレクトリには、ファイルシステムのマウント以前に行われるシステムの初期化に使用される rcs スクリプトだけでなく、システムの実行レベルを変更するために使用される rc スクリプトが格納されます。rc については『SunOS Reference Manual』のセクション 1M「System Administartion Command」のマニュアルページを、スクリプトの説明は 「システム実行レベルの変更」を参照してください。

/usr ディレクトリ

SunOS 5.6 の /usr ディレクトリには、システムが提供する共有可能ファイルおよび実行可能ファイルが格納されます。 表 9-10 では、SunOS 5.6 の /usr ディレクトリに対して、 追加されたサブディレクトリについて説明します。

表 9-10 /usr ディレクトリへの追加

サブディレクトリ 

説明 

/usr/ccs

C コンパイルシステム 

/usr/snadm

admintool により使用される実行可能ファイルおよび他のファイル

表 9-11 では、SunOS 5.6 において SunOS 4.x の /usr ディレクトリから移されたファイルを示します。

表 9-11 /usr ディレクトリにおいて変更されたファイル

SunOS 4.x における位置 

SunOS 5.6 における位置 

/usr/5bin

/usr/bin

/usr/5include

/usr/include

/usr/5lib

/usr/lib

/usr/etc

/usr/sbin

/usr/old

内容を削除 

/usr/xpg2bin

/usr/bin

/usr/xpg2lib

/usr/lib

/usr/xpg2include

/usr/include

付録 E 「//usr ファイルシステムの変更」 には、各ファイルシステムに含まれるディレクトリとファイルの詳細情報を説明する表があります。

/var ディレクトリ

/var ディレクトリには、通常の操作を行なっている間に大きさが変化するファイルが格納されます。/var ディレクトリに入っていたファイルやサブディレクトリの中には、削除または変更されたものがいくつかあり、また新たに追加されたものもあります。

/kernel ディレクトリ

SunOS 5.6 の /kernel ディレクトリには、オペレーティングシステムのカーネルとカーネルレベルのオブジェクトモジュールが格納されます。これらは SunOS 4.x では /sys ディレクトリにありました。表 9-12 では、SunOS 5.6 で /kernel ディレクトリに追加されたサブディレクトリについて説明します。

表 9-12 /kernel ディレクトリへの追加

サブディレクトリ 

説明 

/kernel/drv

デバイスドライバと疑似デバイスドライバモジュール 

/kernel/exec

実行可能ファイル ELF または a.out を実行するためのカーネルモジュール

/kernel/fs

ufsnfsprocfifo などのファイルシステムを実装するカーネルモジュール

/kernel/misc

その他のモジュール 

/kernel/sched

スケジューリングクラスと対応するディスパッチテーブルを含むモジュール 

/kernel/strmod

STREAMS モジュール 

/kernel/sys

システムアカウントやセマフォ処理などのロード可能なシステムコール 

/kernel/unix

ブート時にロードされるオペレーティングシステムのカーネル 

/opt ディレクトリ

SunOS 5.6 の /opt ディレクトリには、オプションのアドオンアプリケーションソフトウェアパッケージが格納されます。SunOS 4.x システムでは、これらのパッケージが /usr ディレクトリにインストールされていました。

/sys ディレクトリ

/sys ディレクトリは削除されました。このディレクトリにはカーネルの再構成に使用されるファイルが入っていましたが、動的カーネルによりカーネルの再構成が行われなくなったため不要となりました。

ファイルシステム管理コマンドの使用

SunOS 5.6 ソフトウェアで変更されたファイルシステム管理コマンドは次のとおりです。

ファイルシステムのマウントと autofs

マウント機能で大幅に変更されたのは、自動マウント autofs です。autofs プログラムは、たとえば cd(1)ls(1) を使用してディレクトリにアクセスするときに、自動的にそのディレクトリをマウントします。この機能にはファイル階層、CD-ROM とフロッピーディスクのファイルシステムなどが含まれます。

システムが実行レベル 3 に入ると、自動的に autofs が起動します。また、ユーザがシェルコマンド行から autofs を起動することもできます。

autofsmaps で指定されるファイルシステムと連係して動作します。これらのマップは NIS、NIS+、またはローカルファイルとして管理されます。autofs マップは特定のファイルに対していくつかのリモートのマウントポイントを指定できます。このようにして、サーバの 1 つがダウンしても、autofs は別のシステムからマウントを実行できます。それぞれのサーバに重み係数を割り当てて、マップの資源にどのサーバが適しているかを指定することができます。

autofs で一部のファイル階層をマウントできますが、マウントコマンドでもファイル階層をマウントできます。ディスクレスシステムは、/ (ルート)、/usr/usr/kvm についてのエントリを /etc/vfstab ファイルの中に持っていなければなりません。共用ファイルシステムは常に使用できるようにしておく必要があるので、/usr/share のマウントに autofs を使用しないでください。

次の例では、mount コマンドを使用して /etc/vfstab ファイルに登録されているファイルシステムを手作業でマウントする方法を示します。

  1. マウントポイントを作成したいディレクトリに変更します。

  2. マウントポイントディレクトリを作成します。

  3. マウントポイントまたはブロック型デバイスのどちらかを指定します。 通常は、マウントポイントを指定する方が簡単です。その他の情報は、/etc/vfstab から読み込まれます。

  4. root になって、マウントコマンドを入力し、マウントポイントまたはブロック型デバイスのどちらかを指定します。

    通常は、マウントポイントを指定する方が簡単です。その他の情報は、/etc/vfstab から読み込まれます。


    # mount mount-point
    

    ファイルシステムがマウントされました。

    mount にオプションを指定して、または指定しないで各種のファイルシステムをマウントする方法については、『Solaris のシステム管理 (第 1 巻)』を参照してください。

mount コマンドの変更

mount マウントコマンドの名前と書式の一部は、表 9-13 に示すように異なります。

表 9-13 mount コマンドの相違

SunOS 4.x 

SunOS 5.6 

mount

mount

mount -a

mountall

umount

umount

umount -a

umountall

exportfs

share

exportfs -u

unshare

showmount -a

dfmounts

showmount -e

dfshares

これらのコマンドの変更の詳細については、付録 A 「コマンドリファレンス」 を参照してください。

/cdrom/floppy の自動マウント

このリリースでは、取り外し可能な媒体がドライブに挿入されると、CD-ROM とフロッピーディスクのファイルシステムは、自動的に /cdrom/floppy にマウントされます。これらのファイルシステムは、ボリュームマネージャのデーモン vold(1M) で管理されているため、ユーザが自分でこれらのデバイスをマウントすることはできません。詳細については、「ボリュームマネージャの使用」 を参照してください。

/etc/vfstab ファイルのファイルシステム指定

SunOS 5.6 システムでは、システム起動時にマウントしたいファイルシステムを、/etc/fstab ファイルではなく、ユーザの /etc/fstab に指定する必要があります。/etc/vfstab の書式は /etc/fstab の書式とは異なります。/etc/vfstab ファイルの詳細については、/etc/vfstab ファイル」 を参照してください。

ファイルシステムの監視

表 9-14 はファイルとディレクトリの監視コマンドを示します。

表 9-14 ファイルとディレクトリ監視コマンド

コマンド 

提供される情報 

変更 (該当する場合) 

ls

ファイルの大きさ、作成日、パーミッション、所有者 

なし 

du

ディレクトリの合計サイズと内容 

なし 

df

ファイルシステム、ディレクトリ、またはマウントされた資源で占められるディスク空間。使用済みと未使用のディスク空間。 

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 コマンドは、全リストを合計値付きで出力する。

quot

ユーザが所有するブロック数 

なし 

find

検索基準を満たすファイル名 

次の 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 コマンドに似ていて、shareallexportfs -a コマンドに似ています。

share -F fstype オプションは、共用するファイルシステムの形式を指定します。-F オプションを指定しないと、share/etc/dfs/dfstab ファイルに登録されている最初のファイルシステム形式を使用します。

自動的に共用したいファイルシステムは、/etc/dfs/dfstab ファイル (/etc/export ファイルが変更) に share コマンドエントリを持っていなければなりません。このファイルに指定されたコマンドは、システムが実行レベル 3 (ネットワークファイルを共用するマルチユーザモード) に入ったときに自動的に実行されます。

/etc/dfs/dfstab ファイルエントリの例

はじめのエントリは、mercuryvenusmars のクライアントに、/export/home1 の読み取り/書き込みを許可します。2 行目のエントリは、saturnjupiter のクライアントに、/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) コマンドのどちらかを使用するときは、新しいファイルシステムを定義し、指定、作成します。次の節では、newfsmkfs コマンドの変更点について説明します。

newfs コマンド

SunOS 5.6 の newfs コマンドは、mkfs コマンドの便利なフロントエンドと考えられるコマンドです。newfs コマンドは、仮想ファイルシステムアーキテクチャをサポートしていません。このコマンドは UFS 形式のファイルシステムだけを作成するためのものです。newfs を使用すると、newfsmkfs を呼び出して引数を渡します。ufs ファイルシステムの作成時に mkfs が実際の作業を行います。

newfs コマンドでは、SunOS 5.6 のデバイス命名規則に準拠する名前だけを使用できます (「デバイス命名規則」を参照してください)。

mkfs コマンド

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 つに分けられます。

ファイルのバックアップと復元

この節では、SunOS 4.x と SunOS 5.6 間のバックアップと復元コマンドの変更点と、ufsdump, ufsrestoreddtar、および cpio コマンドの使用方法について説明します。

SunOS 4.x は、ファイルをバックアップおよび復元するためのユーティリティ dumprestoretarcpioddbar そしてアンバンドルの 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 コマンド

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 の規則に従います。

ufsrestore コマンド

SunOS 5.6 の ufsrestore コマンドは、SunOS 4.x の restore コマンドに似ています。SunOS 4.x の dump コマンドで作成した古いバックアップはすべて復元できます。ただし例外があり、フロッピーディスクから、複数のボリュームのバックアップを復元することはできません。restore を起動するバックアップスクリプトがある場合は、ufsrestore を起動するスクリプトに変更してください。

dd コマンド

SunOS 4.x の dd コマンドでは、サイズの接尾辞 -w (word の -w) は、サイズ単位が 4 バイトであることを意味します。SunOS 5.6 の dd コマンドでは、-w は 2 バイト単位であることを意味します。さらに、SunOS 5.6 では、-unblock-block 変換オプションをサポートしています。

tarcpio コマンド

tarcpio コマンドはバイナリ以外のフォーマットを使用するため、これらのコマンドは、SVR4 の実装間でデータ交換が可能な唯一のユーティリティです。ufsdumpdd などの他のバックアップユーティリティは、ベンダに固有のもので、ある SVR4 の実装で正常に動作しても別の SVR4 でうまく動作するかどうかは保証されません。

tar コマンドはこのリリースでは変更されていないため、SunOS 4.x コマンドと同じオプションとコマンド構文を使用できます。しかし、SunOS 5.6 ソフトウェアのデバイス命名方法が変更されているため、tarfile (または、device) 引数が影響を受けます。-f 関数修飾子を使用するときは、デバイス引数を /dev/rmt/unit として指定します。ここで、unit はテープドライブ番号と密度です。表 9-16 は、テープデバイス名のテープドライブ密度を表す文字を示します。

表 9-16 テープデバイス名のテープドライブ密度

密度 

説明 

指定なし 

デフォルトの「適切な」 (最高) 密度 

低密度 

中密度 

高密度 

圧縮 

超高密度 

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 (読み取り専用)、

crcCRCodctarTARustarUSTAR のいずれかを指定できる。

-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 つだけを指定する必要あります。


UFS ログ

Solaris 7 では、UFS ログが提供されます。このプロセスは、UFS ファイルシステムに適用される前のトランザクション (完全な UFS 操作を行うための変更) をログに格納します。格納されたトランザクションは、後でファイルシステムに適用できます。

UFS ログの利点は 2 つあります。第一に、ファイルシステムの不整合を防止することで、fsck(1M) の実行が不要になる点です。第二に、fsck を迂回できるため、クラッシュまたは異常終了したシステムをリブートするための時間が UFS ログによって軽減される点です。

デフォルトでは、UFS ログは有効になっていません。有効にするには、ファイルシステムをマウントするときに mount(1M) コマンドに対して -o logging オプションを指定する必要があります。また、fsdb(1M) コマンドは、UFS ログをサポートする新しいデバッグコマンドで更新されています。

詳細については、『Solaris のシステム管理 (第 1 巻)』を参照してください。