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/ 以下でファイルの同じ命名規則を使用して、ロックファイル名がベースシステムのインストールと競合しないようにします。