3.12. Software Collection Lock 文件支持
默认情况下,打包到 Software Collection 的程序会在
/opt/provider/%{scl}/root/var/lock/ 目录中创建锁定文件
。
要使锁定文件更易于访问且更易于管理,建议您使用重新定义
nfsmountable
宏的 _localstatedir
宏。这会导致在 /var/opt/供应商/%{scl}/lock/
目录下创建的文件,位于 /opt/provider/%{scl}
文件系统层次结构之外。
如果软件集合中的应用程序或服务在
/var/opt/供应商/%{scl}/lock/
目录下写入锁定,那么这些应用程序和服务可以与系统版本同时运行(当您 Software Collection 应用程序和服务的资源不会与系统版本冲突时)。
例如,在基本系统安装的
/var/lock/
目录中通常会创建一个锁定文件 mylockfile.lock
。如果锁定文件是 software_collection Software Collection 的一部分,并且定义了 nfsmountable
宏,则 software_collection 中的锁定文件的路径如下:
/var/opt/provider/software_collection/lock/mylockfile.lock
有关使用
nfsmountable
宏的更多信息,请参阅 第 3.1 节 “通过 NFS 使用 Software Collections”。
防止程序当前运行
如果要防止软件集合的应用程序或服务在运行相应应用程序或服务的系统版本运行时运行,请确保您的应用程序或服务需要锁定,请将锁定写入系统目录
/var/lock/
。这样,您的应用程序或服务的锁定文件不会被覆盖。锁定文件不会被重命名,名称与系统版本相同。
3.12.1. Software Collection SysV init 锁定文件支持
当一个服务由初始化脚本启动时,会在
/var/lock/subsys/
目录中与初始化脚本的名称相同。如 第 3.4 节 “在 Software Collections 中管理服务” 所述,服务名称包含一个 Software Collection 前缀。对 /var/lock/subsys/
中的文件使用相同的命名约定,以确保锁定文件名与基本系统安装不冲突。