sysck コマンド

目的

インストール時にインベントリー情報を確認し、プロシージャー更新します。

構文

sysck { -i | -u } [  -R RootPath ] [  -N ] [ -v ] [  -s SaveFile ] [  -O { r | s | u } ] -f File ProductNametcbck 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
SWVPD のルート部分を指定します。
s
SWVPD の /usr/share の部分を指定します。
u
SWVPD の /usr の部分を指定します (デフォルト)。
項目 説明
-R RootPath "/" ではなく RootPath をルートとして使用します。
-s SaveFile 現在 VPD にあるもののスナップショットを取り、それを SaveFile で指定されたファイルにスタンザ・フォーマットで保管します。-u オプションとともに呼び出されます。データベース内では、このフラグに対しては、何のアクションも取られません。-f オプションと併用しなければなりません。 例えば、次のようにします。

sysck -i -s /tmp/save.inv -f /tmp/real.inv bos.rte.shell
-u SWVPD からファイル・エントリーを削除し、さらにハード・リンクおよびシンボリック・リンクも削除します。
-v チェックサムが正しいことを検査します。
ProductName 検査対象であるインストール可能なソフトウェア・プロダクトまたはオプションを指定します。

環境変数

項目 説明
INUTREE 環境変数 INUTREE は、以下の 4 つの値だけが有効です。
NULL
INUTREE が設定されていないのと同じことです。
M
SWVPD のルート部分を指定します。
S
SWVPD の /usr/share の部分を指定します。
U
SWVPD の /usr の部分を指定します (デフォルト)。

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) となり、さらに TCBSUIDSGID、および SVTX 属性を持ちます。
owner ファイルのオーナー。 値がブランクの場合は、owner 属性は除去されます。値を指定しないと、コマンドは値を計算しますが、 それは、ユーザー ID またはユーザー名になります。
size バイト単位のファイルのサイズ。値がブランクの場合は、size 属性は除去されます。 サイズ・フィールドの VOLATILE 値は、ファイル・サイズが変わる (したがってチェックサム値がない) ことを示します。NOSIZE 値は、ファイルの長さが 0 であることを示します。値を指定しないと、コマンドは値を 10 進数で計算します。
target シンボリック・リンクとハード・リンクが、インベントリー内で別々のスタンザとして存在できるようにします。target ファイルの定義は、例えば、以下のようにリンクのソースの絶対パス名を参照します。

/etc/foo --> /usr/bar

target/usr/bar です。

type ファイルのタイプ。この値はブランクにはできません。値を指定しなければ、コマンドは値を計算しますが、値はキーワード FILEDIRECTORYFIFOBLK_DEVCHAR_DEVLINKMPX_DEV、および SYMLINK になります。
xacl 拡張アクセス制御リストに対する追加。値は計算できないので、拡張アクセス制御リスト内の 1 つのエントリーとして指定されなければなりません。この属性は、-i フラグが使用されているときのみ有効です。フォーマットの詳細については、 上記の acl ファイル定義を参照してください。

エラーの修正

エラーを修正するために、sysck コマンドは、インストールまたは更新されたファイルの属性を File スタンザ・ファイルに定義された値に再設定しますが、以下の属性については例外で、これらの属性に対しては sysck コマンドは以下で説明するように動作します。

項目 説明
links 脱落しているハード・リンクをすべて作成します。 この定義にリストされていないほかのファイルに対するリンクが存在する場合、そのリンクは削除されます。
program この属性が File スタンザ・ファイル内に含まれている場合、sysck はプログラムを起動します。エラーが起こるとメッセージが表示されますが、付随するアクションは実行されません。
symlinks 脱落しているシンボリック・リンクをすべて作成します。 この定義にリストされていないほかのファイルに対するリンクが存在する場合、そのリンクは削除されます。

セキュリティー

特権制御 : このコマンドを実行できるのは、root ユーザーだけです。

RBAC ユーザーおよび Trusted AIX ユーザーへの注意: このコマンドは特権命令を実行できます。 特権命令を実行できるのは特権ユーザーのみです。 権限および特権についての詳細情報は、「セキュリティー 」の『特権コマンド・データベース』を参照してください。 このコマンドに関連した特権および権限のリストについては、lssecattr コマンドまたは getcmdattr サブコマンドの項を参照してください。

  1. installp コマンドを使用してインストールするプロダクトは、インベントリー・ファイルをそのイメージ形式で出荷します。インベントリー・データベースに定義を追加して、許可、リンク、チェックサムなどを検査するには、以下のように入力します。
    sysck  -i  -f dude.rte.inventory dude.rte
    ここで、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"
  2. システムから除去したプロダクトのファイルへの任意のリンクを除去し、各ファイルをインベントリー・データベースから除去するには、以下のように入力します。
    sysck  -u  -f dude.rte.inventory dude.rte

ファイル

項目 説明
/etc/objrepos/inventory ルート上のソフトウェア・プロダクト内のファイルの名前と位置を指定します。
/usr/lib/objrepos/inventory /usr ファイルシステム上のソフトウェア・プロダクトの中のファイルの名前および位置を指定します。
/usr/share/lib/objrepos/inventory /usr/share ファイルシステム上のソフトウェア・プロダクトの中のファイルの名前および位置を指定します。