gurobi 安装/license激活 记录

前言:花了好久,被嫌弃惹ww,记录一下踩过的坑

至于为何没安装gurobi也能跑一段时间,直到显示需要license激活,还是未解之迷,需要教教。

首先这是官方给的gurobi license激活教程

我们一步步来复现吧!

1、进入gurobi官网 注册账号(用学校的邮箱来注册以便于获得academic license )

点击这个按钮后会自动进去注册页面

这里一定注意使用Google Chrome而不是Safari(博主用Safari遇到了非常多奇奇怪怪的问题,比如验证码输入不进去)

总结一下 这种时候可以考虑 换浏览器 换邮箱 重启 是否是翻墙的问题

注册成功后大概显示的是这个样子

2、在服务器中安装gurobi

这个时候学长直接给我了软件包(gurobi10.0.1_linux64.tar.gz)或者直接下载官网

这个时候菜菜的博主又忘了如何把本地文件传到服务器上!(

可以用termius的SFTP(这样直接有界面,比较直观)或者scp指令哇

linux下gurobi软件包直接解压就相当于安装好了

tar -zxvf data.tar.gz

可以指定一个路径 会优雅一点(更方便当然是直接把压缩包移到路径下再解压啦

3、申请license

从刚刚注册成功的页面直接选择license/request/Named-User Academic

关闭代理,打开校园vpn和网络 点击generate now!

会弹出

那么到底是在哪里使用这个指令呢?来到下一步

4、激活license

来到了博主最迷惑的一步! ps学长直言很简单x

因为实验室有很多台服务器,对于每个端口,都需要一个不同的license

这个时候我们要怎么操作呢?

我们利用环境变量来用区分不同机器的证书

step1:修改.bashrc文件

实现

vim ./bashrc

加入

export GUROBI_HOME=/home/ruanhang/tools/gurobi1001/linux64
export PATH=${PATH}:${GUROBI_HOME}/bin
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${GUROBI_HOME}/lib
export GRB_LICENSE_FILE=/home/ruanhang/tools/grb_lic/$HOSTNAME/gurobi.lic

你对 .bashrc 所做的任何修改将在下一次启动终端时生效。如果你想立刻生效的话,运行下面的命令:

source ~/.bashrc

或者重启终端也可以。

step2:在tools里面创建grb_lic文件专门用来存储gurobi licenses

step3:到每个端口下的tools/gurobi1001/linux64/bin 执行网站提供的license指令

grbgetkey 07f7c1e0-bf2d-4379-8660-b83342a0acd0

原因:tools/gurobi1001/linux64/bin下有这个文件(是文件吗?)

并且把每个生成的license(gurobi.lic文件)放到以HOSTNAME(对应服务器名字)命名的文件夹中。

会弹出 输入grb_lic文件下以HOSTNAME(对应服务器名字)命名的文件夹路径

(会生成文件GRB_LICENSE_FILE=/home/ruanhang/tools/grb_lic/$HOSTNAME/gurobi.lic)

step4:用gurobi.sh测试是否成功

就成功啦!

知识点:环境变量与bashrc

种草博客【精选】【Linux学习】环境变量_普通用户环境变量-CSDN博客

环境变量理解:相当于全局变量,一般是指在操作系统中用来指定操作系统运行环境的一些参数(变量),具有继承性 。

查看环境变量的方法
  • env :用于查看系统中所有环境变量 的命令
环境变量中path的作用

PATH变量指定命令的搜索路径。

如果在path里面定义了一个目录,你在命令行里面不用输出完整的目录名,直接输入可执行程序 和文件名就可以执行了,你输入命令的时候,系统会在path定义的目录下道面去寻找你输入的命令。

例如:

从中可以看出,在当前目录下,PATH的值。它表示在当前目录下执行的每一条指令的搜索路径,每个目录以冒号隔开。当执行一条指令时,系统就会从系统文件中去寻找,找到了就执行;否则不执行。

.bashrc 是什么?( 什么是.bashrc,有什么用?-CSDN博客

.bashrc是home目录下的一个shell文件,用于储存用户的个性化设置。在bash每次启动时都会加载.bashrc文件中的内容,并根据内容定制当前bash的配置和环境。

应用:路径设置

每次export路径太麻烦,把路径加入到.bashrc是一个一劳永逸的方法,常见的设置语法如下:

写法1:

PATH=$PATH:路径
export PATH

写法二:

export PATH=$PATH:路径

上述语法可以理解为,在原来PATH的后面继续添加了新的路径,在运行特定指令时,系统会逐个位置去寻找文件。 $PATH 表示原先设定的路径,不能遗漏。不同于DOS/Windows,Unix类系统的环境变量的路径用冒号:分割,而不是分号;。为避免环境变量过多产生混乱,建议所有语句都添加在文件结尾,并添加注释。

所有环境变量名都是大写,Linux区分大小写

实现

vim ./bashrc

加入

export GUROBI_HOME=/home/ruanhang/tools/gurobi1001/linux64
export PATH=${PATH}:${GUROBI_HOME}/bin
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${GUROBI_HOME}/lib
export GRB_LICENSE_FILE=/home/ruanhang/tools/grb_lic/$HOSTNAME/gurobi.lic

你对 .bashrc 所做的任何修改将在下一次启动终端时生效。如果你想立刻生效的话,运行下面的命令:

source ~/.bashrc

或者重启终端也可以。

理解:

不同的 IP 地址通常不会影响用户的 ~/.bashrc 文件。 ~/.bashrc 是用户的 Bash shell 配置文件,它通常用于设置用户特定的 shell 环境变量、别名、函数和其他自定义配置。这些配置是基于用户的身份而不是 IP 地址。

当用户登录时,他们的 ~/.bashrc 文件会被执行,不论他们使用哪个 IP 地址。这意味着无论用户从哪个 IP 地址登录,他们都会使用相同的 Bash shell 配置。

IP 地址通常用于网络相关的配置,如防火墙规则、网络访问控制列表等,而不会影响用户的 shell 配置文件。(在thinklab实验室只有两个不同的.bashrc

相关推荐
易云码20 分钟前
信息安全建设方案,网络安全等保测评方案,等保技术解决方案,等保总体实施方案(Word原件)
数据库·物联网·安全·web安全·低代码
newxtc26 分钟前
【客观理性深入讨论国产中间件及数据库-科创基础软件】
数据库·中间件·国产数据库·国产中间件·科创
水月梦镜花28 分钟前
redis:list列表命令和内部编码
数据库·redis·list
Qspace丨轻空间37 分钟前
气膜场馆:推动体育文化旅游创新发展的关键力量—轻空间
大数据·人工智能·安全·生活·娱乐
MonkeyKing_sunyuhua1 小时前
ubuntu22.04 docker-compose安装postgresql数据库
数据库·docker·postgresql
天郁青1 小时前
数据库交互的本地项目:后台管理系统
数据库·交互
马剑威(威哥爱编程)1 小时前
MongoDB面试专题33道解析
数据库·mongodb·面试
Elastic 中国社区官方博客2 小时前
如何将数据从 AWS S3 导入到 Elastic Cloud - 第 3 部分:Elastic S3 连接器
大数据·elasticsearch·搜索引擎·云计算·全文检索·可用性测试·aws
小光学长2 小时前
基于vue框架的的流浪宠物救助系统25128(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。
数据库·vue.js·宠物
零炻大礼包3 小时前
【SQL server】数据库远程连接配置
数据库