Ubuntu Linux平台的GAMIT/GLOBK 10.35安装详解

Ubuntu系统平台的GAMIT/GLOBK 10.35安装详解(已在《全球定位系统》2009年第5期发表)

刘志广,占  伟,孟宪刚

(中国地震局第一监测中心,天津300180)

摘  要: GAMIT/GLOBK是全球应用最广泛的GPS数据分析软件之一,多安装于Linux操作系统。由于Linux版本众多,使得该软件的安装很复杂。虽然介绍安装方法的文章很多,但是实践中仍会遇到很多问题。本文讲述了以Ubuntu桌面版构建系统平台,在有网络的支持下,安装、更新最新版GAMIT/GLOBK10.35的详细过程,并以实例检验安装是否成功。

关键词: GAMIT/GLOBK;Ubuntu;安装;更新

中图分类号:P228   文献标志码:A    文章编号:1008-9268(2009)05-0000-00

------------------------------------------

本文要用到的GAMIT 10.35文件下载在安科网5 号FTP服务器

具体下载方法见http://www.linuxidc.net/thread-1186-1-1.html 与 http://www.linuxidc.net/thread-1189-1-1.html

------------------------------------------

引 言

GAMIT/GLOBK是在美国国家科学基金会(NSF)的资助下,由美国麻省理工学院(MIT)、斯克里普斯海洋研究所(SIO)以及哈佛大学(HU)共同开发的免费的、开源的GPS测量分析软件,目的是应用于地壳形变研究。目前,这套软件是全球应用最广泛的GPS数据分析软件之一。

GAMIT/GLOBK可以运行于所有UNIX及其衍生的(Linux、SCO UNIX、Solaris、HP-UX、AIX)操作系统中,甚至苹果公司的MAC OSX系统中,但是需要gcc/g77、gcc/gfortran及Intel icc/ifort等编译器的支持。最新的GAMIT/GLOBK10.35于2009年6月2日发布,在上面提到的系统中均测试通过。

Linux操作系统下GAMIT/GLOBK的安装,就是一次源代码的编译。Linux版本众多,各版本往往采用不同内核,所带的编译器也不尽相同。不同编译器下,GAMIT/GLOBK的安装与配置也不尽相同。这就导致GAMIT/GLOBK显得十分复杂。并且随着硬件技术和性能的不断提升,新技术、新硬件的不断出现,必然决定操作系统和软件不断更新、升级。这就需要操作系统具有很强的兼容性,才能保证软件的可移植性。Ubuntu正是能够满足这种需求的系统。

1 Ubuntu简介

Ubuntu(发音"oo-BOON-too"--“乌班图”)是基于 Debian 之上的 Linux 系统。它囊括了大量从 Debian 发行版精挑细选的软件包,同时保留了 Debian 强大的软件包管理系统,使软件的安装或彻底删除异常简单。 

2008年4月21日发布的Ubuntu 8.04版(包括桌面版和服务器版以及它们的衍生版)使用linux2.6.24-19内核,可以自由访问FAT16、FAT32及NTFS等Windows文件系统。系统自带了gcc4.2.2编译器,同时还支持gfortran4.2.2编译器。而2009年4月20日最新发布的Ubuntu 9.04使用更强大、更稳定linux2.6.28-11内核,自带了gcc4.3.3编译器,支持gfortran4.3.3编译器。

Ubuntu由马克?舍特尔沃斯创立,其首个版本于2004年10月20日发布。在2005年于伦敦举行的Linux世界论坛及会议(LinuxWorld Conference and Expo)上,Ubuntu被评为最佳Linux发行版。

2 系统要求

本文所指的系统要求是指保证GAMIT/GLOBK10.35可以正常安装、使用所需要的全部系统配置要求,包括软件和硬件两个部分。由于笔者选用了Ubuntu 8.04/9.04操作系统,而该系统几乎能够支持当前所有硬件平台,因此,硬件要求已经满足,软件的要求更简单、更具体。

2.1 gfortran4.2编译器

GAMIT/GLOBK10.35的设计者推荐Linux系统使用gfortran4.2编译器。同时,该编译器也是安装脚本(install_software)设定的默认编译器。因为gcc/gfortran4.2及以上编译器不需要你修改编译器的“最大单元数(MAXUNIT)”。Ubuntu自带了gcc编译器,但却不包含gfortran。这意味着你要安装gfortran编译器,或者指定gcc为你的编译器。虽然设计者认为gcc4.3可能存在BUG,但是笔者在安装和使用过程中并没有发现任何问题。

2.2 libx11-dev软件包

libx11-dev是X11(X Window)的客户库(X11 client-side library)。该软件包包含了全部的X11应用编程接口(API)基本函数。其中,libX11.a和Xlib.h是GAMIT/GLOBK所必须依赖的两个库文件,主要是为Globk的提供图形库支持。Ubuntu的默认配置不包含该软件包。

2.3 csh/tcsh(SHELL)

SHELL就是所谓的命令解译器,俗称“壳”。GAMIT/GLOBK的命令必须由csh或tcsh来解译。Tcsh是csh的增强版,并且完全兼容csh。它不但具有csh的全部功能,还具有命令行编辑、拼写校正、可编程字符集、历史纪录、作业控制等功能,以及C语言风格的语法结构。笔者建议使用tcsh,但是,Ubuntu的默认配置不包含任何C SHELL。

2.4 FTP软件

用来传输数据的GAMIT壳脚本(包括sh_get_nav, sh_get_rinex, sh_get_orbits, 和 sh_get_hfiles)需要用到FTP软件下载数据。因此,你的系统中必须具备与GAMIT壳脚本兼容的FTP软件。否则,你必须将你系统中的FTP软件连接到/usr/lib/ftp。

笔者使用which ftp命令确定了系统中存在/usr/bin/ftp链接指向                                       /etc/alternatives/ftp链接,再指向/usr/bin/netkit-ftp,这说明Ubuntu系统中使用netkit-ftp为默认的FTP工具。但为了增强兼容性,Ubuntu又分别在/usr/bin/和/etc/alternatives/目录建立了两个链接。

GAMIT还支持NCFTP和WGET两种FTP软件。Ubuntu自带了WGET,但没有预装NCFTP。如果你想使用NCFTP,可以通过“apt-get install ncftp”命令安装它。

2.5 awk、tail 和ls

awk是一个强大的用于处理文本的编程语言工具;tail用于显示文件结尾;ls用于显示目录内容。GAMIT/GLOBK的壳脚本借住这三个工具完成文件的生成、编辑、存储及目录、文件信息的获取。用户在进行数据的批处理时,这三个工具也很重要。

    笔者使用which命令确定了Ubuntu系统中使用了mawk,并为其作了与 netkit-ftp相同的的处理。tail 和ls工具使用了Linux传统的版本,因此不存在兼容问题。

2.6 gzip和gunzip

遵从Linux的现行惯例,sh_gamit壳脚本现在使用gzip和gunzip而不是compress和uncompress来压缩和加压缩文件。Ubuntu已经自带了这两个软件,并且与GAMIT/GLOBK兼容。

2.7 GMT(Generic Mapping Tools)

GMT是在美国国家科学基金会的资助下,由夏威夷大学开发的免费的、开源的绘图工具。它包含了全球的海岸线、国界、河流等地图数据,被地理学界广泛使用。GAMIT/GLOBK壳脚本调用GMT生成处理结果的图表文件。

2.9 TEQC

TEQC读作“tek”,是由美国UNAVCO Facility开发的GPS数据预处理软件,功能包括“translation, editing, and quality check”(TEQC为其首字母缩写),即GPS数据的格式转换、编辑和质量检查。sh_make_rinex壳脚本调用TEQC将各种原始数据转换成RINEX格式的数据。TEQC可以从UNAVCO Facility的官方网站免费下载。目前提供给Linux系统使用的TEQC包括64位动态和32位静态、动态三个版本。

相关推荐