实验室服务器为Ubuntu 14.04.5系统,性能自然不用说,Matlab却只有2013b和2012a的版本,让本地使用2016a的同志们感到不舒服,因为有些函数还是有很大修改的(比如matlabpool)。在实验室同志的强烈要求下,给服务器装了Matlab2017a版本(2016a的版本没找到破解版~)。

其实网上已经有很多服务器安装matlab的教程了,不过多少有点差别,以下稍微记录一下安装记录:

  1. 下载,解压,得到两个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
  1. 由于服务器已经配置好了Java环境,我也没有配置经验,如果Java环境有问题,还是看别人的教程吧~
  2. 创建目录
$ sudo mkdir -p /usr/local/matlab2017a/2017a  # 安装目录
$ sudo mkdir -p /usr/local/matlab2017a/etc  # 配置文件目录
  1. 挂载镜像。挂载需要提权,所以还是得sudo
$ cd ~/matlab2017a  # 更改为镜像文件所在的目录,当然首先得把文件传到服务器上
$ mkdir iso  # 创建挂载目录
$ sudo mount R2017a_glnxa64_dvd1.iso iso/  # 挂载,发现镜像里竟然包含了crack文件夹,不管他了
  1. 挂载后的目录里有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  # 增加写的权限
  1. 修改复制后的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文件
  1. 修改复制后的activate.ini文件
isSilent=true  # 开启silent模式
activateCommand=activateOffline  # 设置激活方式, 离线激活 无需联网
licenseFile=/usr/local/matlab2017a/etc/Crack/license_standalone.lic  # license文件位置
  1. 安装
$ 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,可以发现自动安装了
  1. 破解,其实就是把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
  1. 基本上大功告成,添加一个alias以后用起来方便点,在~/.bashrc文件最后加入一句,然后source ~/.bashrc即可
alias matlab2017="/usr/local/matlab2017a/2017a/bin/matlab"