FlexNet 的 options 文件(通常以 .opt 结尾)是一个可选但功能强大的配置文件,许可证管理员通过它可以精细化控制许可证的使用策略。它不修改许可证文件本身,而是向 vendor daemon 传递额外的管理指令。
下面详细拆解其核心功能、语法和配置方法。
在 VENDOR(或 DAEMON)行的第四个字段指定 options 文件路径:
text
VENDOR sampled /etc/sampled OPTIONS=/sample_app/sampled.opt如果省略路径,vendor daemon 会自动在许可证文件所在目录查找 vendor.opt 文件(vendor 为 vendor daemon 名称)。
修改后必须重启 license server 或执行 lmreread 才能生效。
语法:
text
EXCLUDE feature_name {USER|HOST|GROUP|HOSTGROUP|INTERNET} name示例:
text
# 禁止用户 khan 使用 abaqus
EXCLUDE abaqus USER khan
# 禁止主机 guardian 上的任何用户使用 viewer
EXCLUDE viewer HOST guardian语法:
text
EXCLUDEALL {USER|HOST|GROUP|HOSTGROUP|INTERNET} name示例:
text
# 禁止用户张三使用该 vendor 提供的任何软件
EXCLUDEALL USER 张三RESERVE 确保特定数量的许可证始终为特定用户或主机保留,不被其他人占用。

语法:
text
RESERVE count feature_name {USER|HOST|GROUP|HOSTGROUP|INTERNET} name示例:
text
# 为用户 user1 预留 1 个 AutoCAD 许可
RESERVE 1 86445ACD_2016_OF USER user1
# 为主机 computer1 预留 1 个许可
RESERVE 1 86445ACD_2016_OF HOST computer1
# 为 EngineeringGroup 组预留 5 个许可
RESERVE 5 86445ACD_2016_OF GROUP EngineeringGroup
# 为 IP 段 192.168.0.* 预留 5 个许可
RESERVE 5 86445ACD_2016_OF INTERNET 192.168.0.*TIMEOUT 让 license server 在用户空闲一段时间后自动回收许可证,释放给其他用户使用。
语法:
text
TIMEOUT feature_name seconds示例:
text
# Revit 空闲 7200 秒(2小时)后自动回收
TIMEOUT 66800REVIT_F 7200
# Synopsys Verdi 空闲 14400 秒(4小时)后自动回收
TIMEOUT verdi 14400语法:
text
TIMEOUTALL seconds示例:
text
# 所有 feature 统一 3600 秒(1小时)超时
TIMEOUTALL 3600| 选项 | 说明 | 示例 |
|---|---|---|
| INCLUDE | 只允许特定用户使用某 feature | INCLUDE verdi GROUP verdi_users |
| INCLUDEALL | 只允许特定用户使用所有 feature | INCLUDEALL GROUP vip_users |
| MAX | 限制某用户/组同时使用的最大许可数 | MAX 2 hfsshpc USER jessica |
| GROUP | 定义用户组,供其他选项引用 | GROUP EngineeringGroup user1 user2 user3 |
| HOST_GROUP | 定义主机组 | HOST_GROUP DraftingDept pc1 pc2 pc3 |
| DEBUGLOG | 指定 debug 日志文件 | DEBUGLOG /var/log/flexnet/debug.log |
| REPORTLOG | 指定报告日志文件(用于 SAMreport) | REPORTLOG +/var/log/flexnet/report.log |
1. EXCLUDE 优先级高于 INCLUDE
当 EXCLUDE 和 INCLUDE 对同一个用户/feature 同时生效时,EXCLUDE 优先生效。
2. 名称区分大小写
默认情况下,用户名和主机名区分大小写。可在 options 文件开头添加 GROUPCASEINSENSITIVE ON 关闭大小写敏感。
3. 注释使用 #
所有 # 之后的内容会被忽略。
4. 行长度限制
每行最多 4000 个字符。如需定义大量用户的 GROUP,可以用多行相同的 GROUP 名称来拼接。
5. feature 名称必须与许可证文件一致
options 文件中引用的 feature 名称必须与 license 文件中 FEATURE 或 INCREMENT 行定义的名称完全匹配。
adskflex.opttext
# Autodesk 许可证 options 文件示例
# 关闭大小写敏感
GROUPCASEINSENSITIVE ON
# 定义用户组
GROUP cad_team zhangsan lisi wangwu
GROUP analysis_team zhaoliu sunqi
# 为 CAD 团队预留 3 个 AutoCAD 许可
RESERVE 3 86445ACD_2024_OF GROUP cad_team
# 禁止用户 zhaoliu 使用 Inventor
EXCLUDE 86314INVNTOR_2024_OF USER zhaoliu
# 所有 feature 统一 2 小时超时回收
TIMEOUTALL 7200
# 指定 debug 日志
DEBUGLOG /var/log/flexnet/adskflex_debug.log| 功能 | 关键词 | 核心作用 |
|---|---|---|
| 排除用户 | EXCLUDE / EXCLUDEALL | 禁止特定用户/主机使用许可 |
| 预留许可 | RESERVE | 确保关键用户始终有许可可用 |
| 超时回收 | TIMEOUT / TIMEOUTALL | 自动回收空闲许可,提升利用率 |
| 白名单 | INCLUDE / INCLUDEALL | 只允许特定用户使用 |
| 数量限制 | MAX | 限制单个用户的最大占用数 |
| 分组 | GROUP / HOST_GROUP | 批量管理用户/主机 |
options 文件提供了对许可证使用的细粒度控制能力。排除用户解决的是"谁不能用"的问题,预留许可解决的是"谁必须能用"的问题,而 TIMEOUT 解决的是"闲置许可如何释放"的问题——三者结合,可以覆盖大多数企业级许可管理场景。