3.12. Software Collection のロックファイルのサポート
デフォルトでは、Software Collection にパッケージ化されたプログラムは、
/opt/provider/%{scl}/root/var/lock/
ディレクトリーにロックファイルを作成します。
ロックファイルにアクセスし、管理しやすくするには、
_localstatedir
マクロを再定義する nfsmountable
マクロを使用することが推奨されます。これにより、/var/opt/provider/%{scl}/lock/
ディレクトリーの下にログファイルが作成されます。これは、/opt/provider/%{scl}
ファイルシステム階層外にあることになります。
Software Collection にパッケージ化されているアプリケーションやサービスが
/var/opt/provider/%{scl}/lock/
ディレクトリーの下にあるロックを書き込むと、これらのアプリケーションとサービスは、システムバージョンと同時に実行できます (Software Collection のアプリケーションやサービスのリソースがシステムバージョンのリソースと競合することはありません)。
たとえば、ロックファイル
mylockfile.lock
は、通常ベースシステムインストールの /var/lock/
ディレクトリーに作成されます。ロックファイルが software_collection Software Collection の一部で、nfsmountable
マクロが定義されている場合は、software_collection のロックファイルへのパスは以下のようになります。
/var/opt/provider/software_collection/lock/mylockfile.lock
nfsmountable
マクロの使用方法は、「NFS での Software Collections の使用」 を参照してください。
プログラムが継続的に実行されないようにする
該当するアプリケーションまたはサービスのシステムバージョンの実行中に、Software Collection のアプリケーションやサービスを実行しないようにする場合は、ロックを必要とするアプリケーションやサービスが、システムディレクトリー
/var/lock
にロックを書き込むことを確認してください。これにより、アプリケーションまたはサービスのロックファイルは上書きされません。ロックファイルの名前は変更されず、名前はシステムバージョンと同じままになります。
3.12.1. Software Collection SysV init Lock File のサポート
init スクリプトがサービスを開始すると、init スクリプトと同じ名前を持つ
/var/lock/subsys/
ディレクトリー内でロックファイルが作成されます。「Software Collections でのサービス管理」で説明されているように、サービス名には Software Collection の接頭辞が含まれます。/var/lock/subsys/
以下でファイルの同じ命名規則を使用して、ロックファイル名がベースシステムのインストールと競合しないようにします。