Solaris 2.x への移行

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

この節では、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 のシステム管理を参照してください。

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