バイナリ互換性ガイド

システムファイル

Solaris 8 リリースでは、多くのシステムファイルの名前が変更されたり、位置が変更されたりしています。このリリースでは存在しなくなったものもあり、形式が変わったものもあります。バイナリ互換パッケージは、シンボリックリンクを作成するか新規ファイルをインストールし、さらにデータをマップすることによって、可能な限りこの問題に対処します。


注 -

移植可能プログラムでは、システム依存ファイルの使用は避けてください。このようなファイルへのアクセスを必要とするプログラムは、提供されている標準インタフェースルーチンを使ってそのアクセスを行う必要があります。たとえば、この種のプログラムでは、/etc/mtab ファイルを直接オープンし読み取るのではなく、getmnt() ファミリのルーチンを使って mtab ファイルの内容にアクセスするようにします。


アカウントファイル

Solaris 8 のアカウントファイルは、SunOS 4.x のアカウントファイルと形式が異なります。アカウントファイルにアクセスするアプリケーションには、バイナリ互換性はありません。

/etc/exports、/etc/xtab

Solaris 8 リリースでは、システムファイルのエクスポートの取り扱い方が SunOS 4.x の場合と大幅に異なります。これらのファイルについてのバイナリ互換性はありません。しかし、ユーザーアプリケーションがこれらのファイルにアクセスする必要はないので、これは問題ではありません。

/etc/fstab、/etc/mtab

これらのファイルの名前と形式が変わりました。バイナリ互換パッケージは、これらのファイルに対する読み取り専用権をアプリケーションに与えるために必要なマッピングを行います。これらのファイルに対する書き込み権を必要とするアプリケーションには、バイナリ互換性はありません。アプリケーションは、これらのファイルへの書き込みは行わないものと想定されます。


注 -

これらのファイルへのシンボリックリンクはサポートされなくなりました。つまり、アプリケーションが /etc/fstab または /etc/mtab へのリンクを作成し、シンボリックリンクをオープンしようとすると、その open() コールは失敗します。


/etc/gettytab

このファイルに直接対応するファイルは Solaris 8 リリースにはありません。バイナリ互換パッケージの一部としても提供されていません。このファイルを使用するアプリケーションには、バイナリ互換性はありません。

/etc/passwd

Solaris 8 リリースでは、実際のパスワードはシャドウファイル内に保管されます。passwd ファイルにアクセスしてパスワードを取得するアプリケーションにバイナリ互換性はありません。すべてのアプリケーションは、getpw() インタフェースルーチンを介してこのファイルにアクセスする必要があります。

/etc/printcap

SunOS 4.x の printcap は、SunOS 5.x では terminfo ディレクトリツリーで置き換えられました。バイナリ互換パッケージは、アプリケーションが実行されているホスト上の対応するデータへの読み取り専用権を、アプリケーションに与えます。printcap への書き込み権は許可されていません。

/etc/ttys

SunOS 4.x ではこのファイルは廃止されました。utmp ファイルの形式およびアクセスメカニズムが著しく異なるため、/etc/ttysutmp ファイルの間の関係に依存するプログラムは、Solaris 8 リリースでは働きません。動的にリンクされるアプリケーションには、ttyslot を使用してください (静的にリンクされるアプリケーションには無効です)。

/etc/ttytab

SunOS 4.x では、このファイルは /etc/ttys に取って代わりました。SunOS 5.x では廃止されました。互換性は提供されていません。

/etc/utmp、/var/adm/wtmp

これらのファイルは、現在 Solaris では提供されていません。これらのファイルのシンボリックリンクもサポートされていません。