红联Linux门户
Linux帮助

天文软件Iraf安装笔记

发布时间:2015-11-09 15:59:17来源:linux网站作者:Oliver_Lew

iraf是一款天文数据处理软件,最新版本为2.16,具体介绍可见官网:

http://iraf.noao.edu/​

​由于自己以前用虚拟机,之后又换了双系统,还装了不同的系统(在两者中尝试过Ubuntu14.04,Fedora22,CentOS7.1),所以就蛋疼得装了很多遍iraf,本次以我在fedora22中安装的过程为参考,写一下自己的安装过程。其实很多安装iraf的教程都很过时了,这篇笔记尽量将过程简化,略去冗杂的步骤,并且努力解释一些安装过程中其他教程没有说明的细节。

过程简化了,但是字还是很多,如果只想安装,只需要看用颜色显示的命令即可,其他的完全可以跳过。


iraf安装​

在官网​下载iraf安装包。例如选择Linux 64-bit (228MB)。

安装过程可以参照安装包内的说明文档“README.install”,当然如果你觉得看这么多英文会死,我写的东西就有用了。下面是我从官网的自述文档ftp://iraf.noao.edu/iraf/v216/README中copy的一段安装说明:

1) Create an 'iraf' directory (preferrably /iraf/iraf) and unpack the distribution file for your platform there.

2) Define $iraf in your environment (with a trailing '/')

3) Run the $iraf/install script to install the system

其实第二部是不必要的,​因此安装只需要下面几步(敲键盘前先看看后面的“注意”):

$ sudo mkdir -p /iraf/iraf

$ sudo mv /你的下载目录/iraf.lnux.x86_64.tar.gz​ /iraf/iraf

$ cd /iraf/iraf​

$ sudo tar zxvf ​iraf.lnux.x86_64.tar.gz​

$ ./install​

不明白的话可自行查询相关文档,执行install脚本,会询问一些文件路径,基本上使用默认配置就行(就是回车回车。。。。)。​

注意:最后一步以root身份和以一般用户身份(你使用的用户)安装是有不同结果的:区别在于"for system-wide use"和"for person use",其默认的文件路径会分别设置在/iraf下相关路径和/home/username/.iraf下,相关文件的权限也会不同,如果你比较了解这些,可以自行选择,否则,本文建议选择后者,工作目录放在自己的家目录总是好一些的。如果选择前者,最后一步为:

$ sudo ./install --system     #貌似不加--system参数结果是一样的​

至此,iraf本身的安装完成,在任意位置(应该是工作目录)执行:

$ cl 或 $ iraf

即可进入iraf的界面​,前者是在当前terminal下进入iraf,而后者,我们用命令

$ alias iraf

​alias iraf='xgterm -e cl &'

会发现iraf被设置为用xgterm来打开iraf,在下面的X11iraf未安装前,直接执行iraf会得到错误信息:

$ iraf

[1] 10439

bash: xgterm: command not found...

​这是因为在安装过程中,iraf将使用的终端默认设置为xgterm,下图是安装过程中的截图,最后一行处默认选择了xgterm。

天文软件Iraf安装笔记


​X11iraf安装​​

X11iraf,顾名思义(当然你要知道X11是什么)就是iraf的图形界面,之前装的iraf在纯命令行中是可以运行的,但是如果你要一些图形的交互,就要安装这个X11iraf。在官网中给出了X11iraf的下载链接。

但是我在iraf的安装包中发现了貌似完整的X11iraf文件夹,在/iraf/iraf/vendor/x11iraf,包含了linux系统所需的所有文件,因此,应该用这个就够了。虽然这个文件夹在里面,但是并不能用,因此要进行安装。

如果你觉得不放心,还是在官网下载了X11iraf安装包,那么可以将安装包解压到/usr/local/x11iraf路径下(一般自己手动装的软件建议放在/usr/local下),类似于前面解压iraf压缩包:

$ sudo mkdir /usr/local/x11iraf

$ sudo mv /你的下载目录/x11iraf-v2.0BETA-bin.linux.tar.gz /usr/local/x11iraf

$ cd /usr/local/x11iraf

$ sudo tar zxvf ​x11iraf-v2.0BETA-bin.linux.tar.gz

X11iraf的安装脚本使用的是csh,因此要安装csh(或tcsh):

对于Ubunut用户 $ sudo apt-get install csh

对于​Fedora、CentOS用户 $ sudo yum(Fedora22+中dnf代替了yum) install csh

​X11iraf的安装对于不同的系统都会有不同的问题,如果你也遇到了问题,或许我的经验可以有些许帮助.

进入X11iraf:

$ cd /iraf/iraf/vendor/x11iraf 或 $ cd /usr/local/x11iraf​

直接执行(一定要sudo):​

$ sudo ./install​

便进入安装​过程,Ubuntu安装过程通常没有什么问题,但是Fedora安装过程中会报错,所有安装过程都会被跳过去:

*** No bin.redhat directory found, skipping installation.​

Ubuntu安装过程没有问题,但是执行xgterm会得到错误信息:

​bash: /usr/local/bin/xgterm: No such file or directory

​下面分别给出解决方案。下面有一些很专业的linux技巧,有些是我搜索学到的,如果你想学,可以仔细看看,不然可以跳过,看有颜色的命令即可:

注意下面要对应自己的系统,一般是Ubuntu,不用作另外一个系统的步骤,虽然并不会弄坏什么。​

Ubuntu:​

​用下面一条命令查看xgterm缺少了什么依赖文件(之前用$ file xgterm 得知xgterm是ELF格式32位可执行文件):

$ readelf -l xgterm | grep interpreter​

[Requesting program interpreter: /lib/ld-linux.so.2]​

找找/lib文件夹,确实没有这个文件,那么用apt-file命令来查找库文件在什么软件包里(ubuntu一般没有预装apt-file,可以通过$ sudo apt-get install apt-file来安装,安装后还要$ sudo apt-file update 更新缓存,过程中要下载几十MB的数据):

$ apt-file search ld-linux.so.2​

​libc6-i386: /lib/ld-linux.so.2

libc6-i386: /lib32/ld-linux.so.2

我们找了缺失的库文件所属的软件包,下面安装即可:

$ sudo apt-get install libc6-i386

​你会发现现在执行xgterm后,依然报错,但是报错信息不同了:

error while loading shared libraries: libXmu.so.6: cannot open shared object file: No such file or directory​

解决这类问题的方法:依然是用apt-file,用$ apt-file search *** ,***为缺失的库文件,查找到结果后,安装它告诉你的软件包(32位的)即可,具体过程参照上面两个命令。需要安装的其他包如下(如有不同,因该也有能力解决了):

​$ sudo apt-get install libxmu6:i386 (这个i386前面的.或:应该一样,但有时候只有一个有效)

$ sudo apt-get install lib32ncurses5


Fedora:

​Fedora由于错误跳过了安装,那么我们就手动安装,安装步骤就是将X11iraf中的文件放到相应的系统文件夹中:

$ sudo cp bin.linux/* /usr/local/bin

$ sudo cp lib.linux/* /usr/local/lib

$ sudo cp include/* /usr/local/include/

$ sudo cp app-defaults/* /usr/share/X11/app-defaults

$ sudo cp man/* /usr/share/man/man1

至此错误修复完成,在终端执行$ iraf,就会出现xgterm

天文软件Iraf安装笔记


​ds9安装

​ds9是用来显示fits图像文件的软件,虽然在Ubuntu的软件商店里可以下载到,但是很多时候,命令行的交互会有很多报错信息,所以要到

​http://ds9.si.edu/archive/

​下载较老版本(我一般下7.2)

下载后将解压出的可执行文件拷贝到/usr/local/bin

$ sudo cp /下载路径/ds9 /usr/local/bin

$ ds9 &

​如果又出现了缺失库文件的报错信息,按照刚才上面的方法找到库文件所在软件包,安装即可,Fedora查询相关软件包的命令为

$ yum(dnf) provides ***

Fedora中32位软件包一般在软件名后加.i686

$ sudo yum(dnf) install ***.i686


其他事情

我在使用iraf的一个命令imexamine时,在ds9上操作没有效果,在Ubuntu和Fedora上都是这样,在网上也看到别人也有相同的问题。我在CentOS上安装过iraf、X11iraf、ds9,这一工具却可以正常使用,看来是又却了什么文件,我也不知道怎么办了。这个问题的解决方法就是:换Ximtool,这是X11iraf中提供的另外一个图形交互程序,可以替代ds9。

如果ds9打开显示“XPA unable to verify hostname, setting XPA_METHOD to LOCAL”​,只需修改~/.bashrc,按照提示中的处理方法加上一句

export XPA_METHOD=local​

即可。