ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Linux下MATLAB安装全指南:从镜像挂载到许可证配置与错误排查

Linux下MATLAB安装全指南:从镜像挂载到许可证配置与错误排查 Windows 上装 MATLAB 是双击一路 next但换到 Linux 下很多人第一次是会卡住的——镜像不知道怎么挂载、许可证路径配不对、远程服务器上没图形界面装到一半就退出。我前后在 Ubuntu、Rocky Linux、AlmaLinux 这些发行版上都装过 MATLAB也帮实验室同事处理过各种启动报错踩了不少坑。这篇就把完整流程整理一遍从下载安装包、挂载镜像、许可证配置到环境变量、远程批量运行和常见错误排查都覆盖到适合想在本地 Linux 桌面或云服务器上安装 MATLAB 的人参考。版本用 MATLAB R2026b 作为示例但流程对 R2023b 到 R2026b 基本通用。1. 安装前必须搞清楚的几件事1.1 先确认 Linux 发行版和内核架构很多人拿到安装包就开始装结果装到一半才意识到下载错了架构的镜像。MATLAB 的 Linux 安装包是按架构区分的常见的是 x86_64但现在 ARM 平台也越来越多比如 AWS 的 Graviton 实例或者一些国产 ARM 服务器。下载之前先确认一下cat /etc/os-release uname -muname -m输出x86_64就下载 x86_64 版本输出aarch64就要找 ARM 版本否则后续安装器会直接拒绝执行。发行版本身不是大问题Ubuntu、Debian、CentOS、Rocky、AlmaLinux、openSUSE、Fedora 都在支持范围内国产的统信 UOS、麒麟在兼容模式下也能跑但要注意它们的 glibc 版本不能太老。MATLAB 对 glibc 有最低版本要求比如 R2026b 往往要求 glibc 2.28 以上CentOS 7 那种老系统就别硬装了要么升级系统要么选旧版 MATLAB。磁盘空间也要提前看。完整安装 MATLAB 加所有工具箱需要 25GB 到 35GB实际预留 45GB 左右比较稳妥。用df -h看一下目标分区剩余空间不要装到一半发现/usr满了。1.2 补依赖库避免装完启动报错Linux 桌面发行版一般不会默认带全 MATLAB 需要的图形库。你要是装完双击图标起不来ldd检查一堆libX11.so.6: cannot open shared object file基本都是缺依赖导致的。最好在安装之前就把这些库装好。以 Ubuntu 系为例sudo apt update sudo apt install -y libx11-6 libxext6 libxmu6 libxpm6 libxt6 libxcb1 libgl1 libglib2.0-0 libgomp1 fontconfig如果是 Rocky / AlmaLinux / CentOS用yum或dnf装对应名字的包。不要小看这一步我见过不少人折腾半天最后就是少了libXt而已。另外 MATLAB 桌面基于 Java所以一个可用的 Java 运行环境也能减少后期莫名其妙的问题不过 MATLAB 自带的 JRE 一般够用不用特意装 JDK。1.3 许可证类型别选错安装 MATLAB 需要许可证文件这个比安装包本身更容易出问题。常见的有三种许可证类型适用场景典型文件Individual / 校园个人版个人电脑、单机激活license.licNetwork License网络许可证实验室服务器、多人共用license.dat License ManagerTrial 试用版短期评估从官网账号直接激活单机安装时MathWorks 账号会提供一个 File Installation KeyFIK配合 license.lic 使用。网络许可证则是把 license.dat 指向许可证服务器的地址服务器上跑一个 License Manager客户端不存激活信息。实验室里建议优先用 Network License因为换机器、加节点都不需要反复激活。需要特别提醒许可证文件通常绑定 HostID就是主机的 MAC 地址。如果申请许可证时写的是 A 机器的 MAC拿到 B 机器上装就会出现MathWorks Licensing Error -8。装之前先确认机器网卡的物理地址再用对应机器申请许可。2. 安装包下载、挂载与安装模式选择2.1 下载镜像并校验完整性从 MathWorks 官网的 Download 页面可以获取 Linux 版安装镜像通常是一个 ISO 文件大小在 5GB 到 8GB 之间。校园许可或者公司许可的情况下部分高校的软件服务站也会提供镜像下载。下载到服务器之后先检查一下文件完整性否则解压到一半报错你都不知道是网络问题还是文件问题md5sum MATLAB_R2026b_Linux.iso sha256sum MATLAB_R2026b_Linux.iso算出结果和官方提供的校验值对比不一致就重新下载。这一步看似多余但大文件下载很容易出错尤其你在云服务器上用wget拉包网络抖动导致的文件损坏非常常见。2.2 挂载 ISO 镜像或直接解压ISO 可以直接挂载也可以解压后安装。有 root 权限就挂载省磁盘空间sudo mkdir -p /media/matlab_iso sudo mount -o loop MATLAB_R2026b_Linux.iso /media/matlab_iso cd /media/matlab_iso ls -la如果你只有普通用户权限挂载不了就解压mkdir -p $HOME/matlab_installer 7z x MATLAB_R2026b_Linux.iso -o$HOME/matlab_installer cd $HOME/matlab_installer7z在大多数发行版里可以通过apt install p7zip-full或yum install p7zip装上。注意解压出来的目录体积也会有好几 GB预留好空间。挂在云服务器上/media目录可能不存在记得先mkdir -p。2.3 图形界面安装还是静默安装安装 ISO 根目录下的install就是安装器。有图形桌面的环境可以直接执行sudo ./install它会出现一个图形向导选择安装路径、勾选工具箱、输入许可证信息。步骤简单但它在远程服务器上不太好使。你用 SSH 连服务器没有 X 转发的话这个命令会因为找不到DISPLAY直接退出。所以我强烈建议在服务器或无桌面环境下用静默安装。做法是准备一个installer_input.txt配置文件示例内容如下destinationFolder/usr/local/MATLAB/R2026b fileInstallationKeyxxxxx-xxxxx-xxxxx-xxxxx-xxxxx agreeToLicenseyes outputFile/tmp/matlab_install_log.log modesilent licensePath/path/to/license.lic然后执行sudo ./install -inputFile installer_input.txt这里每一个参数都有自己的坑。destinationFolder写不好会导致安装到根目录权限不足fileInstallationKey必须和许可证匹配填错会直接中止licensePath如果是离线的单机许可证要把 license.lic 的实际路径写绝对路径不要用~因为安装器运行时的用户和你预期的可能不是一个。静默安装的好处是它不依赖显示环境也能把安装日志输出到文件里方便排错。2.4 安装目录和工具箱怎么取舍安装目录我建议统一放在/usr/local/MATLAB/R2026b保持和官方默认一致。这个目录需要 root 写入权限所以命令前面要加sudo。如果当前账号没有 sudo 权限退而求其次装到$HOME/MATLAB/R2026b只是后续所有用户要共享就比较麻烦。工具箱的选择要结合实际需求。默认全选的话磁盘占用直接往 30GB 以上走。如果只是做数值计算、信号处理可以只选 MATLAB 本体、Simulink如果需要、Signal Processing Toolbox、Statistics and Machine Learning Toolbox。做图像处理的人则要额外勾上 Image Processing Toolbox、Computer Vision Toolbox。工具箱缺失不影响安装但运行对应函数时会报Undefined function xxx或者提示缺少许可证到那时再补装也行只是麻烦一点。安装完成后一个直观的验证方式是列出所有可用工具箱/usr/local/MATLAB/R2026b/bin/matlab -batch verver会输出 MATLAB 版本、许可证信息、所有已安装工具箱的清单。看到需要的工具箱都在列表里说明安装路径和工具箱选择没有问题。3. 许可证配置与激活细节3.1 license.lic 的正确摆放位置单机许可证模式下安装完成后要把license.lic放到 MATLAB 能识别的位置。不同版本有点差异但常见的位置是两个/usr/local/MATLAB/R2026b/licenses/license.lic$HOME/.matlab/R2026b_licenses/license.lic第一个目录通常在安装时就自动生成你把 license 文件丢进去就行。第二个位置更适合单个用户单独激活的场景。注意权限MATLAB 进程要有读该文件的权限否则启动时一样报许可证错误。最简单的方式是拷贝后执行chmod 644。除此之外强烈建议显式配置环境变量来指定许可证路径。因为 MATLAB 启动时搜索许可证的顺序比较固定默认会在安装目录、用户目录、系统公共目录里找但你服务器上可能存在多个 license 文件它可能找到旧的那个导致激活失败。设置环境变量可以杜绝这种不确定性export MLM_LICENSE_FILE/usr/local/MATLAB/R2026b/licenses/license.lic3.2 MathWorks Licensing Error -8 的完整排查路径这是 Linux 上最臭名昭著的启动错误定义是Unable to checkout a license。报错的时机有两种启动桌面版时弹窗显示 license 错误命令行运行脚本时输出Licensing error: -8,0。出现 -8 时按下面的顺序排查不要一上来就重装第一检查许可证文件的 HostID 是否与本机一致。在 license.lic 里搜HOSTID再用系统命令查看本机 MACip link show ifconfig -a | grep ether两者不一致就是许可证申请错了机器。注意有些网卡的名称是ens33、enp0s3看 MAC 地址那一串不要看设备名。第二确认环境变量是否指向了一个不存在的路径。包括MLM_LICENSE_FILE和LM_LICENSE_FILE任何一个配错了都会覆盖默认查找逻辑直接报 -8echo $MLM_LICENSE_FILE echo $LM_LICENSE_FILE第三确认许可证没有过期。用文本编辑器打开 license.lic看到类似Maintenance或者ExpirationDate字段如果日期早于当前时间那就是许可证到期了需要重新申请。第四如果上面都没问题尝试重新激活/usr/local/MATLAB/R2026b/bin/activate_matlab.sh这个脚本会进入交互式激活界面输入账号和 FIK重新生成 license 文件。我实验室一台老服务器曾经出现网卡被 NetworkManager 随机修改 MAC 导致 license 失效的情况最终固定了 MAC 地址才解决。所以不要忽略网卡随机 MAC 这个问题它很隐蔽。3.3 网络许可证的配置差异如果你用的是 Network License情况完全不同。license.dat 里写的是许可证服务器的地址比如SERVER myserver.example.com 001122334455 27000 DAEMON MLM /usr/local/MATLAB/R2026b/etc/MLM客户端这边不需要在本地放完整授权只需要告诉 MATLAB 服务器在哪里export MLM_LICENSE_FILE27000myserver.example.com请确保客户端能访问服务器的 27000 端口并且 License Manager 已经启动。这个模式最大的好处是新增计算节点时不用重新申请许可证只要网络能通就行。缺点是服务器挂了所有客户端都会报 -8。4. 环境变量配置与命令行模式运行4.1 把 matlab 命令加入 PATH安装完成后matlab命令默认不在 PATH 里。每次都要输全路径太难受建议配置环境变量。个人用户改~/.bashrcecho export PATH/usr/local/MATLAB/R2026b/bin:$PATH ~/.bashrc source ~/.bashrc系统级共享环境可以新建/etc/profile.d/matlab.sh#!/bin/bash export PATH/usr/local/MATLAB/R2026b/bin:$PATH配好后验证which matlab matlab -help如果输出正常说明 PATH 生效。还要顺带确认 MATLAB 命令行启动模式是否能读取许可证。这一步能提前暴露许可证问题比打开 GUI 再报错好处理得多。4.2 无桌面环境下跑批量计算服务器版 MATLAB 最常用的形态是没有 GUI 的批处理模式。以前老版本用-nodisplay -nosplash -nodesktop组合到了 R2023b 之后更推荐直接用-batchmatlab -batch disp(hello); x rand(3,3); disp(x);-batch模式会自动设置好无显示环境脚本执行完自动退出不会残留 MATLAB 进程也适合和 Cron、CI 流水线结合。如果你需要用 MATLAB 写结果到文件直接在脚本里用save或者writematrix即可无需图形支持。如果偶尔需要远程图形界面可以用 X11 转发ssh -X userserver matlab但 X11 转发在跨网络条件下画图极慢不推荐用来做交互式开发。真需要图形界面用 VNC 或者专门跑个 Xvfb 更现实。一个替代方案是xvfb-run matlab -desktop用虚拟显示启动桌面版适合在 CI 环境里测试 GUI 程序只是普通用户不要轻易尝试坑比较多。4.3 安装后建议做的性能与计算验证装完 MATLAB 不等于万事大吉我一般会跑三个简单验证。第一个验证核心数值运算是否正常。bench是 MATLAB 自带基准测试能给出你机器上的 Mflops 数值matlab -batch bench。它与具体处理器性能有关主要看能不能跑完不报错。第二个验证并行工具箱能不能开线程池matlab -batch parpool;。如果安装了 Parallel Computing Toolbox这会启动并行池如果提示没有并行许可证说明工具箱没装或 licenses 不匹配。第三个验证你要用的专业工具箱能正常调用函数比如图像处理就运行matlab -batch imread(cameraman.tif); disp(image ok)。这些验证不是锦上添花而是能快速把安装、许可证、工具箱三部分问题一次性暴露出来。省得你写完脚本跑起来才报错。5. 常见问题速查表与避坑心得5.1 高频问题速查表现象可能原因解决思路mount: no medium foundISO 路径写错或文件不完整检查 ISO 是否存在、md5 校验是否通过error while loading shared libraries: libX11.so.6图形库缺失安装 libx11 和相关 X 库cannot open display没有图形环境或 DISPLAY 未设置使用-batch模式或配置 X11 转发Licensing error: -8,0HostID 不匹配 / 许可证过期 / 路径错误按第 3.2 节流程逐项排查matlab: command not foundPATH 未配置设置环境变量并 sourcePermission denied安装失败安装目录无写权限使用 sudo 安装到 /usr/local启动后没有全部工具箱安装时未勾选或许可证不含相应模块重新运行安装器添加组件网卡 MAC 变来变去NetworkManager 随机 MAC 开启关闭随机化或固定 MAC5.2 实际操作中少走弯路的几点经验以下是我反复折腾得出的经验写下来供参考。经验一优先做静默安装。只要是远程服务器、不熟悉的机器、或者需要批量部署就不要指望 GUI 安装器。静默安装可以完全脚本化还能留存日志。我第一次在云服务器上装 MATLAB 时天真地运行了./install过了几分钟发现它卡在DISPLAY is not set白等半天。经验二许可证问题优先查环境变量。MATLAB 报许可证错误时很多人第一反应是删了重新激活但大部分 -8 错误其实是被环境变量指向了错误位置。每次装完先把MLM_LICENSE_FILE和LM_LICENSE_FILE检查一遍再考虑重装。经验三安装日志是排错的第一手资料。静默安装配置里写outputFile/tmp/matlab_install_log.log出问题先看日志比瞎猜快得多。日志里会详细记录哪一步失败、缺少哪个库、许可证读取是否成功。经验四不要迷恋全量安装。如果不做 Simulink 开发工具箱少装一点没关系反正后续可以再补。全量安装多占空间还拖慢启动速度。但有一点要处理好后续补装组件时要能找到原安装包别把 ISO 删了。5.3 安装完成后的启动脚本参考最后给一段我自己常驻~/.bashrc的 MATLAB 环境配置片段供参考export MATLAB_ROOT/usr/local/MATLAB/R2026b export PATH$MATLAB_ROOT/bin:$PATH export MLM_LICENSE_FILE$MATLAB_ROOT/licenses/license.lic然后日常运行时根据场景选择# 交互式使用 matlab # 运行单个 m 脚本文件 matlab -batch run(/home/user/projects/demo.m) # 打开并行池跑计算 matlab -batch parpool; run(/home/user/projects/parallel_demo.m)这套组合基本覆盖了单机开发、服务器批处理、并行计算三种主流用法。回到我个人的实际体验在 Linux 下安装 MATLAB最大的障碍从来不是安装包本身而是许可证、依赖库和环境变量这三个环节。只要把安装前的检查做足、许可证对应好 HostID、环境变量一次配对整个流程其实很快半小时内能搞定。我装过的最快记录是在一台裸机 Rocky Linux 上从下载镜像到跑通bench不到二十分钟。慢的时候反而是因为许可证文件申请错了机器来回折腾了两天。所以我会建议所有准备在 Linux 下安装 MATLAB 的人先花五分钟把本机架构、MAC 地址、磁盘空间、依赖库这四件事查清楚再开工。一次装通之后后续维护就省心多了。
返回列表