实验室服务器为Ubuntu 14.04.5系统,性能自然不用说,Matlab却只有2013b和2012a的版本,让本地使用2016a的同志们感到不舒服,因为有些函数还是有很大修改的(比如matlabpool)。在实验室同志的强烈要求下,给服务器装了Matlab2017a版本(2016a的版本没找到破解版~)。
其实网上已经有很多服务器安装matlab的教程了,不过多少有点差别,以下稍微记录一下安装记录:
- 下载,解压,得到两个iso镜像文件和一个Crack文件夹:
.
|-- R2017a_glnxa64_dvd1.iso
|-- R2017a_glnxa64_dvd2.iso
|-- Crack
|-- Readme.txt
|-- license_server.lic
|-- license_standalone.lic
|-- MATLAB_Production_Server
|-- R2017a
|-- bin
|-- glnxa64
|-- libmwservices.so
|-- R2017a
|-- bin
|-- glnxa64
|-- libmwservices.so
- 由于服务器已经配置好了Java环境,我也没有配置经验,如果Java环境有问题,还是看别人的教程吧~
- 创建目录
$ sudo mkdir -p /usr/local/matlab2017a/2017a # 安装目录
$ sudo mkdir -p /usr/local/matlab2017a/etc # 配置文件目录
- 挂载镜像。挂载需要提权,所以还是得sudo
$ cd ~/matlab2017a # 更改为镜像文件所在的目录,当然首先得把文件传到服务器上
$ mkdir iso # 创建挂载目录
$ sudo mount R2017a_glnxa64_dvd1.iso iso/ # 挂载,发现镜像里竟然包含了crack文件夹,不管他了
- 挂载后的目录里有
install
文件,直接安装肯定不行,因为没有图形界面,我们要采取silent的安装方式
$ cd iso
$ sudo cp installer_input.txt /usr/local/matlab2017a/etc/ # 复制
$ sudo cp activate.ini /usr/local/matlab2017a/etc/ # 复制
$ sudo cp -r Crack /usr/local/matlab2017a/etc/ # 复制破解文件夹
$ cd /usr/local/matlab2017a/etc
$ sudo chomd +w installer_input.txt # 增加写的权限
$ sudo chmod +w activate.ini3 # 增加写的权限
- 修改复制后的
installer_input.txt
文件
destinationFolder=/usr/local/matlab2017a/2017a # 安装目录
fileInstallationKey=09806-07443-53955-64350-21751-41297 # 序列号
agreeToLicense=yes # 同意协议
outputFile=/tmp/mathworks_install.log # 安装日志
mode=silent # 开启无人值守安装
activationPropertiesFile=/usr/local/matlab2017a/etc/activate.ini # 激活文件
licensePath= /usr/local/matlab2017a/etc/Crack/license_standalone.lic # license文件
- 修改复制后的
activate.ini
文件
isSilent=true # 开启silent模式
activateCommand=activateOffline # 设置激活方式, 离线激活 无需联网
licenseFile=/usr/local/matlab2017a/etc/Crack/license_standalone.lic # license文件位置
- 安装
$ cd ~/matlab2017a # 回到原目录下,注意,该目录下挂载了iso,安装时不能在iso目录下安装
$ screen -S matlab # 创建一个screen,避免断网等不愉快的事带来的烦恼
$ sudo iso/install -inputFile /usr/local/matlab2017a/etc/installer_input.txt
$ (退出screen, Ctrl+A,D) # 安装到差不多时会停止,提醒插入光盘2,先退出screen为好
$ sudo mount R2017a_glnxa64_dvd2.iso iso/ # 挂载光盘2
$ screen -r matlab # 此时恢复screen,可以发现自动安装了
- 破解,其实就是把Crack文件夹里的
libmwservice.so
文件覆盖原文件
$ sudo mv /usr/local/matlab2017a/2017a/bin/glnxa64/libmwservices.so \
> /usr/local/matlab/2017a/bin/glnxa64/libmwservices.so.bak 备份一下
$ sudo cp /usr/local/matlab2017/etc/Crack/R2017a/bin/glnxa64/libmwservice.so \
> /usr/local/matlab2017a/2017a/bin/glnxa64/ # 目录太长了~
$ sudo /usr/local/matlab2017a/2017a/bin/activate_matlab.sh -propertiesFile /usr/local/matlab2017a/etc/activate.ini
- 基本上大功告成,添加一个alias以后用起来方便点,在
~/.bashrc
文件最后加入一句,然后source ~/.bashrc
即可
alias matlab2017="/usr/local/matlab2017a/2017a/bin/matlab"