Linux环境无root权限无图形界面安装Matlab2018b
https://blog.csdn.net/Jasper_he/article/details/98860071https://blog.csdn.net/StayFoolish_Fan/article/details/53998734https://blog.csdn.net/Xiao_Song_PKU/article/details/82700228https://blog.csdn.net/
https://blog.csdn.net/Jasper_he/article/details/98860071
https://blog.csdn.net/StayFoolish_Fan/article/details/53998734
https://blog.csdn.net/Xiao_Song_PKU/article/details/82700228
https://blog.csdn.net/Mr_Zing/article/details/80245292
MATLAB2018b三个版本,下载其中的Linux版本就行
链接: https://pan.baidu.com/s/1HPscHmYO_hJIEG3EkIO6cA 提取码: wtmy
超算机器上的账号,由于非root用户权限限制,在安装上会比root用户安装多许多限制,使用图形界面也有限制,参考网上教程自己动手安装,记录过程如下,希望对碰到类似困难的朋友有所帮助。
亲测安装过程中不用断网,激活时选择离线激活模式就可以。
下载和解压
下载matlab2018b for linux的iso文件,root用户可以直接挂载查看iso文件,非root用户不能挂载,这里采用7z软件linux版解压,可以直接解压iso文件
下载地址:
http://sourceforge.net/projects/p7zip/files/p7zip/
tar -jxvf p7zip*.tar.bz2
- 1
按照安装README说明
mv makefile.linux_any_cpu_gcc_4.X makefile.linux
make all3
- 1
- 2
install文件中更改$DEST_HOME路径
./install
加入环境变量,安装完成
解压命令 7z x *.iso -o destination_dir
- 1
命令行界面安装
序列号和破解补丁可以网上搜索下载
安装对应的路径序列号等信息在installer_input.txt指定
激活信息文件activationPropertiesFile(即activate.ini)可以先不指定,后面再激活,license文件也是后面在activate.ini中指定
./install -v -inputFile /absolute_path/installer_input.txt执行安装
其中-v可以输出详细安装信息
安装中出现的问题及其解决方法
1.出现问题:输入安装命令后出现三行
Preparing installation files ...
Installing
Finished!
- 1
- 2
- 3
但是安装并未进行,未生成任何文件
解决方法参考帖子
https://blog.csdn.net/StayFoolish_Fan/article/details/53998734
问题出现在install脚本调用的install_unix中
eval "$java_cmd 2> /dev/null"
- 1
这一行,将丢掉错误信息的命令去掉,改为
eval "$java_cmd"
- 1
这样可以看到报错信息,便于查错
更改后发现sys/java/jre/glnx86/jre/bin/java路径下的java缺少可执行权限的问题
到相应路径下,执行chmod +x java
2.出现问题:缺少Java库libjli.so
解决方法:到/usr路径下执行
find ./ -name libjli.so
- 1
然后将对应的路径加入到LD_LIBRARY_PATH中
3.出现问题
Error: missing `server' JVM at `/tmp/mathworks_55825/sys/java/jre/glnxa64/jre/lib/amd64/server/libjvm.so'.
Please install or use the JRE or JDK that contains these missing components.
- 1
- 2
java问题频发,看来要重装jdk了
下载jdk7,解压,由于是预先编译好的文件,设置环境变量即可使用
export JAVA_HOME=your_path
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH
- 1
- 2
- 3
安装jdk以后,依旧出现各种各样的问题,缺少java库,版本不兼容之类的
最终解决方式:(重要!针对网上各类帖子未解决的问题的最终方案)
到iso解压生成的文件夹中,进入目录
sys/java/jre/glnxa64/,执行如下命令
mv jre jre_backup
cp -r your_jdk7_path/jre ./
- 1
- 2
即使用新安装的jdk中的jre库替换matlab的iso安装包中的jre库,再重新执行安装,再也没有java的库的错误了,折腾了大半天的问题顺利解决!!!分析原因是matlab安装包中自带了jre的库,但是这些库存在各种各样的问题,而安装程序默认是调用安装包中的库,所以我们即使重新安装jdk依然无效。而用我们新安装的库替换原来的库后,问题得到圆满解决。
默认完整安装所有组件,耗时近5个小时,安装完成后提示还有一些需要的库如下,后面需要再安装了。
Your installation may require additional configuration steps.
- The following products require a supported compiler:
Stateflow 9.2
Simulink Coder 9.0
MATLAB Coder 4.1
Simulink Test 2.5
-
Simulink requires a C compiler for simulation acceleration, model reference, and MATLAB Function Block capabilities. It is recommended that you install a supported compiler on your machine.
-
To accelerate computations with the following products, a supported compiler is required:
SimBiology 5.8.1
Fixed-Point Designer 6.2
- MATLAB Compiler SDK 6.6 requires the following:
● a supported compiler for creation of C and C++ Shared libraries
● a Java JDK for creation of Java packages
(Aug 09, 2019 04:32:53) Exiting with status 0
(Aug 09, 2019 04:32:57) End - Successful.
Finished
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
最后用网上下载的license文件激活
在activate.in中设置
isSilent=true
activateCommand=activateOffline
licenseFile=/your_path/license_standalone.lic
执行命令
/install_path/bin/activate_matlab.sh -propertiesFile /your_src_path/activate.in
- 1
- 2
- 3
- 4
- 5
- 6
成功激活,在~/.bashrc中添加环境变量
export PATH="/your_install_path/bin:$PATH"
- 1
最后将激活文件夹中的文件覆盖安装目录中的文件即可完成。
matlab命令行运行不启动图形界面
matlab -nodisplay
- 1
加入.bashrc别名
alias matlabnd="matlab -nodisplay"
- 1
-nodesktop 启动jvm(Jave Virtual Machine),不启动desktop,但help 界面,preferences界面等仍可通过cmdline 调出,即jvm启动但不启动desktop,可以启动其他显示;但是matlab不会在cmd history记录本次执行的命令
-nodisplay 启动jvm,不启动desktop,不启动任何显示相关,忽略任何DISPLAY 环境变量;即jvm启动但不能显示
-nojvm 不启动jvm,则与之相关的一切活动将无法进行,包括图形界面显示,help 界面,preferences界面等 即jvm不启动故不能显示
-nosplash 只是不显示启动时的log画面,jvm,desktop等正常启动
</div>
https://blog.csdn.net/StayFoolish_Fan/article/details/53998734
这篇博客主要介绍无root权限的时候在linux下安装matlab2016b遇到的一些问题。顺便感慨一下:身边总有很多牛逼的人一句话就能点破困惑你好几天的问题。
最近跑算法需要在服务器上进行,所以matlab就需要在linux上安装,我这里的是ubuntu14.04,matlab版本为2016b。弄了几天,都是各种permission denied ,而且还有些时候还没有提示,怎么也不知道问题出现在哪里。还好身边大神比较多,顺利解决。
这篇文章主要讲自己遇到的一些问题,不讲流程,大家可以看参考链接,若遇到相应问题再来看看这篇文章中有没有。主要参考链接如下:
ubuntu16.04安装matlab 2016b教程【root安装,且有matlab2016b_linux安装包】
ubuntu上matlab的安装【很幸运他没有碰到什么permission denied的问题】
1:无root权限如何解决解压缩问题
(1)在windows下面解压缩然后上传服务器。(我采用的是这种)
(2)mount挂载iso文件需要root权限,下面给个链接,里面提到了几种无root权限解压缩iso文件的方法。 http://superuser.com/questions/180744/how-do-i-extract-an-iso-on-linux-without-root-access
2:各种permission denied问题
(1)./install:premission deind 。解决方法: 在install文件所在文件夹下执行:chmod 777 install 就可以了。也就是给了install文件可执行权限。
(2)./install: 1: exec: /home/xxx/R2016b/bin/glnxa64/install_unix: Permission denied 。解决方法:和(1)一样,切换到install_unix文件所在的路径下,执行chmod 777 install_unix就好了。
(3)install :1:eval:/tmp/mathworks_6992/sys/java/jre/glnx86/jre/bin/java:permission deined 。这是最让我头疼的一个问题,不是因为问题本身难,而是这个错误提示没有打印出来而我怎么也发现不了。师兄建议我看了下install和install_unix的脚本文件,师兄点拨了下才解决的。解决方法:切换到安装包下对应的sys/java/jre/glnx86/jre/bin/java路劲,执行chmod +x java就好了。
(4)最后在复制crack文件夹/R2016b/bin/glnxa64下的四个文件到安装目录下的/bin/glnxa64中时出现了cp : cannot create regular file 'xxxxxxxx':permission deined问题。解决方法:直接执行chmod -R 777 path就可以搞定了。其中path为对应文件夹的绝对路径。
3:install和install_unix脚本文件
其实在matlab安装的过程中实际上是通过执行脚本文件install来安装的,而install实际上是调用了install_unix来执行的,真正的java安装指令是在install_unix中。
文件中相关的bash语法就不细说了,自己也刚刚接触,就说一下为何上面第3个permission deined没有提示,关键在这一句:eval "$java_cmd 2> /dev/null" 。这后面的2> /dev/null是指如果你的命令出错的话,错误报告就直接删除了,不会显示在屏幕下,或者以邮件的形式发给你了。将这条指令改为eval "$java_cmd" 后就可以在屏幕看到上面这个错误了。
总结一下,困惑自己这么久的不是这些permission deined如何解决,而是自己对这些bash脚本文件不熟悉,得花点时间学学这个linux基本技能bash了。
linux下无图形界面安装matlab,也称静默安装
(由于环境的差异以及matlab的版本差异,在网上搜寻一顿材料,感谢文后的几个参考链接,虽然说每一个单独安装未成功,但是整合了一下,还是成功的安装了,总结一下)
安装环境ubuntu16.04
matlab版本:2017b / 2019b
一、下载matlab2017 linux的破解版安装包(感谢参考1中的安装包分享:链接:https://pan.baidu.com/s/1wijZCXIWsNXgz0yYYBXHnQ 密码:e8b2 ),并解压 。(2019b下载链接:https://pan.baidu.com/s/1pIuXfxuzEjWm1IOJ_JgPnA 提取码:hCYZ 复制这段内容后打开百度网盘手机App,操作更方便哦)
二、挂载镜像(挂载步骤均一致)
-
mount -o loop R2017b_glnxa64.iso /media/matlab (/media/matlab是挂载路径)
三、安装
-
进入/media/matlab目录安装
-
./install -mode silent -fileInstallationKey 09806-07443-53955-64350-21751-41297 -agreeToLicense yes -activationPropertiesFile /home/gpu-server02/software/MATLAB_R2017b_Linux/MATLABR2017b_Linux_Crack/activate.ini -destinationFolder /usr/local/matlab2017b
<ul><li> <p>说明:/home/gpu-server02/software/MATLAB_R2017b_Linux/MATLABR2017b_Linux_Crack/activate.ini是/media/matlab/activate.ini复制过来并且进行修改的(先进行复制,然后修改写权限:用chmod +w,因为直接修改/media/matlab/activate.ini不能成功,所以复制一份再修改),修改的内容如下所示:(注意:对应的激活文件路径以及激活码(在自己下载的matlab安装包中,以license为字眼进行寻找。2019b的Key在readme.txt里面))</p> </li> <li> <p>-------/home/gpu-server02/software/MATLAB_R2017b_Linux/MATLABR2017b_Linux_Crack/activate.ini修改后的内容-------------</p> </li> <li> <p><img alt="" class="has" height="819" src="https://img-blog.csdn.net/2018091411261161?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1hpYW9fU29uZ19QS1U=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70" width="866"></p> </li> </ul></li> <li> <p>然后显示安装完成,即为成功安装。</p> </li>
四、激活(可能是为了防止第一次启动需要激活吧,原因不清楚,保险起见再使用activate_matlab.sh激活一次)
-
进入目录:/usr/local/matlab2017b/bin
-
./activate_matlab.sh -propertiesFile /home/gpu-server02/software/MATLAB_R2017b_Linux/MATLABR2017b_Linux_Crack/activate.ini
-
显示静默激活成功(Slient activation succeeded),完成激活
五、破解(如果是破解版的。当前分享的版本,2017b是破解版的;2019b不是破解版的,但是必须要复制license_standalone.lic)
-
rm -rf /usr/local/matlab2017b/bin/glnxa64/libmwservices.so (2017b执行)
-
cp /home/gpu-server02/software/MATLAB_R2017b_Linux/MATLABR2017b_Linux_Crack/libmwservices.so /usr/local/matlab2017b/bin/glnxa64/ (2017b执行)
-
cp /home/gpu-server02/software/MATLAB_R2017b_Linux/MATLABR2017b_Linux_Crack/license_standalone.lic /usr/local/matlab2017b/licenses/ (2017b以及2019b都要执行)
-
安装2019b注意:在matlab2019b的安装路径里面找不到licenses,这里直接在安装路径下mkdir licenses,然后再进行cp操作
-
安装2019b注意:需要将安装包里面的glnxa64复制到安装包的bin路径下:cp -a /home/gpu-server02/software/MATLAB_R2019b_linux/Matlab_R2019b_Linux64_Crack/R2019b/bin/glnxa64 /usr/local/matlab2019b/bin/ (假如安装2019b的路径是/usr/local/matlab2019b)
六、去挂载(不知道为什么,开始我安装的差不多的步骤,不能成功,后来把挂载去掉,就成了。反正这么操作吧)
-
umount -l /media/matlab/
七、配置
-
打开~/.bashrc,在后面加上(/usr/local/matlab2017b是matlab安装目录):
<ul><li> <p>alias matlab='/usr/local/matlab2017b/bin/matlab'</p> </li> </ul></li> <li> <p>打开/etc/bash.bashrc,在后面添加path </p> <ul><li>export PATH=/usr/local/matlab2017b/bin${PATH:+:${PATH}}</li> </ul></li>
-
source ~/.bashrc 使其生效
八、启动
-
直接在命令行输入matlab就OK(配置~/.bashrc后就可以随便在任意目录下运行matlab)
-
利用sh等等调用matlab也OK(配置了/etc/bash.bashrc,被全局变量文件/etc/profile调用)
大功告成(不容易啊)
参考:
https://blog.csdn.net/qq_32892383/article/details/79670871
https://blog.csdn.net/fengtian12345/article/details/80198796
https://www.cnblogs.com/vincent-vg/p/8053152.html
MATLAB R2016b 静默安装、激活(Ubuntu 16.04)
概要
无图形界面环境下,静默安装、激活MATLAB。R2016b的iso安装包分两份,静默安装时需要合并为一份,否则要处理换碟问题。
注意:本文的所有命令使用root权限执行。
系统环境
Ubuntu 16.04
文件准备
下载安装包(放置在”~/Matlab/”目录下):
1. R2016b_glnxa64_dvd1.iso
2. R2016b_glnxa64_dvd2.iso
准备激活码及激活证书。
解压安装文件
本文使用7zip作为解压工具,分别解压两个dvd,得到R2016b_installer
和R2016b_dvd2
两个文件夹。
# 安装7-Zip准备解压
apt-get install p7zip-full -y
# 定义安装路径,准备解压两个DVD
MATLAB_HOME=/usr/local/MATLAB
# dvd1
mkdir -p "${MATLAB_HOME}/R2016b_installer"
7z x ~/Matlab/R2016b_glnxa64_dvd1.iso -r -o"${MATLAB_HOME}/R2016b_installer"
# dvd2
mkdir -p "${MATLAB_HOME}/R2016b_dvd2"
7z x ~/Matlab/R2016b_glnxa64_dvd2.iso -r -o"${MATLAB_HOME}/R2016b_dvd2"
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
然后将dvd2中的archives
文件夹合并到dvd1的archives
文件夹中,再将隐藏文件.dvd2
复制到dvd1的文件夹中,完成文件合并。
# 合并
rsync -a --progress "${MATLAB_HOME}/R2016b_dvd2/archives/" "${MATLAB_HOME}/R2016b_installer/archives"
mv "${MATLAB_HOME}/R2016b_dvd2/.dvd2" "${MATLAB_HOME}/R2016b_installer/"
# 清理一下dvd2
rm "${MATLAB_HOME}/R2016b_dvd2" -rf
- 1
- 2
- 3
- 4
- 5
创建安装所需文件
创建${MATLAB_HOME}/etc
文件夹,将激活文件解压到里面。
### 准备激活文件 ###
apt-get install unrar -y
mkdir -p "${MATLAB_HOME}/etc"
unrar x ~/Matlab/Matlab-2016b-Linux64-Crack.rar "${MATLAB_HOME}/etc"
- 1
- 2
- 3
- 4
创建安装配置installer_input.txt
,静默安装时使用-inputFile
参数将其传给安装程序。解压出来的安装文件中有installer_input.txt
文件的模板,具体参数意义可以参照该模板的说明。这里要注意的是,很多教程里配置文件中有#
开头的“注释”,这种不合法的语句会导致静默安装失败,启动图形界面进行安装。
在下面的安装配置中,重点关注:
1. destinationFolder
(MATLAB安装路径)
2. fileInstallationKey
(激活码,和激活证书文件配对,注意别用到Matlab Production Server的)
3. activationPropertiesFile
(激活脚本,待会创建)
4. licensePath
(激活证书文件路径,和激活码配对)
### 写入安装配置 ###
MATLAB_INSTALLER_INPUT="${MATLAB_HOME}/etc/installer_input.txt"
touch "${MATLAB_INSTALLER_INPUT}"
echo "destinationFolder=${MATLAB_HOME}/R2016b" >> "${MATLAB_INSTALLER_INPUT}"
echo "fileInstallationKey=09806-07443-53955-64350-21751-41297" >> "${MATLAB_INSTALLER_INPUT}"
echo "agreeToLicense=yes" >> "${MATLAB_INSTALLER_INPUT}"
echo "outputFile=/tmp/mathwork_install.log" >> "${MATLAB_INSTALLER_INPUT}"
echo "mode=silent" >> "${MATLAB_INSTALLER_INPUT}"
echo "activationPropertiesFile=${MATLAB_HOME}/etc/activate.ini" >> "${MATLAB_INSTALLER_INPUT}"
echo "licensePath=${MATLAB_HOME}/etc/license_standalone.lic" >> "${MATLAB_INSTALLER_INPUT}"
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
创建激活文件activate.ini
,安装结束后,使用激活程序的-propertiesFile
参数将其传入。其中licenseFile
为激活证书文件路径。
### 写入激活配置 ###
MATLAB_INSTALLER_ACTIVATE="${MATLAB_HOME}/etc/activate.ini"
touch "${MATLAB_INSTALLER_ACTIVATE}"
echo "isSilent=true" >> "${MATLAB_INSTALLER_ACTIVATE}"
echo "activateCommand=activateOffline" >> "${MATLAB_INSTALLER_ACTIVATE}"
echo "licenseFile=${MATLAB_HOME}/etc/license_standalone.lic" >> "${MATLAB_INSTALLER_ACTIVATE}"
- 1
- 2
- 3
- 4
- 5
- 6
开始安装
修改文件权限,保证安装程序顺利运行。
mkdir -p "${MATLAB_HOME}/R2016b"
chmod +x "${MATLAB_HOME}/R2016b_installer/install"
chmod +x "${MATLAB_HOME}/R2016b_installer/bin/glnxa64/install_unix"
chmod +x "${MATLAB_HOME}/R2016b_installer/sys/java/jre/glnxa64/jre/bin/java"
chmod +w "${MATLAB_INSTALLER_INPUT}"
chmod +w "${MATLAB_INSTALLER_ACTIVATE}"
- 1
- 2
- 3
- 4
- 5
- 6
启动安装程序。
# 安装!
${MATLAB_HOME}/R2016b_installer/install -inputFile "${MATLAB_INSTALLER_INPUT}"
- 1
- 2
拷贝新文件以激活。注意激活脚本的-isSilent
参数,保证该脚本不会执行图形化激活程序。
# 备份后拷贝新文件
mv "${MATLAB_HOME}/R2016b/bin/glnxa64/libmwservices.so" "${MATLAB_HOME}/R2016b/bin/glnxa64/libmwservices.so.bak"
mv "${MATLAB_HOME}/R2016b/bin/glnxa64/libinstutil.so" "${MATLAB_HOME}/R2016b/bin/glnxa64/libinstutil.so.bak"
mv "${MATLAB_HOME}/R2016b/bin/glnxa64/libmwlmgrimpl.so" "${MATLAB_HOME}/R2016b/bin/glnxa64/libmwlmgrimpl.so.bak"
cp "${MATLAB_HOME}/etc/R2016b/bin/glnxa64/libmwservices.so" "${MATLAB_HOME}/R2016b/bin/glnxa64/libmwservices.so"
cp "${MATLAB_HOME}/etc/R2016b/bin/glnxa64/libinstutil.so" "${MATLAB_HOME}/R2016b/bin/glnxa64/libinstutil.so"
cp "${MATLAB_HOME}/etc/R2016b/bin/glnxa64/libmwlmgrimpl.so" "${MATLAB_HOME}/R2016b/bin/glnxa64/libmwlmgrimpl.so"
# 激活!
${MATLAB_HOME}/R2016b/bin/activate_matlab.sh -isSilent -propertiesFile "${MATLAB_INSTALLER_ACTIVATE}"
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
写入PATH变量。
### 写入PATH ###
echo "export PATH=${MATLAB_HOME}/R2016b/bin:$PATH" >> /etc/profile
source /etc/profile
- 1
- 2
- 3
收工
echo "收工!"
exit 1
- 1
- 2
更多推荐
所有评论(0)