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

相关推荐
drowingcoder3 分钟前
MySQL相关
数据库
杰克逊的日记44 分钟前
Flink运维要点
大数据·运维·flink
Musennn1 小时前
MySQL刷题相关简单语法集合
数据库·mysql
Think Spatial 空间思维2 小时前
【HTTPS基础概念与原理】TLS握手过程详解
数据库·网络协议·https
laowangpython2 小时前
MySQL基础面试通关秘籍(附高频考点解析)
数据库·mysql·其他·面试
mooyuan天天2 小时前
SQL注入报错“Illegal mix of collations for operation ‘UNION‘”解决办法
数据库·web安全·sql注入·dvwa靶场·sql报错
运维-大白同学3 小时前
go-数据库基本操作
开发语言·数据库·golang
R-sz3 小时前
通过从数据库加载MinIO配置并初始化MinioClient,spring boot之Minio上传
数据库·oracle
洛阳泰山3 小时前
Windows系统部署MongoDB数据库图文教程
数据库·windows·mongodb
医只鸡腿子3 小时前
3.2/Q2,Charls最新文章解读
数据库·数据挖掘·数据分析·深度优先·数据库开发