一、基本格式内容
许可证文件通常以一个 SERVER 行开始 (包含三个服务器的冗余服务器为三行),后跟一个或多个 VENDOR 行,然后是一个或多个 FEATURE 或 INCREMENT 行。在某些情况下,许可证文件不需要 SERVER 行和 VENDOR 行。
您可以在许可证文件中修改以下元素:
• SERVER 行中的主机名
• SERVER 行中的 TCP/IP 端口号
• 一组 SERVER 行中的包含三个服务器的冗余配置
• VENDOR 行中的路径
• VENDOR 行中的选项文件路径
• VENDOR 行中的可选TCP/IP 端口号 (仅用于防火墙支持)
• USE_SERVER 行
• FEATURE 行的 keyword=value 对中的值 (如果以小写形式指定 keyword) 可以使用 “\”续行符将较长的行断开。
许可证文件、选项文件、日志文件以及 FLEXenabled 应用程序环境中完全支持 8 位基于拉丁语的字符。
二、文件语法
示例许可证文件
以下许可证文件示例用于使用两个功能的单个供应商。
SERVER my_server 17007ea8 1700 VENDOR sampled
FEATURE f1 sampled 1.000 01-jan-2005 10 SIGN=9BFAC0316462
FEATURE f2 sampled 1.000 01-jan-2005 10 SIGN=1B9A308CC0F7
上面的许可证文件允许 hostid 为 “17007ea8”的许可证服务器系统 “my_server”向网络上的任何用户提供流动许可证,它分别为每个功能 (“f1”和 “f2”)提供 10 个流动许可证。
SERVER 行
SERVER 行指定了许可证服务器系统的主机名和 hostid 以及许可证服务器管理器
(lmgrd) 的 TCP/IP 端口号。通常,许可证文件包含一个 SERVER 行。如果包含三个
SERVER 行,则意味着使用的是包含三个服务器的冗余许可证服务器系统。如果不包含 SERVER 行,则意味着不对许可证文件中的每个 FEATURE 和 INCREMENT 行进行计数。
将对 SERVER 行中的 hostid 进行计算以得出每个 FEATURE 和 INCREMENT 行中的许可证密钥或签名。为此,请确保将 SERVER 行与任何 FEATURE/INCREMENT 行放在一起,因为它们都是从供应商发送的。
SERVER 行的格式为:
SERVER host hostid [port] [PRIMARY_IS_MASTER] [SERVER_TIMEOUT=seconds]
其中:
字段 | 说明 |
host | 系统主机名或 IP 地址。UNIX hostname 或 uname -n 命令返回的字符串。在 NT/2000/XP 上, ipconfig /all 返回主机名;在 Windows 95/98/ME 上,winipcfg /all 返回主机名。 |
hostid | 通常是由 lmhostid 命令返回的字符串。只能由软件供应商对其进行更改。 |
port | 要使用的 TCP/IP 端口号。有效号码是介于 0 和 64000 之间的任何未使用的端口号。在 UNIX 上,应选择 >1024 的端口,因为 <1024 的端口是拥有授权的端口号。如果未指定 TCP/IP 端口号,则使用在 27000-27009 范围内的缺省端口之一。 在包含三个服务器的冗余许可证服务器系统配置中,用于指定服务器的 SERVER 行要求指定端口号; Macrovision 建议使用在 27000-27009 范围以外的端口号。 |
PRIMARY_IS_MASTER | 对于包含三个服务器的冗余配置,指示如何在主服务器和辅助服务器之间转换主控制权。 •如果设置此字段并且主服务器发生故障,辅助服务 器将变为主服务器,并在主服务器恢复正常后立即 将控制权交回给主服务器。 •如果没有设置此字段并且主服务器发生故障,辅助 服务器将变为主服务器,甚至在主服务器恢复正常 后仍然作为主服务器。 如果主服务器和辅助服务器都发生故障,则不再提供许可证。在任何情况下,第三台服务器都不会变为主服务器。此参数是可选的,它放在许可证文件的第一个 SERVER 行中。要使用此参数,您运行的必须是 v10.8 供应商守护程序。 |
SERVER_TIMEOUT= 秒 | 对于包含三个服务器的冗余配置,指示服务器从配置中的另一台服务器接收心跳时,将其自身关闭之前等待多长时间。以下等式中使用 seconds 来计算超时: 超时 = (3 x seconds) + (seconds - 1) 如果未指定,则 seconds 缺省值为 20,相当于超时为 79 秒。 seconds 的有效值为 0 到 120。 此参数是可选的,它放在许可证文件的第一个 SERVER 行中。要使用此参数,您运行的必须是 v10.8 供应商守护程序。 |
示例:
SERVER my_server 17007ea8 21987
VENDOR 行
VENDOR 行指定了守护程序名称和路径。 lmgrd 使用该行来启动供应商守护程序,而供应商守护程序读取该行以查找其选项文件。 VENDOR 行的格式如下所示。
VENDOR vendor [vendor_daemon_path] [[OPTIONS=]options_file_path] [[PORT=]port]
其中:
字段 | 说明 |
vendor | 用于提供文件中的某个或某些功能的供应商守护程序的名称。管理员无法更改此名称。 |
vendor_daemon_ path | 该守护程序的可执行文件的可选路径。通常,许可证管理员可以不受限制地将守护程序安装在任何目录中 (但是,建议将其安装在许可证服务器计算机的本地目录中)。 如果省略, lmgrd 将在以下位置中查找供应商守护程序二进制文件: •当前目录 •lmgrd 的 $PATH 环境变量中指定的路径 •lmgrd 所在的目录 如果 vendor_daemon_path 为空,则任何选项或 TCP/IP 端口号说明需要 OPTIONS= 和 PORT= 字符串。 |
options_file_ path | 该守护程序的最终用户选项文件的完整路径。 FLEXnet Licensing 不需要选项文件。 如果省略,供应商守护程序缺省情况下查找名为 vendor.opt 的文件 (其中, vendor 是供应商守护程序名称),它位于与许可证文件相同的目录中 |
port | 供应商守护程序 TCP/IP 端口号。 如果未指定 port,操作系统在运行时将选择缺省端口号。使用 Internet 防火墙的站点需要指定守护程序使用的 TCP/IP 端口号。如果在 VENDOR 行中指定了 TCP/IP 端口号,重新启动供应商守护程序时可能会出现延迟。 |
USE_SERVER 行
USE_SERVER 不使用任何参数,并且对服务器没有任何影响。当应用程序看到
USE_SERVER 时,它忽略许可证文件中前面的 SERVER 行以外的任何其它内容,并将检出验证移交给供应商守护程序。
建议使用USE_SERVER,因为在使用许可证服务器系统时它可提高性能。对于不计数 功能,守护程序可使用 USE_SERVER 强制记录使用情况。
FEATURE/INCREMENT 行
FEATURE 行描述了使用产品时所需的许可证。可以使用 INCREMENT 行来替代
FEATURE 行,以及按增量方式为许可证文件中之前的 FEATURE 或 INCREMENT 行增加许可证。
供应商守护程序仅处理给定功能的第一个 FEATURE 行。如果要使用相同功能的其它副本 (例如,使用多个节点锁定的计数功能),则必须使用多个 INCREMENT 行。
INCREMENT 行基于以下字段构成许可证组或池:
•feature name
•version
•DUP_GROUP
•FLOAT_OK
•HOST_BASED
•HOSTID
•PLATFORM
•USER_BASED
•VENDOR_STRING (如果供应商将其配置为池组件)
如果两个行由于其中的任何字段而不相同,则会在供应商守护程序中创建一个新的许可证组 (称为许可证池),该组将独立于其它具有相同功能名称的许可证池进行计数。 FEATURE 行并没有提供额外数量的许可证;而 INCREMENT 行始终提供额外数量的许可证。
FEATURE/INCREMENT 行的基本格式为:
{FEATURE|INCREMENT} feature vendor feat_version exp_date \ num_lic SIGN=sign [optional_attributes]
要求使用FEATURE/INCREMENT 行关键字后面的 6 个字段,并且它们具有固定的顺序。这些字段是由供应商定义的,不能对其进行更改。下表按照必须出现的顺序列出了这些字段。
FEATURE/INCREMENT 行的必需字段:
字段 | 说明 |
feature | 供应商为功能指定的名称。 |
vendor | |
feat_version | 此许可证支持的该功能的版本。 |
exp_date | 采用 dd-mmm-yyyy 格式的许可证有效日期,如 07-may- 2005。注意:如果 exp_date 为字符串 “permanent”或年份为 0 (或 00、 000、 0000),则许可证永远不会到期。 |
num_lic | 此功能的并发许可证数量。如果将 num_lic 设置为字符串“uncounted”或 0,则不对此功能的许可证进行计数,并且不需要 lmgrd,但需要 FEATURE 行中的 hostid。 |
SIGN=sign 或 | SIGN= 用于鉴定此 FEATURE 行的签名。 |
AUTH=... | 如果发行商使用常用供应商守护程序技术配置其供应商守 |
护程序,则会在 AUTH= 关键字中嵌入许可证证书签名。 | |
有关进一步的详细信息,请咨询发行商。 |
下表列出了可能出现在FEATURE 或 INCREMENT 行中的属性。这些属性是由供应商自行提供的,以便提供特定的许可行为。如果出现在 FEATURE 或 INCREMENT 行中,它们必须保留在该位置,最终用户不能对其进行更改。这些属性使用
keyword=value 语法,其中, keyword 为大写形式。
而其中的 value 是用双引号 ("...") 引起来的字符串,该字符串可以包含引号以外的任何字符。
供应商提供的属性:
下表中列出的以下属性是可选的,由最终用户控制。这些属性使用 keyword=value语法,其中, keyword 为小写形式。
最终用户属性:
属性 | 说明 |
asset_info="..." | 许可证管理员为进行资产管理而提供的附加信息。 |
dist_info="..." | 软件分销商提供的附加信息。 |
sort=nnn | 指定许可证文件行的排序顺序。 |
user_info="..." | 许可证管理员提供的附加信息。 |
vendor_info="..." | 软件供应商提供的附加信息。 |
示例:
FEATURE sample_app sampled 2.300 31-dec-2005 20 \ SIGN=123456789012 INCREMENT f1 sampled 1.000 permanent 5 \ HOSTID=INTERNET=195.186.*.* NOTICE="Licensed to \ Sample corp" SIGN=901234567890
优先顺序
FLEXnet Licensing 处理 FEATURE/INCREMENT 许可证文件行时,将自动对其进行排序;缺省排序规则如下所示:
1.许可证文件。不会自动对许可证文件列表中的文件进行排序。
2.功能名称。
3.FEATURE 在 INCREMENT 之前。
4.不计数在计数之前。
5.版本,较高版本在较低版本之前。
6.签发日期,按逆序排列,最新日期在最前面。日期是从 ISSUED= 或 START= 中提取的。
7.在其它情况下,保留原始顺序。
要关闭自动排序,请在 FEATURE/INCREMENT 行中添加 sort=nnn,其中, nnn 在所有行中是相同的; nnn 指定相对排序顺序。缺省排序顺序值为 100。排序顺序值小于100 的行排在所有没有该属性的行之前;排序顺序值大于 100 的行出现在所有未标记的行后面。所有排序顺序数值相同的行按它们在文件中的出现顺序进行排列。
PACKAGE 行
PACKAGE 行的用途是支持两种不同的许可需求:
• 为产品 SUITE 授予许可,或
• 提供一种更有效的方法来分发包含大量功能的许可证文件,这些功能在很大程度上 共享相同的 FEATURE 行参数。
PACKAGE 行本身不会为任何产品授予许可;它需要匹配的 FEATURE/INCREMENT 行,以便为整个软件包授予许可。 PACKAGE 行是由软件供应商随产品一起提供的, 它与任何许可证无关。以后,为该软件包购买许可证时,一个或多个相应
FEATURE/INCREMENT 行将启用 PACKAGE 行。
示例:
PACKAGE package vendor [pkg_version] COMPONENTS=pkg_list \ [OPTIONS=SUITE] [SUPERSEDE[="p1 p2 ..."] ISSUED=date] SIGN=pkg_sign
下表列出了 PACKAGE 行字段。它们必须按列出的顺序显示。
PACKAGE 行字段:
示例:
PACKAGE suite sampled 1.0 SIGN=3B24B2F508CB \ COMPONENTS="comp1 comp2" OPTIONS=SUITE FEATURE suite sampled 1.0 1-jan-0 5 SIGN=4193E6ABCCCB
这是典型的 OPTIONS=SUITE 示例。两个功能 “comp1”和 “comp2”分别具有版本1.0,并且分别具有 5 个未过期的可用许可证。检出 “comp1”或 “comp2”时,也会检出 “suite”。
PACKAGE suite sampled 1.0 SIGN=2CBF44FCB9C1 \ COMPONENTS="apple:1.5:2 orange:3.0:4" FEATURE suite sampled 1.0 1-jan-2005 3 SIGN=321E78A17EC1 SN=123
在此示例中,组件版本覆盖功能版本,任何组件的可用许可证数量是 “suite”的三个许可证与该组件的许可证数量的乘积。结果等于:
FEATURE apple sampled 1.5 1-jan-2005 6 SIGN=0D3AD5F26BEC SN=123 FEATURE orange sampled 3.0 1-jan-2005 12 SIGN=EB16C5AE61F0 SN=123
UPGRADE 行
UPGRADE feature vendor from_feat_version to_feat_version \ exp_date num_lic [options ... ] SIGN=sign
所有数据与 FEATURE 或 INCREMENT 行相同,并且增加了 from_feat_version 字段。UPGRADE 行从任何旧版本 (>= from_feat_version) 中最多删除指定数量的许可证,并使用相同数量的许可证创建一个新版本。
例如,以下两行:
INCREMENT f1 sampled 1.000 1-jan-2005 5 SIGN=9BFAC0316462 UPGRADE f1 sampled 1.000 2.000 1-jan-2005 2 SIGN=1B9A308CC0F7
分别提供了 “f1”的三个 v1.0 许可证以及 “f1”的两个 v2.0 许可证。
UPGRADE 行使用版本号 >= from_feat_version 和< to_feat_version 对前面最近的 FEATURE 或 INCREMENT 行进行操作。
注意UPGRADE 行不适用于节点锁定的不计数许可证。
网友留言: