この章では,System V 環境,コマンド,サブルーチン,システム・コールについて説明しています。 この章で説明しているコマンドによって,次のことが可能になります。
System V 動作環境は,SVID (System V Interface Definition) に定義されている Base System および Kernel Extension のすべてのコンポーネントに関して,ソース・コード・インタフェースおよび実行時動作をサポートする代替バージョンのコマンド,サブルーチン,およびシステム・コールで構成されています。 この System V 環境の実装により,すべての SVID 2 の機能と SVID 3 の機能がサポートされます。 System V 環境には,すでに SVID の要件を満たしているシステム標準のコマンド,サブルーチン,およびシステム・コールの代替バージョンは含まれません。
System V 環境を設定すると,システム標準のコマンドおよび関数の代りに,対応する System V のコマンドおよび関数 (システム・コールおよびサブルーチン) が使用されるようになります。 System V の環境には次の 2 つの方法でアクセスすることができます。
System V コマンドおよびライブラリの絶対パス名を指定する。
System V 環境のコマンドが,システム標準のコマンドより前に検索されるように,PATH
環境変数を定義する。
PATH
環境変数を設定するには,9.1 節の説明に従って,.profile
または
.login
および
.cshrc
ファイルを変更します。
System V のシステム・コールはシステム標準のシステム・コールに依存してないので,System V のシステム・コールを使用して構築されたアプリケーションを実行しても,性能上の障害は発生しません。
図 9-1
はオペレーティング・システム内の System V 機能の位置付けを示した概念図です。
この図から,System V のシステム・コールは,カーネル・レベルにあることがわかります。
図 9-1: System V 機能
以降の各節で,System V 環境にアクセスするための設定方法と,機能について説明します。
9.1 環境の設定
ログイン時に自動的に System V の環境にアクセスするには,Bourne,Korn,または POSIX シェルを使用している場合は
.profile
ファイルに,C シェルを使用している場合は
.login
および
.cshrc
ファイルにそれぞれコマンド行を追加します。
このコマンド行は
PATH
環境変数を変更し,/bin
または
/usr/bin
等のシステム標準のコマンドが格納されているディレクトリよりも先に,System V のコマンドが格納されているディレクトリが検索されるように設定します。
次のような System V 環境設定スクリプトが利用できます。
/etc/svid2_profile
ファイル (Bourne,Korn,または POSIX シェル用) および
/etc/svid2_login
ファイル (C シェル用)
それぞれ
.profile
または
.login
および
.cshrc
ファイルに追加すると,SVID 2 の動作を実行します。
/etc/svid3_login
ファイル (Bourne,Korn,または POSIX シェル用) および
/etc/svid3_profile
ファイル (C シェル用)
それぞれ
.profile
または
.login
および
.cshrc
ファイルに追加すると,SVID 3 の動作を実行します。
たとえば,Bourne,Korn,または POSIX シェルを使用し,SVID 2 の機能を指定する場合,.profile
ファイルに次の行を追加します。
if [ -f /etc/svid2_profile ] then . /etc/svid2_profile fi
C シェルを使用し,SVID 2 の機能を指定する場合,.login
および
.cshrc
ファイルに次の行を追加します。
if ( -e /etc/svid2_login ) then source /etc/svid2_login endif
ピリオド (.) と
source
コマンドはシェル固有です。
シェル・コマンドについての詳細は,該当するシェルのリファレンス・ページを参照してください。
9.2 環境設定スクリプトによる PATH 環境変数の設定
SVID 2 の動作を指定するスクリプトまたは SVID 3 の動作を指定するスクリプトのいずれを選択しても,次のように System V 環境を設定します。
System V のみの変数
SVID2PATH
を
/etc/svid2path
または
/etc/svid3path
の内容に定義する。
/etc/svid2path
および
/etc/svid3path
ファイルには,
それぞれ SVID 2 および SVID 3 のパスが定義されています。
PATH
の先頭に
SVID2PATH/bin
および
SVID2PATH/sbin
を追加する。
SVID2PATH
および
PATH
をエクスポートする。
TZ
変数を適切な値に設定する。
SVID 2 の機能を選択した場合にこの値を設定すると
TZC
変数が適切な値に設定されます。
タイム・ゾーン・フォーマットの詳細については,『システム管理ガイド』を参照してください。
以後,System V コマンドが格納されているディレクトリ名は,/etc/svid2path
または
/etc/svid3path
ファイルの内容を
cat
(1)
System V 環境設定スクリプトを使用して
PATH
環境変数を変更すると,システム管理者が各ユーザの
.profile
または
.login
および
.cshrc
ファイルを変更しなくても,System V 環境のパスが変更できます。
システム管理者は
/etc/svid2path
および
/etc/svid3path
ファイルを変更するだけで,グローバル定義を行うことができます。
System V 環境設定スクリプトが
PATH
を設定する方法については,次に示す
.profile
を参照してください。
これは,SVID 2 用の System V 環境設定スクリプトを指定します。
stty erase DEL kill ^U intr ^C quit ^X echo TERM=vt100 PATH=:$HOME/bin:/usr/lib:/bin MAIL=/usr/mail/$LOGNAME EDITOR=vi export MAIL PATH TERM EDITOR if [ -f /etc/svid2_profile ] then . /etc/svid2_profile fi
この例では,/etc/svid2path
にある System V コマンドのパスが
/usr/opt/s5
で,ログイン・ディレクトリが
/usr/users/xxx
であるとします。
前述の
.profile
ファイルを使用してログインした後,PATH
を表示すると,次のように System V コマンドへのパスが
.profile
ファイルの 3 行目の
PATH
設定の先頭に追加されて表示されます。
% echo $PATH [Return] /usr/opt/s5/bin:/usr/opt/s5/sbin:/usr/users/xxx/bin:/usr/lib:/bin
以後,シェル・コマンドを発行すると System V のコマンドを格納しているディレクトリが最初に検索されます。
このパスにコマンドが見つからない場合は指定されたパスが順次検索されます。
9.3 シェル・スクリプトの互換性
シェルの
PATH
環境変数を変更することによって,シェル・スクリプトの互換性が達成されます (9.1 節で説明)。
このため,System V のコマンドのパスがシステム標準のコマンドのパスより先に検索されます。
PATH
環境変数が System V 環境用に設定されていると,C シェルまたは Bourne,Korn,または POSIX シェルのいずれを使用している場合でも,シェル・スクリプトは System V との互換性を持ちます。
9.4 System V のコマンド概略
表 9-1
はシステム標準のコマンドとはオプションまたは機能が異なる System V のユーザ・コマンドの機能の概略です。
詳細については,各コマンドのリファレンス・ページを参照してください。
表 9-1: ユーザ・コマンドのまとめ
コマンド | System V 動作 |
chmod (1) |
シンボリック・モードで保護モードを変更する場合,許可を与えるユーザ群 (u,g,o) を省略すると
umask
を無視し,a
(すべてのユーザ) を指定した場合と同じ動作をします。 |
df (1) |
-t
オプションを指定すると,ディスク領域の合計が表示されます。
このとき,オプションでファイル・システム名またはデバイス名を指定できます。 |
ln (1) |
-f
オプションを指定すると,指定されたリンクを作成する前に既存のデスティネーションのパス名が削除されます。 |
ls (1) |
-C
オプションが指定されている場合に限りマルチ・カラムの出力を行います。
また
-s
オプションが指定されている場合,通常の 1024 バイト単位ではなく,512 バイト単位でファイルのサイズを出力します。 |
mailx (1)Mail (1) |
System V の
mailx
コマンドの機能をインクルードします。 |
sum (1) |
省略時は語単位のアルゴリズムを使用し,-r
オプションが指定された場合にバイト単位のアルゴリズムを使用します。
System V の
sum
コマンドでは,省略時の checksum アルゴリズムがシステム標準の
sum
コマンドのものと反対になります。 |
tr (1) |
-c
オプションを指定した場合,必ず
-A
オプションをインクルードします。
-A
オプションは ASCII コードが 8 進数の 1 から 377 の文字だけを対象にします。 |