sysck コマンド
目的
インストール時にインベントリー情報を確認し、プロシージャー更新します。
構文
sysck { -i | -u } [ -R RootPath ] [ -N ] [ -v ] [ -s SaveFile ] [ -O { r | s | u } ] -f File ProductName { tcbck Flags }
このコマンドでは、 すべての tcbck コマンド・フラグが有効です。
説明
注: tcbck コマンドの全フラグは、sysck コマンドにも有効です。 この機能により、バージョン 3.1 との互換性が生まれます。 tcbck コマンドおよびそのフラグの完全なリストについて、詳しくは、「コマンド・リファレンス」を参照してください。
sysck コマンドは、インストールおよび更新メディアから抽出されたファイルについてファイル定義を検査し、ソフトウェア重要プロダクト・データ (SWVPD) データベースを更新します。sysck コマンドは、ファイル名中の特殊文字 `、'、¥、"、^、(、)、|、{、}、[、]、<、および > を認識しません。これらの文字が 1 つでもファイル名の中にあると、sysck コマンドは失敗します。
sysck コマンドは、主としてソフトウェア・プロダクトのインストールおよび更新時に使用されます。
-i フラグを指定して起動すると、sysck コマンドは抽出したファイルのファイル定義と一緒にその属性を検査し、SWVPD を更新し、さらにエラーがあった場合はそれらを修正しようとします。
File パラメーターは、ファイル定義を含むスタンザ・ファイルの名前です。この種のファイルの例には /etc/security/sysck.cfg ファイルがありますが、syschk コマンドはこのファイルを使用しません。sysck コマンドは、 タイプ属性が FILE に設定されているファイルのサイズ、 リンク、シンボリック・リンク、オーナー、グループ、およびモード属性を検査します。-i フラグだけでなく -v フラグも指定して起動すると、sysck は、ファイルのチェックサム値も検査します。
sysck コマンドは、SWVPD データベース内の各ファイルのファイル名、プロダクト名、タイプ、チェックサム、およびサイズを更新します。
sysck コマンドは、エラーを修正するために、 エラーの修正のセクションに説明されているいくつかの属性を除き、 インストール、または更新されたファイルの属性を File スタンザ・ファイルで定義された値に再設定します。
-u フラグを指定して起動すると、sysck コマンドはソフトウェア・プロダクトの ProductName の一部である各ファイルに対して、SWVPD データベースからそのエントリーを除去します。さらに、sysck コマンドは、SWVPD データベースで定義されているように、各ファイル用にすべてのハード・リンクおよびシンボリック・リンクも削除します。
フラグ
項目 | 説明 |
---|---|
-f File | ファイル定義を含むスタンザ・ファイルの名前を指定します。 |
-i | ソフトウェア・プロダクトのファイルが正しくインストールされているかを検査します。ファイル名定義と一緒に SWVPD データベースを更新して、エラーを検出した場合はそれを修正しようとします。 |
-N | SWVPD データベースを更新しないよう指定します。 |
-O {r|s|u} | SWVPD で更新する部分を以下のように指定します。
|
項目 | 説明 |
---|---|
-R RootPath | "/" ではなく RootPath をルートとして使用します。 |
-s SaveFile | 現在 VPD にあるもののスナップショットを取り、それを SaveFile で指定されたファイルにスタンザ・フォーマットで保管します。-u オプションとともに呼び出されます。データベース内では、このフラグに対しては、何のアクションも取られません。-f オプションと併用しなければなりません。
例えば、次のようにします。
|
-u | SWVPD からファイル・エントリーを削除し、さらにハード・リンクおよびシンボリック・リンクも削除します。 |
-v | チェックサムが正しいことを検査します。 |
ProductName | 検査対象であるインストール可能なソフトウェア・プロダクトまたはオプションを指定します。 |
環境変数
項目 | 説明 |
---|---|
INUTREE | 環境変数 INUTREE は、以下の 4 つの値だけが有効です。
INUTREE は、-O Tree フラグの代わりに使用することができます。 |
INUNOVPD | 環境変数 INUNOVPD は、null または 1 に設定することができます。1 に設定されていると、sysck は SWVPD を更新しません。INUNOVPD は、-N フラグの代わりに使用することができます。 |
INUVERIFY | 環境変数 INUVERIFY が 1 に設定されていると、sysck は、スタンザ・ファイル内のチェックサム属性が正しいかどうか検査します。INUVERIFY は、-v フラグの代わりに使用することができます。 |
ファイル定義
項目 | 説明 |
---|---|
acl | ファイル用のアクセス制御リスト。
値がブランクの場合は、acl 属性は除去されます。
値を指定しないと、コマンドはアクセス制御リストで説明されているフォーマットに従って値を計算します。
この属性は、x (実行) アクセス権を root ユーザーおよびセキュリティー・グループのメンバーだけに与えます。 このコマンドは、root ユーザーに対して実効 UID が設定され、トラステッド・コンピューティング・ベース属性を持っている必要があります。 |
class | ファイルの論理グループ。値は、計算できないので、指定しなければなりません。値は ClassName [ClassName] です。 |
checksum | ファイルのチェックサム。値がブランクの場合は、checksum 属性は除去されます。値を指定しないと、コマンドは sum コマンドで指定されたフォーマットに従って計算します。値は、スペースを含む sum -r コマンドの出力です。 |
group | ファイル・グループ。値がブランクの場合は、group 属性は除去されます。値を指定しないと、コマンドは値を計算し、それがグループ ID またはグループ名になります。 |
mode | ファイル・モード。値がブランクの場合は、mode 属性は除去されます。 値を指定しないと、コマンドは値を計算しますが、これは 8 進数値または文字列 (rwx) となり、さらに TCB、SUID、SGID、および SVTX 属性を持ちます。 |
owner | ファイルのオーナー。 値がブランクの場合は、owner 属性は除去されます。値を指定しないと、コマンドは値を計算しますが、 それは、ユーザー ID またはユーザー名になります。 |
size | バイト単位のファイルのサイズ。値がブランクの場合は、size 属性は除去されます。 サイズ・フィールドの VOLATILE 値は、ファイル・サイズが変わる (したがってチェックサム値がない) ことを示します。NOSIZE 値は、ファイルの長さが 0 であることを示します。値を指定しないと、コマンドは値を 10 進数で計算します。 |
target | シンボリック・リンクとハード・リンクが、インベントリー内で別々のスタンザとして存在できるようにします。target ファイルの定義は、例えば、以下のようにリンクのソースの絶対パス名を参照します。
target は /usr/bar です。 |
type | ファイルのタイプ。この値はブランクにはできません。値を指定しなければ、コマンドは値を計算しますが、値はキーワード FILE、DIRECTORY、FIFO、BLK_DEV、CHAR_DEV、LINK、MPX_DEV、および SYMLINK になります。 |
xacl | 拡張アクセス制御リストに対する追加。値は計算できないので、拡張アクセス制御リスト内の 1 つのエントリーとして指定されなければなりません。この属性は、-i フラグが使用されているときのみ有効です。フォーマットの詳細については、 上記の acl ファイル定義を参照してください。 |
エラーの修正
エラーを修正するために、sysck コマンドは、インストールまたは更新されたファイルの属性を File スタンザ・ファイルに定義された値に再設定しますが、以下の属性については例外で、これらの属性に対しては sysck コマンドは以下で説明するように動作します。
項目 | 説明 |
---|---|
links | 脱落しているハード・リンクをすべて作成します。 この定義にリストされていないほかのファイルに対するリンクが存在する場合、そのリンクは削除されます。 |
program | この属性が File スタンザ・ファイル内に含まれている場合、sysck はプログラムを起動します。エラーが起こるとメッセージが表示されますが、付随するアクションは実行されません。 |
symlinks | 脱落しているシンボリック・リンクをすべて作成します。 この定義にリストされていないほかのファイルに対するリンクが存在する場合、そのリンクは削除されます。 |
セキュリティー
特権制御 : このコマンドを実行できるのは、root ユーザーだけです。
例
- installp コマンドを使用してインストールするプロダクトは、インベントリー・ファイルをそのイメージ形式で出荷します。インベントリー・データベースに定義を追加して、許可、リンク、チェックサムなどを検査するには、以下のように入力します。
ここで、dude.rte.inventory は、以下のようになります。
/usr/bin/dude.exec: class = apply,inventory,dude.rte owner = bin group = bin mode = 555 type = FILE size = 2744 checksum = "04720 3"
- システムから除去したプロダクトのファイルへの任意のリンクを除去し、各ファイルをインベントリー・データベースから除去するには、以下のように入力します。
ファイル
項目 | 説明 |
---|---|
/etc/objrepos/inventory | ルート上のソフトウェア・プロダクト内のファイルの名前と位置を指定します。 |
/usr/lib/objrepos/inventory | /usr ファイルシステム上のソフトウェア・プロダクトの中のファイルの名前および位置を指定します。 |
/usr/share/lib/objrepos/inventory | /usr/share ファイルシステム上のソフトウェア・プロダクトの中のファイルの名前および位置を指定します。 |