Ubuntu 20.04安装Matlab R2020a执行sudo ./install报权限拒绝错误
故障根因
报错指向/home/ril/Downloads/Matlab-R2020a_linux64/bin/glnxa64/install_unix无法被执行,触发场景只有两类:一是该文件及关联安装程序没有可执行权限,二是安装包所在存储分区被挂载为noexec(禁止运行二进制程序)模式。
解决步骤
- 首先给整个安装目录递归赋予可执行权限
终端执行以下命令:chmod -R +x /home/ril/Downloads/Matlab-R2020a_linux64/
执行完成后回到安装包根目录,重新运行sudo ./install测试,多数场景下该操作即可解决问题。 - 若赋权后仍报相同错误,检查分区挂载参数
执行命令查看Downloads目录所在分区的挂载配置:mount | grep /home/ril/Downloads
如果输出内容包含noexec字段,说明该分区被系统设置为不允许运行任何可执行文件,这种场景下文件本身的权限配置不会生效。- 临时修复方案:将整个Matlab安装目录移动到无
noexec限制的路径下(比如用户主目录下新建的临时文件夹),重新执行赋权命令后再启动安装程序即可。 - 永久修复方案:如果该目录属于单独挂载的分区,编辑
/etc/fstab配置文件,找到对应分区的挂载配置项,将参数中的noexec修改为exec,保存后执行sudo mount -o remount /home/ril/Downloads重新挂载分区即可生效。
- 临时修复方案:将整个Matlab安装目录移动到无
- 解压异常场景修复
如果是解压安装包时未保留文件原有权限,也会触发这类报错。可以删除当前已解压的文件,重新解压安装压缩包:zip格式包使用unzip -X 安装包文件名.zip命令,tar格式包使用tar -pxvf 安装包文件名.tar.gz命令,解压完成后重新执行第一步的赋权操作即可。
注意:不建议只给单个install_unix文件加权限,安装过程需要调用目录下大量二进制依赖,递归赋权可以避免后续安装过程中再出现同类权限报错。
内容的提问来源于stack exchange,提问作者Madan Gopal Tiwary
相关产品推荐
相关产品推荐

