各版本CentOS都会获得十年的支持,是安全、低维护、稳定、高预测性、高重复性的Linux环境,获得了包括SAS在内的众多应用软件商的支持。
在CentOS系统中,SAS Private JRE的安装和配置是部署SAS系统的必要前提。然而,某些条件下,需要大家手动安装私有JAVA运行环境。这里,基于CentOS 7.0环境,安装Linux版SAS9.4(TS1M1)。
在安装SAS9.4(TS1M1)之前,必须先手动安装和配置SAS私有JAVA运行环境(SAS Private JRE)。可以从SAS官网下载jre_LAX_700_141_64-bit.tgz , 或者从百度云盘下载
首先,SAS Private JRE的安装和配置
1.安装JRE。步骤如下:
(1)在系统已存在旧版SAS条件下,需要改名原SAS系统目录。比如,"9.4"改为"old.9.4";
(2)执行以下"创建+解压"命令:
# cp -f jre_LAX_700_141.tgz /usr/local/SASHome/SASPrivateJavaRuntimeEnvironment/9.4
# cd /usr/local/SASHome/SASPrivateJavaRuntimeEnvironment/9.4
# gunzip jre_LAX_700_141.tgz
# tar xvf jre_LAX_700_141.tar
2.拷贝SAS字库。
SAS官网提供的方法为,复制旧版SAS系统的字库。
具体步骤如下:
(1) Navigate to the fonts directory of the previously backed-up SAS Private JRE
(2) Copy all fonts from the fonts directory of the previously backed-up SAS Private JRE into the fonts directory of the new SAS Private JRE per the example below:
对应的命令为:
# cd /usr/local/SASHome/SASPrivateJavaRuntimeEnvironment/old.9.4/jre/lib/fonts
# cp -f *.ttf /usr/local/SASHome/SASPrivateJavaRuntimeEnvironment/9.4/jre/lib/fonts
# cp -f *.ttc /usr/local/SASHome/SASPrivateJavaRuntimeEnvironment/9.4/jre/lib/fonts
这里,在CentOS中不存在旧版SAS,所采用的做法是:
找到了WIN系统SAS私有JAVA环境的fonts目录(例如*/SASHome/SASPrivateJavaRuntimeEnvironment/9.4/jre/lib/fonts),直接拷贝了该目录。
# cp /media/sf_Downloads/fonts /usr/local/SASHome/SASPrivateJavaRuntimeEnvironment/9.4/jre/lib/
然后,安装linux版SAS9.4系统
$ sudo sh setup.sh
安装过程是图形界面,此处不再赘述。
SAS系统安装结束后,创建启动文件链接:
$ sudo ln -s /usr/local/SASHome/SASFoundation/9.4/bin/sas_en /usr/local/bin/sas
接着,配置linux版SAS9.4系统
通过GUI方式启动SAS系统
$ sas
出现了以下错误:
ERROR: Could not load /usr/local/SASHome/SASFoundation/9.4/sasexe/sasmotif (35 images loaded)
ERROR: libpng12.so.0: cannot open shared object file: No such file or directory
ERROR: BRIDGE FAILURE - ERROR LOADING IMAGE MODULE: sasmotifsasvsub SUBSYSTEM: 8 SLOT: 11
这表示仍然缺少图像模块,导致SAS系统依赖的JAVA环境未能成功启动。解决办法为:
$ sudo yum install libpng12.x86_64
$ sudo yum install libjpeg*
$ sudo yum install libXp
再次启动SAS系统
$ sas
出现SAS的GUI界面,表示安装成功了。
最后,测试linux版SAS9.4系统
创建工作目录
$ mkdir /home/<user>/sasproject
复制cfg文件到sasproject
$ mkdir ~/sasproject
$ sudo cp /usr/local/SASHome/SASFoundation/9.4/sasv9.cfg ~/sasproject
$ cd ~/sasproject
查询测试程序代码:
$ cat test.sas
libname reflib ' ';
goptions reset=global gunit=pct border cback=white colors=(black blue green red) ftext=swiss ftitle=swissb htitle=6 htext=4;
data reflib.hat;
do x=-5 to 5 by 0.25;
do y=-5 to 5 by 0.25;
z=sin(sqrt(x*x+y*y));
output;
end;
end;
run;
title 'Surface Plot of HAT Data Set';
footnote j=r 'GTDSURFA';
proc g3d data=reflib.hat;
plot y*x=z;
run;
title 'Surface Plot of HAT Data Set';
footnote j=r 'GTDROTAT';
proc g3d data=reflib.hat;
plot y*x=z /grid rotate=45 ctop=red cbottom=black
yticknum=5 zticknum=5 zmin=-3 zmax=1;
run;
title 'Surface Plot of HAT Data Set';
footnote j=r 'GTDTILT';
proc g3d data=reflib.hat;
plot y*x=z / side tilt=15;
run;
quit;
运行下面命令
$ sas ./test.sas -config ./sasv9.cfg
发现弹出图像窗口。
查看测试程序运行产生的日志、数据文件等
$ ls ~/sasproject
hat.sas7bdat sasv9.cfg test.log test.sas
JOB DONE!
参考文献:
SAS Private Java Runtime Environment
https://support.sas.com/downloads/dn/readme.htm?dfid=637626
SAS 9.4 TS1M1 Linux版
https://bbs.pinggu.org/forum.php?mod=viewthread&tid=5524376&from^^uid=4727
Ubuntu12.04安装SAS备忘录
https://bbs.pinggu.org/forum.php?mod=viewthread&tid=2694188&from^^uid=4727
致谢:
感谢论坛网友 amrino 和 zhou.wen 的资料分享。