我正在尝试在虚拟机集群上运行的 CentOS 5.8 上安装 MATLAB 2012。我能够挂载 .iso 文件,但是当我运行时./install
,它无法写入并/tmp
给出错误“设备上没有空间”。
所以运行命令后:
mount -o mode=1777,nosuid,nodev -t tmpfs tmpfs /tmp
我得到以下信息:
[root@pub121 iso]# df -H /tmp
Filesystem Size Used Avail Use% Mounted on
tmpfs 2.2G 0 2.2G 0% /tmp
看起来/etc/fstab
像这样:
[root@pub121 iso]# cat /etc/fstab
LABEL=/ / ext3 defaults 1 1
tmpfs /dev/shm tmpfs size=10g 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
LABEL=SWAP-xvda2 swap swap defaults 0 0
当我安装 MATLAB 时,显示以下消息:
Preparing installation files ...
Installing ...
./install: line 713: 3972 Segmentation fault
/tmp/mathworks_3936/sys/java/jre/glnx86/jre/bin/java -splash:"/mnt/iso/java/splash.png"-Djava.ext.dirs=/tmp/mathworks_3936/sys/java/jre/glnx86/jre/lib/ext:/tmp/mathworks_3936/java/jar:/tmp/mathworks_3936/java/jarext:/tmp/mathworks_3936/java/jarext/axis2/:/tmp/mathworks_3936/java/jarext/guice/:/tmp/mathworks_3936/java/jarext/webservices/ com/mathworks/professionalinstaller/Launcher -root "/mnt/iso" -tmpdir "/tmp/mathworks_3936"
有什么建议么?
[编辑]
我可以选择在安装脚本中提供替代位置而不是 /tmp。但是,我将 CentOS 作为具有 8 个节点的 MPICH2 集群运行,并且空间有限,如图所示
[root@pub121 ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/xvda1 7103744 7095484 0 100% /
tmpfs 10485760 0 10485760 0% /dev/shm
/home/Matlab_Unix_2012a/ml2012au.iso
5212274 5212274 0 100% /mnt/iso
tmpfs 2097244 0 2097244 0% /tmp
是否可以使用此配置运行安装脚本?
答案1
我会看一下./install
脚本,看看是否无法覆盖它使用的位置/tmp
。您的选择可能包括:
- 脚本允许设置变量来覆盖默认位置。
- 自己修改脚本以覆盖该位置。
- 在目录内创建一个符号链接
/tmp
,指向/tmp
.
没有足够的空间来安装?
如果您发现没有足够的空间在要运行该应用程序的系统上本地安装或托管该应用程序,可以使用以下几种方法。
- 如果您发现自己没有足够的空间来进行安装,我会推荐以下方法。您可以将该软件安装在有足够空间的另一个系统上,然后
rsync
将scp
最终的安装转移到您最终想要安装的系统上。 - 在另一个“远程”系统上安装软件,然后使用自动挂载或 FUSE “挂载”软件在要运行 MATLAB 的系统上“本地”所在的目录。