标签归档:IRAF

IRAF安装之 Cygwin

Cygwin是cygnus solutions公司开发的自由软件,一个运行在windows下的linux终端(现在也开始支持X了)。我还是是在IRAF官网上看到有这个平台下的安装包才知道有这么个东西,当时便有种本能的调试欲望。不过现在看来,cygwin安装和redhat 9 几乎完全一样,倒是cygwin本身的安装是最大的困难。

由于linux工具太多,cygwin采用在线自定义安装的方式,下一个500K的安装客户端,然后选择所需要的组件下载安装,由于程序包下载服务器是在国外,安装过程便非常漫长了。不过也可以制作本地安装包,将下载下来的程序包按网站的目录结构排好也可以。但是通常用的是bash,而IRAF安装必须用csh或tcsh,还需要gcc,dev库等支持,我下载500M以下的cygwin全都不带这些,最近终于找到一个1.2G的镜像(这是我能找到的最大的cygwin了,20060411),这样平台才算建好。

还有一点需要注意,目前iraf官方网站http://iraf.net/downloads/ 的下载系统似乎有点小问题,用IE直接下载会破坏一些文件的结构。比如as.pcix.gen.gz,下到100%之后并不自动停止,仍然继续,最后得到一个81M的包,并且无法用tar命令解压,不过内容似乎没有影响,自己用WinRAR解压到安装目录就可以了。用flashget等工具就没有这个问题,得到正常21M的gz包。

接下来的安装就没什么新鲜了,而且因为没有root用户省去了权限切换的麻烦,终端也有滚动条使得输出查看非常方便:

%tcsh
%mkdir /iraf/iraf/
%mkdir /iraf/irafbin/bin.cygwin/
%mkdir /iraf/irafbin/noao.bin.cygwin/
%setenv iraf /iraf/iraf/
%cd /iraf/iraf/
%cat /source/as.pcix.gen.gz | zcat | tar -xpf –
%cd ../irafbin/bin.cygwin/
% cat /source/ib.cygw.x86.gz | zcat | tar -xpf –
%cd ../noao.bin.cygwin/
% cat /source/nb.cygw.x86.gz | zcat | tar -xpf –
%cd $iraf/unix/hlib/

正常安装的话,到这里应该没有任何提示输出,如果有,那一步肯定有问题。

%chmod -R 777 /iraf/
%chmod -R 777 /home/

安装程序需要在这两个目录创建文件,所以要记得改变权限,虽然仍是在FAT32 分区下

%source irafuser.csh
%./install -n
%cd
%source .login
%rehash
%mkiraf
%cl

成功后提示符会变为 ecl>
至此IRAF的安装问题就完全解决了!

IRAF安装之 Fedora3

第一次准备装Iraf时就在何勃亮那里发现ESO的Scisoft中有支持Federa3以上内核的RPM安装包。但是用本本挂了一天从ESO官方Ftp拖下来200多M的文件居然MD5校验出错!而lamost镜像站没有查看权限,这下只得乖乖调试RH9。直到两个月后,LiNan姐向崔博士问及此事,才知道是网站链接出错。在RHSL4(FC5找不到我的SATAII硬盘)上测试,发现安装过程的确要简单很多。

首先要安装两个公共库函数包:

ncurses4-5.0-12.i386.rpm 342K

scisoft-common-6.0.4-0.i386.rpm 75M

然后就是scisoft-iraf-6.0.4-0.i386.rpm 238M;命令都是rpm -ivh < 文件名>, 安装过程会在根目录下生成scisoft文件夹, 然后shell为bash的用户在终端运行./scisoft/bin/Setup.bash , csh和 tcsh 用户运行 source /scisoft/bin/Setup.csh 即可。现在就可以直接在终端运行xgterm、cl了,连ds9都是现成的:)

记得仍要su到根用户下mkiraf进行初始化。

但是在我测试的RHEL4中如果此时退出系统,下次登录时仍无法调用命令,安装帮助中提到Setup.bash文件会更改用户目录下隐藏的.profile配置文件,而RHEL对应的文件为$home/.bash_profile,因此还要在此配置文件中写入Iraf命令的搜索路径。添加如下代码即可。

# User specific environment and startup programs

if [ “X$PATH” != X ]; then
export PATH=/scisoft/bin:$PATH
else
export PATH=/scisoft/bin
fi

#
# Add the main Scisoft libraries to the library search path
#

if [ “X$LD_LIBRARY_PATH” != X ]; then
export LD_LIBRARY_PATH=/scisoft/lib:$LD_LIBRARY_PATH
else
export LD_LIBRARY_PATH=/scisoft/lib
fi

#
# Add the main Scisoft manual pages to the manual page search path
#

if [ “X$MANPATH” != X ]; then
export MANPATH=/scisoft/man:$MANPATH
else
export MANPATH=/scisoft/man
fi

#
# Add the Scisoft X application defaults directory to XUSERFILESEARCHPATH.
#

if [ “X$XUSERFILESEARCHPATH” != X ]; then
export XUSERFILESEARCHPATH=/scisoft/lib/X11/app-defaults:$XUSERFILESEARCHPATH
else
export XUSERFILESEARCHPATH=/scisoft/lib/X11/app-defaults
fi

#
# IRAF related definitions
#

if [ -d /scisoft/share/iraf ]; then
# Note trailing slashes
export iraf=/scisoft/share/iraf/iraf/
export stsdas=/scisoft/share/iraf/extern/stsdas/
export tables=/scisoft/share/iraf/extern/tables/
if [ -f ${iraf}unix/hlib/irafuser.bash ]; then
. ${iraf}unix/hlib/irafuser.bash
# The above script sets F77, which is quite naughty of it;
# it can cause users’ own compiles of totally unrelated software
# to fail.
export F77_IRAF=$F77
unset F77
fi
export IRAFARCH=redhat

ulimit -s unlimited

fi

export PATH
unset USERNAME

至于其他系统请根据具体情况将Setup.bash的内容添加到登录配置文件中(大不了全复制过去,就相当于每次开机跑一遍:)。

IRAF安装之 RedHat 9

IRAF是Image Reduction and Analysis Facility的简称,作为NOAO(National Optical Astronomy Observatory 美国国家光学天文台)开发的天文照片的处理和分析软件,广泛用于测光,光谱分析等领域。但是由于它基于linux平台,以C语言编译开发,对于习惯了Windows界面的同学来说,第一次安装是一件麻烦的事情。云南天文台银枫写了一系列非常详尽的文章对我帮助很大(他现在的日志搬到了verycd),从南大张博的安装日志中也获得了不少启发,现在记下我自己的尝试,希望能给像我一样的新手多一份参考。

安装的原理其实很简单,将下载的程序压缩包解压,然后将各类文件复制到相应目录下就可以使用了。RedHat9需要的是ib.rhux.x86.gz 和nb.rhux.x86.gz,(或者完整程序包 as.pcix.gen.gz)。保存到/iraf/source目录下备用。首先要建立iraf用户,配置shell为csh,登陆目录为/iraf 而非/home/iraf, 然后以此用户登录,在终端输入whoami 应回显 iraf。

%mkdir /iraf/iraf

在主目录下新建同名文件夹(make directory)iraf作为安装目录

%setenv iraf /iraf/iraf

设置环境变量(set enviroment)令字符串iraf代表安装路径/iraf/iraf

%cd $iraf

等价于cd /iraf/iraf/, 进入安装文件夹,

%cat /iraf/source/as.pcix.gen.gz | zcat | tar -xpf –

解开压缩包,这里利用了linux强大的管道命令 “|”,即将cat 命令的输出作为 zcat命令的输入,将zcat命令的输出再作为tar命令的输入。cat命令显示文件内容,zcat显示gz压缩包内的内容,tar将gen压缩包解压至当前文件夹(-xpf -为命令参数);我用 zcat /iraf/source/as.pcix.gen.gz | tar -xpf –
效果一样。不知开发人员什么思路。

%cd /iraf/irafbin/bin.redhat/

部分文件需放置在此目录下,需自行创建,以下雷同。

% cat /source/ib.rhux.x86.gz | zcat | tar -xpf –
%cd /iraf/irafbin/noao.bin.redhat/
% cat /source/nb.rhux.x86.gz | zcat | tar -xpf –

%cd /iraf/iraf/unix/hlib/

切换安装文件夹

%source irafuser.csh

为安装文件设置初始环境变量

%./install -n

运行安装文件 (至此,iraf用户安装完毕)

%su

切换到根用户

#./install

再次安装

#exit

退出根用户

%cd

返回主目录

%source .login

初始化登陆文件login.cl

%rehash

刷新可执行文件列表,现在你应该能从终端中运行cl了。

xgterm以及ximtool都在x11包中,要复制到/usr/local/bin下才能正常使用。ds9也要单独下载安装,解压后复制ds9至 /user/local/bin,然后在login.cl中加入task $ds9 = “$Foreign” ,这样就可以在xgterm中直接运行ds9了,其他可执行文件同此。

Iraf的图形界面程序包x11iraf的安装比较简单,解开压缩包,运行其中的install脚本(要求有超级用户权限),然后按提示选择各类文件的复制目录即可。但目前最新的版本是2001年发布的1.3.1,只能运行在8位色的显示设置下,要将/etc/x11目录下的XF86Config-4文件内DefaultDepth的数值改为8,重启即可运行ximtool等工具(不过ds9的显示会比较惨),我没有具体使用,你要是受得了8位色不妨试试:P。xgterm不受此影响。

要注意的是:iraf用户是用来安装程序的,而不是用来使用程序的,在自建的用户下mkiraf,会在主目录下生成初始化文件login.cl和储存命令参数的uparm目录。所以文件要安装在/usr/local/bin下,所有的用户都可以使用,这样就可以避免iraf用户下提示符变化(因为shell是csh)和delete失效问题。