许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  FlexNet许可证服务器在Linux下安装后无法启动,常见原因与排查步骤

FlexNet许可证服务器在Linux下安装后无法启动,常见原因与排查步骤

阅读数 7
点赞 0
article_banner

在Linux环境下部署FlexNet许可证服务器时,启动失败是最常见也最棘手的问题之一。结合我处理过的实际案例,这里梳理了一份完整的排查指南,建议按顺序执行。


一、问题现象

启动lmgrd后,通常表现为以下几种情况:

  • 执行启动命令后进程立即退出,无任何提示
  • 日志文件只记录到exit with code 0或exit with code 45就结束了
  • 客户端报Cannot connect to license server或No available licenses
  • 手动启动时报./lmgrd: No such file or directory或Command not found

下面按优先级列出最常见的8种原因及对应的排查方法。

二、原因1:LSB依赖缺失(Linux环境最高频)

现象:执行./lmgrd -c license.lic后报./lmgrd: No such file or directoryCommand not found

原因:FlexNet的lmgrd二进制文件依赖Linux Standard Base(LSB)组件。用ldd lmgrd检查时,会发现/lib64/ld-lsb-x86-64.so.3缺失。

解决:根据发行版安装LSB包:


发行版命令
Ubuntu/Debiansudo apt-get install lsb-core
Red Hat/CentOSsudo yum install redhat-lsb

安装后用ls -l /lib64/ld-lsb-x86-64.so.3确认链接已创建。

三、原因2:许可证文件格式错误

现象:启动后日志报Invalid license keyCannot find SERVER line(lmgrd) exit with code

原因:这是最常见的诱因。常见问题包括:

  • 从Windows拷贝到Linux时,换行符被破坏(CRLF vs LF)
  • 文件包含隐藏的特殊字符或BOM头
  • SERVER行的主机名与服务器实际hostname不一致
  • 文件首行缺少空行或注释行
  • 用WPS等编辑器打开过,自动格式优化破坏了文件结构

解决

  1. 用lmutil lmcksum -c license.lic校验许可证文件,比对输出校验码与文件头部的CHECKSUM是否一致
  2. 用cat -A license.lic检查是否有^M$(Windows换行符),用dos2unix license.lic转换
  3. 确认hostname返回的主机名与SERVER行完全一致(注意大小写)
  4. 用vim或Notepad++(设置为ANSI编码)重新保存,不要用WPS

四、原因3:端口被占用

现象:启动后进程立即退出,日志中出现port in useAddress already in use

原因:FlexNet默认使用27000端口。多套FlexNet服务或其它应用占用了该端口。

解决

  1. 检查端口占用:netstat -anp | grep 27000或ss -tlnp | grep 27000
  2. 若被占用,在license文件的SERVER行末尾指定其他端口:SERVER hostname MAC 27001
  3. 同时建议在VENDOR行后指定vendor daemon的固定端口:VENDOR vendor_name /path/to/vendor_daemon port=27002
  4. 修改后放行防火墙:sudo firewall-cmd --add-port=27001-27002/tcp

五、原因4:文件权限问题

现象:启动失败,日志中出现Permission deniedCan't open license file

原因

  • lmgrd二进制文件无执行权限
  • 许可证文件或日志目录无读取/写入权限
  • 非root用户运行,但进程需要写入/usr/tmp/.flexlm等目录

解决

  1. 给lmgrd和vendor daemon加执行权限:chmod 755 lmgrd vendor_daemon
  2. 确保许可证文件至少644权限:chmod 644 license.lic
  3. 若日志报Can't make directory /usr/tmp/.flexlm,手动创建:sudo mkdir -p /usr/tmp && sudo touch /usr/tmp/.flexlm
  4. 建议用专门的服务账户运行,不要用root,但需确保该账户对相关目录有写权限

FlexNet许可证服务器

六、原因5:主机名与MAC地址不匹配

现象:启动时报告Cannot find hostnameInvalid host

原因:license文件中SERVER行的主机名或MAC地址与服务器实际配置不一致。

解决

  1. 确认主机名:hostname,确保不包含下划线_或中文字符
  2. 确认MAC地址:ifconfig -a或ip link show,找到实际对外提供服务的网卡
  3. 编辑/etc/hosts,确保有127.0.0.1 hostname和服务器IP hostname的记录
  4. 虚拟机环境特别注意:克隆或迁移后MAC地址会变化,需先固定MAC再生成license

七、原因6:残留进程冲突

现象:启动命令执行后无响应,或新进程启动后立即被终止。

原因:上一次未正常关闭的lmgrd或vendor daemon进程仍在运行,占用了端口或锁文件。

解决

  1. 查看残留进程:ps -ef | grep -E "lmgrd|vendor_name"
  2. 全部终止:pkill -9 lmgrd及pkill -9 vendor_name
  3. 清理锁文件:rm -rf /usr/tmp/.flexlm*(如有)
  4. 重新启动

八、原因7:GLIBC版本不兼容

现象:启动时报relocation error: symbol errno, version GLIBC_2.0 not defined

原因lmgrd编译时依赖的GLIBC版本与当前系统不匹配,常见于较新的Linux发行版上运行旧版FlexNet。

解决:在启动命令前加LD_ASSUME_KERNEL=2.4LD_ASSUME_KERNEL=2.4 ./lmgrd -c license.lic -l debug.log

九、原因8:网卡配置变动(最难排查)

现象:进程看起来在运行,ps能看到lmgrd,但所有客户端都无法连接。

原因:服务器新增了虚拟网卡、修改了静态IP或网卡顺序发生了变化,FlexNet绑定的旧网卡IP失效,服务启动后无法完成网络监听。

解决

  1. 检查当前所有网卡的IP和MAC:ip addr
  2. 确认license文件中SERVER行的MAC对应的是当前活跃的主网卡
  3. 若网卡顺序变化,需重新生成license文件或调整/etc/hosts中的IP映射
  4. 建议在/etc/sysconfig/network-scripts/ifcfg-eth0中固定网卡设备名

十、排查流程速查表


步骤检查项命令/方法
1查看日志打开debug.loglmgrd.log,拉到最后10行
2手动启动看输出./lmgrd -c license.lic -l debug.log
3检查LSB依赖ldd lmgrd看是否有ld-lsb-x86-64.so.3缺失
4校验许可证文件lmutil lmcksum -c license.lic
5检查端口占用netstat -anp | grep 27000
6检查残留进程ps -ef | grep lmgrd
7检查文件权限ls -l lmgrd license.lic
8检查主机名/MAChostnameifconfig -a

最后提醒:不要反复点击启动按钮而不看日志。日志里一定有线索,debug.log的最后10行通常直接指向根因。如果日志没有生成,用手动启动命令代替服务脚本,能看到完整的控制台输出。

排查顺序建议按上述1到8执行,其中LSB依赖、许可证文件格式、端口占用这三个原因覆盖了80%以上的启动失败场景。


相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空