ARTICLE DETAIL

资讯详情

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

Ubuntu上安装MATLAB R2024b:镜像挂载、静默安装与License激活排错指南

Ubuntu上安装MATLAB R2024b:镜像挂载、静默安装与License激活排错指南 最近帮实验室的工作站和一台跑计算的服务器换上了 MATLAB R2024b从镜像下载、授权激活到环境变量配置前前后后踩了不少坑。这篇文章就把我在 Ubuntu Linux 上安装配置 MATLAB R2024b 的完整流程、关键参数和排错心得整理出来适合要在自己电脑、实验室工作站或服务器上装 MATLAB 的读者参考。先说结论整个过程其实就三大步——下载镜像并挂载、运行安装器、配置 License 和 PATH。听起来简单但每一步都有细节尤其是无图形界面的服务器环境、中文目录、依赖库缺失这几个老问题处理不好会卡很久。我这篇会把纯终端环境的静默安装也一并讲清楚因为服务器上经常没有显示器。1. 安装前的准备镜像下载与系统环境检查1.1 MATLAB R2024b 镜像获取与校验安装包建议直接从 MathWorks 官网下载个人版、教育版、企业版账户登录后都能拿到对应版本的安装文件。R2024b 的 Linux 版通常是一个 ISO 镜像文件名类似matlab_R2024b_Linux.iso体积在 13GB 左右。下载时建议选离自己最近的镜像节点如果是学校的批量授权一般有校内镜像或网盘资源速度和稳定性更好。拿到镜像后第一件事不是急着挂载而是校验文件完整性。我一般用sha256sum对比官方校验值尤其从网盘下载的包文件损坏的概率不低。安装过程中如果莫名其妙报错先怀疑 ISO 是不是完整。sha256sum matlab_R2024b_Linux.iso对比官网给出的 SHA-256 值一致后再进行下一步。这一步不花几分钟但能省掉后面排查安装器崩溃的时间。下载后不要放在中文或带空格的路径下虽然现代 Linux 能处理空格路径但 MATLAB 安装器对这种情况的兼容性时好时坏我之前吃过亏后来一律把安装包放在/opt、/home/用户名/Downloads这类纯英文路径下。1.2 系统版本、磁盘与依赖库检查R2024b 对系统版本有明确要求。官方支持矩阵里Ubuntu 22.04 LTS 和 24.04 LTS 都在列表内我实测 22.04.3 和 24.04.1 都能顺利安装。如果你的系统是 20.04虽然也能装但可能会遇到 glibc 版本不够的问题R2024b 的运行时对 glibc 版本有要求20.04 默认带的 2.31 在某些功能上会触发兼容性问题所以能用 22.04 以上版本就尽量用新版。检查系统版本和内核cat /etc/os-release uname -a然后看磁盘空间。MATLAB R2024b 典型安装大约需要 25GB完整安装包含所有工具箱、文档和示例要 38GB 左右。如果只是常规跑代码和 Simulink典型安装就够了没必要把所有工具箱都塞进去占地方还拖慢启动。df -h /home内存方面官方最低要求 4GB但实际跑深度学习、图像处理或者 Simulink 仿真8GB 以上才流畅。我建议工作站至少 16GB如果你要用并行计算工具箱开多 worker内存不够会非常痛苦。再检查一下 glibc 版本ldd --version | head -n1R2024b 在 Ubuntu 22.04 上需要的 glibc 版本是 2.34 以上如果低于这个版本安装完启动时会直接报GLIBC_2.34 not found之类的错误。1.3 先补哪些依赖库最省心这是最容易踩坑的地方。MATLAB 安装器和运行时依赖一批 X11 图形库和系统库Ubuntu 最小化安装或者服务器版默认没有这些包直接跑安装器会闪退或者报缺少库文件。在安装之前先把这些依赖装齐sudo apt update sudo apt install -y libxt6 libxrender1 libxpm4 libxtst6 libxi6 libgl1-mesa-glx libgl1-mesa-dri libasound2如果之后要跑 Simulink 和代码生成相关工具箱再加一组sudo apt install -y libtinfo5 libncurses5 libncursesw5注意libncurses5在 Ubuntu 23.10 之后的标准源里已经没有了需要手动下载 deb 包安装不过 22.04 还在源里直接装即可。我实际安装时还遇到过一个比较隐蔽的依赖libpng16-16。R2024b 的安装器界面渲染依赖它如果缺了图形安装器打开后只显示一个空白窗口。其实稳妥的做法是先跑一次安装器看终端里报什么错再对症下药但为了省时间还是先统一装齐更靠谱。2. 挂载镜像与安装向导实操2.1 ISO 挂载与图形化安装步骤挂载 ISO 很简单先创建挂载目录再用mount命令挂载sudo mkdir -p /mnt/matlab sudo mount -o loop matlab_R2024b_Linux.iso /mnt/matlab挂载完成后进入目录能看到install脚本和若干子目录。图形化安装就是在桌面环境直接运行cd /mnt/matlab sudo ./install注意这里我用的是sudo因为默认安装路径是/usr/local/MATLAB/R2024b普通用户没有写权限。安装器会提示是否同意许可协议选“是”然后下一步。安装类型有几个选项典型安装只装 MATLAB 主体和常用工具箱适合大多数场景。完整安装所有工具箱、文档、示例全部装上占空间最大。自定义安装手动勾选需要的东西推荐有经验的人使用。我一般选“典型安装”然后在后续界面单独勾选自己需要的工具箱比如并行计算工具箱、计算机视觉工具箱、深度学习工具箱。这样既控制了磁盘占用又不至于漏掉关键功能。安装路径建议保持默认的/usr/local/MATLAB/R2024b不要装到/home下。原因是 MATLAB 的文件非常多装在/usr/local这种系统级目录权限更清晰配合sudo管理也更方便。如果一定要装到用户目录后续权限问题会反复找上门。整个安装过程耗时取决于磁盘吞吐量。SSD 大概 10-15 分钟机械硬盘要 30 分钟以上。期间不要中断安装器卡住的话耐心等一会儿偶尔界面看着像死机其实后台还在解压文件。2.2 无桌面环境下的静默安装服务器或者通过 SSH 远程管理的机器通常没有图形界面这时候就需要静默安装。R2024b 的安装器支持通过输入文件提供所有参数。先创建一个安装输入文件比如installer_input.txtdestinationFolder/usr/local/MATLAB/R2024b fileInstallationKeyxxxxx-xxxxx-xxxxx-xxxxx-xxxxx agreeToLicenseyes modesilent其中fileInstallationKey里的 x 换成你自己的安装密钥。安装密钥在 MathWorks 官网的“获取安装密钥”页面可以看到格式是一串五组数字。然后运行cd /mnt/matlab sudo ./install -inputFile installer_input.txt这个方式特别适合批量安装多台机器把输入文件写好剩下的交给脚本循环执行就行。我在给三台计算节点装同一个授权时就写了个简单 shell 循环for node in node1 node2 node3; do scp installer_input.txt $node:/tmp/ ssh $node cd /mnt/matlab sudo ./install -inputFile /tmp/installer_input.txt done静默安装的坑在于如果安装过程中缺少依赖库它不会弹窗提示而是在日志里写一行错误然后退出。所以静默安装前更要确保依赖库齐全否则反复失败都摸不着头脑。运行后建议看一眼安装日志通常在/tmp下出现Installation complete字样才算真正成功。2.3 安装选项与磁盘占用说明再展开说说磁盘占用的事。R2024b 完整安装后du -sh /usr/local/MATLAB/R2024b显示大概 35GB 左右比官方说的 38GB 略小因为文档索引会在首次启动时生成。而典型安装一般在 27GB 上下。如果机器磁盘吃紧有两条路可走。第一是装完后清理安装包和挂载文件sudo umount /mnt/matlab rm matlab_R2024b_Linux.iso第二是删除工具箱里用不到的部分。MATLAB 各工具箱安装在/usr/local/MATLAB/R2024b/toolbox下不需要的可以直接删目录。但我不建议这么干因为 MATLAB 的中心化机制可能会在启动时校验内部一致性删错了容易引发各种诡异问题。更聪明的做法是安装时少勾选装完不删。3. License 激活与 PATH 配置3.1 三种授权方式的激活路径MATLAB 的激活方式直接决定你后续用起来顺不顺畅。R2024b 主要支持三种在线账户激活、文件安装密钥离线激活、网络许可证服务器激活。三种方式的取舍很明显个人电脑用在线激活最省事离线机器只能走文件密钥而实验室和公司机器用网络许可服务器License Server最灵活——客户端不需要单独激活只要网络能访问许可证服务器就行。具体操作路径如下。在线账户激活安装完成后首次启动 MATLAB弹出登录框时输入 MathWorks 账户密码选择关联的许可证即可。这种方式最简单但机器必须能连接外网。文件安装密钥离线激活安装时选择“我有文件安装密钥”输入官网生成的密钥。首次启动时选择“手动激活”导入license.lic文件。这个文件在官网的许可证管理页面可以下载上传到机器上后指向它就行。网络许可服务器安装时选择“许可证服务器”填写服务器地址格式如下export MLM_LICENSE_FILE27000license-server-hostname把license-server-hostname换成实际服务器地址。我实验室的许可证服务器用的就是浮动授权所有工作站的 MATLAB 都不用单独激活谁想用谁启动非常省心。激活文件默认位置在/usr/local/MATLAB/R2024b/licenses/如果激活成功后想确认状态可以运行matlab -nodisplay -batch licensestats能正常输出许可证信息就说明激活没问题。3.2 PATH 与 matlab 命令的全局配置安装和激活做完后还差最后一步让matlab命令随处可用。虽然安装完成时安装器通常会自动配置PATH但我在 Ubuntu 上遇到过几次没生效的情况所以通常手动配置一遍最稳妥。编辑当前用户的.bashrcecho export PATH/usr/local/MATLAB/R2024b/bin:$PATH ~/.bashrc source ~/.bashrc注意别漏了$PATH这几个字符。我见过有人图省事写成export PATH/usr/local/MATLAB/R2024b/bin这会直接把系统命令路径全部覆盖导致ls、sudo全都失效。遇到这个问题时先用绝对路径恢复环境变量/usr/bin/export PATH/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin然后重新打开终端修正即可。这种事故在运维场景里太常见了特别是刚接触 Linux 的新手改完PATH之后终端就“瘫痪”了其实不用重装系统上面那条命令就能救回来。如果希望所有用户都能直接用matlab命令把配置写到全局环境里更合适sudo tee /etc/profile.d/matlab.sh EOF export PATH/usr/local/MATLAB/R2024b/bin:$PATH EOF sudo chmod x /etc/profile.d/matlab.sh或者建一个软链接sudo ln -s /usr/local/MATLAB/R2024b/bin/matlab /usr/local/bin/matlab配置完毕后新开终端输入matlab -nodisplay -nosplash能进入 MATLAB 命令行就说明全链路通了。这里我用的是-nodisplay -nosplash在有桌面环境的机器上直接输matlab会打开图形界面无头机器上则必须加这两个参数才能正常运行。4. 启动验证与常见问题排查4.1 启动白屏、闪退与 OpenGL 问题MATLAB 在 Linux 上的启动问题我遇到最多的是白屏、闪退、界面渲染异常。这些问题绝大多数和 OpenGL 有关尤其是有 N 卡但驱动没装好或者是在虚拟机里的情况。典型症状是启动后主窗口一片空白或者 MATLAB 界面显示一半就崩了终端里报OpenGL相关的错误。解决方法很简单强制 MATLAB 用软件渲染启动matlab -softwareopengl这个参数会让 MATLAB 放弃调用 GPU 的 OpenGL 加速改用 CPU 绘制界面。如果界面能正常出现说明就是显卡驱动或 OpenGL 库的问题。长期使用建议写成别名在~/.bashrc里加alias matlabmatlab -softwareopengl不过要注意-softwareopengl在某些老显卡上影响图形性能但 MATLAB 本身又不是游戏平时跑代码画图完全够用。对于在虚拟机里装 Ubuntu 的用户这个方案尤其有效我实测 VMware 里不启用 3D 加速时不加这个参数 MATLAB 几乎必崩。4.2 环境变量引发的经典事故环境变量除了PATH之外还有两个和 MATLAB 强相关的LD_LIBRARY_PATH和MATLAB_USE_USERWORK。先说LD_LIBRARY_PATH。如果你的系统里同时装了 CUDA、Anaconda 或其他科学计算软件LD_LIBRARY_PATH里可能会残留一些库路径。MATLAB 启动时会加载这些动态库如果版本冲突就会出现libcudart.so.xx not found、undefined symbol这类错误。排查时先看这个变量是不是被搞乱了echo $LD_LIBRARY_PATH如果里面有多余的路径在启动 MATLAB 前清空它unset LD_LIBRARY_PATH matlab验证是不是这个原因后再决定是否永久清理。其实对大多数场景LD_LIBRARY_PATH这个变量根本不需要去设置让系统走默认库路径最安全。再说一个和中文环境相关的坑。如果你在中文语言环境里安装MATLAB 的界面和命令行有可能出现乱码这是因为 MATLAB 的 Java 界面默认字符集和系统 locale 不匹配。临时解决方法是启动时指定编码matlab -J-Dfile.encodingUTF-8长期使用可以配置 MATLAB 自身的默认字符集在 MATLAB 里执行feature(DefaultCharacterSet, UTF-8);然后重启 MATLAB 生效。这个操作对中文注释乱码问题也有帮助特别是处理 Simulink 模型里的中文标注。如果确实遇到中文乱码无法根治可以先确认系统 localelocale如果不是 UTF-8改一下系统语言设置多数情况能解决。4.3 许可证错误与 HostID 变化许可证问题很常见也有点隐蔽。离线激活的机器上License 文件和机器的 HostID通常是以太网 MAC 地址绑定。如果你换过网卡、改过 MAC 地址或者虚拟机克隆后没重置网络配置启动时 MATLAB 会报许可证无效或无法校验。典型的报错信息有License Manager Error -8 License Manager Error -9含义分别是许可证文件和 HostID 不匹配、物理主机标识不符。排查方法ifconfig -a查看当前网卡 MAC 地址然后对比license.lic文件里SERVER 行的 MAC。如果不一致要么换回原来的网卡要么去官网重新生成许可证文件。解决方法网卡被占用的考虑用 USB 网卡或者恢复原 MAC。虚拟机的话关闭虚拟机后修改.vmx配置里的ethernet0.address或者重新生成许可证。如果机器有多个网卡激活时必须确保激活页面显示的是当前主要网卡的 HostID。我遇到过一台机器上装了 Docker虚拟网卡很多激活时写错了网卡导致后来重启后 MATLAB 一度无法启动。如果用网络浮动许可证还要检查防火墙是否放行了 27000 端口。很多机构网络策略比较严格需要在防火墙上加规则sudo ufw allow 27000/tcp否则客户端连不上许可证服务器同样报Cannot connect to license server错误。5. 安装后的性能调优与日常维护5.1 并行计算与内存配置优化装好 MATLAB 只是开始要让它在 Ubuntu 上跑得顺畅还有几个性能维度值得调优。首先是并行计算。国内比较多的场景是用parfor或者parpool开并行池跑批量计算。R2024b 中并行池默认会占用所有物理核但 Hyper-Threading 的逻辑核并不总能带来线性加速反而可能因为资源争抢导致性能下降。我的做法是给本机物理核数减去 1 个核留一个给操作系统和其他进程parpool(local, feature(numcores) - 1)具体数值看机器配置4 核 8 线程的机器建议开 3 个 worker16 核的机器开 14 个 worker 左右实测跑图像处理算法的提速最稳定。其次是内存。MATLAB 处理大数组时非常吃内存比如 8K 级别图像处理或者深度学习训练动辄几十 GB 内存。如果机器内存不大配置 swap 空间能避免 OOM 崩溃。swap 不是万灵药但至少能撑到代码保存结果。关于 swap 的容量传统建议是物理内存的 1.5-2 倍但现代工作站内存动辄 64GB、128GB再翻倍就没意义了。我的原则是内存 16GB 以下的机器swap 给 8GB内存 64GB 以上的swap 留 16GB 兜底即可。5.2 常用命令行参数与脚本化运行Linux 上跑 MATLAB最舒服的用法是命令行批量运行脚本不启动图形界面。R2024b 支持用-batch参数直接执行代码并退出matlab -nodisplay -nosplash -batch run(myscript.m)执行完成后终端直接返回退出码非常适合接到 CI/CD 流程或者定时任务里。比如每天早上跑一次数据预处理0 6 * * * /usr/local/MATLAB/R2024b/bin/matlab -nodisplay -batch run(/path/to/daily_analysis.m) /var/log/matlab_daily.log 21这里的-batch和早期版本常用的-r command; exit不同-batch会在命令执行后自动退出不需要显式调exit也更适合自动化流程。还有个参数-nodesktop作用是不打开 MATLAB 桌面界面但保留命令行交互窗口。这在通过 SSH 远程调试时很好用比-nodisplay更友好因为还能看到普通的 MATLAB 提示符。5.3 升级与卸载注意事项MATLAB 版本升级是个容易被忽视的话题。R2024b 的安装路径和 R2024a、R2023b 都是独立目录多版本共存没有问题切换方式也很简单直接指定完整路径调用对应版本的matlab即可/usr/local/MATLAB/R2023b/bin/matlab /usr/local/MATLAB/R2024b/bin/matlab这样新旧版本可以同时存在直到确认新版本没问题后再卸载旧版本。关于卸载MathWorks 官方其实没有提供 uninstaller删除整个安装目录即可sudo rm -rf /usr/local/MATLAB/R2024b同时清理用户目录下 MATLAB 生成的配置文件rm -rf ~/.matlab还要记得把/etc/profile.d/matlab.sh里配的PATH和软链接一并删掉不然残留的失效路径会造成启动报错。清理完之后新版本再配置一遍 PATH两条软链接也不冲突逻辑清晰。我个人在实际安装中体会最深的一点是不要在没确认依赖库的情况下直接跑安装器。大部分“安装失败”的案例根因根本不是 MATLAB 本身问题而是系统缺少几个基础库文件。先补依赖、再挂载、再安装、再激活按这个顺序走下来每一步都很顺利。最后再分享一个小技巧装完之后第一次启动 MATLAB 会比较慢这是因为它在生成文件系统缓存和文档索引。如果首次启动等了一两分钟没反应不用急着 CtrlC多等一会儿就好。等索引生成完毕后续启动就会明显变快。如果你打算长期使用可以考虑给 MATLAB 分配固定的工作目录默认在用户目录外的路径能有效减少文件系统扫描耗时效果比优化 JVM 参数更直接。
返回列表