linux学习我用 LinuxLinux

在Ubuntu中安装MATLAB

2017-02-21  本文已影响1114人  于心叶的叶

写了两篇破事水,我在功能和外观上简单优化了Ubuntu系统。使用虚拟机的好处就是在不断学习的过程中,遇到不慎损坏了系统的时候,能很快使用备份恢复为作死前的样子。
  MATLAB是我在本科阶段用的最多的编程语言,它不仅是一个数值计算的高级程序语言,它拥有的丰富的Toolbox可以使它在各种领域发挥作用,还有一个配套软件包Simulink,提供一个可视化开发环境,常用于系统模拟、动态/嵌入式系统开发等方面。
  MATLAB也提供了MacOS、Linux等平台的版本,它是闭源软件,并且收费,它的安装和破解也同样复杂。去年我得到了一份MATLAB r2016b的Ubuntu版本,为两个dvd文件和一个破解压缩包,在百度云上搜索就能获得。经过尝试安装破解,亲测可用。于是这次重新配置Ubuntu的时候,想认真记录下来步骤,供大家参考。当然为了防止安装出现严重问题,我还是有防备地在客户机上备份了虚拟机的硬盘文件。
  当然这在Ubuntu占得空间相当大,而之前分配的32GB空间明显不够,于是我看着480GB的SSD里不多的剩余空间咬了咬牙…



  在虚拟机里硬盘扩容的步骤为:

完成后重新开始虚拟机,在虚拟机中打开GParted,此时已经多出了64GB的空间。但是/dev/sda1分区的后面有一个/dev/sda2下的/dev/sda5作为交换分区。此时不能直接扩容/dev/sda1,只能在交换分区后新增/dev/sda3作为新空间,或者删除交换分区,直接扩容/dev/sda1。
  因为交换分区用处不大,所以如果非要扩展成为一个盘,在/dev/sda2上右键删除是可行的。然而强迫症的我最终选择了重新建立交换空间。具体操作是:


接下来就开始准备MATLAB的正式安装了,正常的安装使用mount挂载iso的方式,mount命令格式如下,在参考书得5.2.3章也有详细讲解。

mount -t 类型 -o 挂接方式 源路径 目标路径

挂载第一张ISO的命令为:

mkdir /~/MATLAB1
sudo mount -t auto -o loop /~/Matlab R2016b/Linux/R2016b_glnxa64_dvd1.iso /~/MATLAB1

  当然也可以不使用挂载的方式。使用时将dvd1和dvd2解压到同一个文件夹,再将文件夹拖移(如果不是虚拟机则可用U盘传输)到Ubuntu系统中。


在文件夹所在位置打开终端输入sudo ./install,启动安装程序。


  接下来的所有步骤都和Windows版本的一致。在crack文件夹的readme提供了两种破解方法,我选择了方法一:standalone,具体步骤如下:
sudo mount -t auto -o loop /home/gzk/Matlab R2016b/Linux/R2016b_glnxa64_dvd2.iso /home/gzk/MATLAB1

这样,挂载目录就会仍然是/~/MATLAB1,这样才能接着进度继续安装。安装完毕后点击确定关闭窗口。


但是不知什么原因,我的下一步不知道如何进行了,从软件中心点击启动也没有反应,后来试着在终端执行sudo apt -f install弹出了可视化的交互窗口,才解决问题。
  这里特别说一下,因为我当时直接关闭了终端,再次打开的时候出现了无法获得锁的错误,而删除lock文件再执行sudo apt -f install却发现报错

debconf: DbDriver "config": /var/cache/debconf/config.dat is locked by another process: Resource temporarily unavailable
正在设置 matlab-support (0.0.21) ...
debconf: DbDriver "config": /var/cache/debconf/config.dat is locked by another process: Resource temporarily unavailable
dpkg: 处理软件包 matlab-support (--configure)时出错:
子进程 已安装 post-installation 脚本 返回错误状态 1
在处理时有错误发生:
matlab-support
E: Sub-process /usr/bin/dpkg returned an error code (1)

打开软件中心也发现MATLAB启动器被卸载了,重新安装启动仍报错。最后在Ubuntu社区论坛得到的解决方法是重启系统,亲测有效。

  这时候我们就要用root权限在在终端进行复制license文件操作了。我们需要将license_standalone.lic文件复制到MATLAB安装目录里新建的licenses目录下,再将/R2016b/bin/glnxa64文件夹下的几个文件全部复制到安装目录里的同名位置。具体操作如下:

cd /usr/local/MATLAB/R2016b
sudo mkdir licenses
sudo cp license_standalone.lic /usr/local/MATLAB/R2016b/licenses
sudo cp ./* /usr/local/MATLAB/R2016b/bin/glnxa64

  此时在软件激活界面输入license_standalone.lic的地址确定,可能会造成激活失败,没关系忽略掉,直接关闭。下一次启动的时候,软件就能正常打开了。



  软件使用的归档空间非常大,将近40GB,因为主程序和启动程序都是分开安装的,所以卸载操作也比其他软件麻烦。


  这里提供了来自MATLAB answers的卸载步骤
sudo ./usr/local/MATLAB/R2016b/bin/deactivate_matlab.sh
sudo rm -rf /usr/local/MATLAB/R2016b
sudo rm /usr/local/bin/matlab /usr/local/bin/mcc /usr/local/bin/mex /usr/local/bin/mbuild

参考文章:
反激活安装 - MATLAB & Simulink - MathWorks 中国
卸载 MathWorks 产品 - MATLAB & Simulink - MathWorks 中国
其中挂载DVD安装部分也参考了Ubuntu 16.04 LTS下安装MATLAB R2016b


上一篇 下一篇

猜你喜欢

热点阅读