内容提要: 本文将就AIX Affinity with Linux的发展以及在AIX操作系统下如何进行Linux的开发和如何将自由开发的Linux应用移植到AIX操作系统做介绍,目的是让更多的朋友在AIX系统平台上使用Linux, 并同时感受到AIX操作系统在整体性能上的魅力。我们期待着有更多更好的Linux应用被移植到AIX操作平台,使AIX操作系统更加丰富多彩,让我们工作得更轻松自如。
第一部分 AIX Affinity with Linux 的发展情况
第二部分 AIX Affinity 的其本原理介绍
第三部分 AIX Toolbox for Linux 最新版的获得、安装、包含工具和基本使用
第四部分 对开发的建议
说明 任何机型,操作系统 AIX 4.3.3 or AIX 5L
正文
第一部分 AIX Affinity with Linux 的发展情况
IBM对AIX Affinity with Linux的发展分为以下两个阶段。
第一个阶段,发布AIX Toolbox for Linux Applications, 它主要包含GNU和其他一些常用开发工具,来帮助开发人员在AIX系统上编译程序,并在两种行业内开放性最好的操作系统平台,即AIX和Linux之间,进行平滑技术移植。由于应用程序运行于AIX环境中,因此客户可以同时得到Linux的灵活性和AIX操作系统的先进性能,包括工作负载管理、先进系统管理工具以及高安全性。
第二个阶段是,在最新发布的AIX 5L Version 5.1 操作系统中提供更多的兼容Linux的API和头文件,来支持源文件的兼容性,使两个不同操作系统有更强的互操作性,从而达到更高程度的兼容。
那么我们能用AIX Affinity for Linux做什么呢?
1。在AIX系统上使用众多Linux上开发的自由软件,例如,运行流行的 Gnome
and KDE 图形桌面,运行其他的多媒体工具,等等。
2。用功能强大的RedHat Package Manager包工具管理应用。
3。在AIX 系统上,使用GNU和Linux开发工具进行新应用的开发。
第二部分 AIX Affinity 的其本原理介绍
AIX Affinity with Linux的目的并不是在系统中提供一个模拟层供Linux应用来运行,它的意义在于通过重新编译Linux应用后,得到AIX的兼容的二进制本地代码,并能使用所有系统的特性,如可靠性、扩展性、以及可用性。这就是说,我们提供了一个强大的跨平台编译器以及众多的兼容API来保证Linux应用在AIX系统上的成功移植。
由于AIX的设计开发从网络、主机硬件系统,到操作系统完全遵守开放系统的原则,所以在目前的AIX 4.3.3 和 AIX 5L Version 5.0, 使用AIX Toolbox for Linux,只需通过简单的编译就能在AIX平台上实现Linux的很多应用。这样,我们就不用浪费许多人力、物力去重新开发很多已经很成熟的应用。我们不断地重用经典代码,就可以把我们有限的精力投入到更精彩、更需要的地方。 当使用AIX Affinity with Linux时,我们还会想到的它对性能的影响。AIX Affinity with Linux在设计阶段,就希望提供最优化的性能给应用,其中包括让Linux应用和本地应用享有同样访问资源的权利。尤其是AIX 5L Version 5.1操作系统,会提供更高级别的应用与操作系统间的兼容性。当我们考虑性能时,还应该想到我们要开发什么样的应用,前端的还是后台的。后台的大型应用还是比较适合AIX应用,但前端的人机界面用Linux则更能发挥其特长,也减少了可能的性能影响。
第三部分 AIX Toolbox for Linux 最新版的获得、安装和基本使用
许多GNU开发工具已经被移植到AIX 4.3.3 和 AIX 5L Version 5.0,而界在新的AIX 5L Verison 5.1 操作系统中有更多的开发工具被成功移植。
其中包括(并非全部):
应用开发类:gcc, g++, gdb, rpm, cvs, automake, autoconf, libtool
开发库:ncurses, readline, libtiff, libpng, libjpeg, slang, fnlib,
db, gtk+, qt
编程语言:guile, python, tcl/tk, rep-gtk
桌面环境类:Gnome and KDE
GNU 工具:gawk, m4, indent, sed, tar, diffutils, fileutils
系统Shell:bash2, tcsh, zsh
系统工具:emacs, vim, bzip2, gzip, git, elm, ncftp, rsync, wget,
lsof, less, samba, zip, unzip, zoo
图形应用:ImageMagick, transfig, xfig, xpdf, ghostscript, gv,
mpage,Gimp
这些工具为Linux开发者提供了非常棒的开发环境。值得一提的是,他们绝大多数使用了易于安装的文件格式,这就是RedHat发展的rpm包。它的主要作用就是架起了一座通畅的桥梁,把AIX和Linux两个不同的操作系统紧密地联合起来,发掘它们更大的潜力。
AIX Toolbox for Linux 的下载网址:
http://www-1.ibm.com/servers/aix/products/aixos/linux/download.html
此网页上有众多大家梦寐以求的工具等大家来使用。
前面已经提到过,我们是要用RedHat Package Manager(RPM)来管理应用,所以我们必须首先要安装RedHat Package Manager。
RedHat Package Manager从下面连接下载:
ftp://ftp.software.ibm.com/aix/freeSoftware/ aixtoolbox/INSTALLP/ppc/rpm.rte安装时,以root用户登录,运行installp -qacXgd rpm.rte rpm.rte安装过程会收集共享链接库的信息,将会持续几分钟。要耐心等候,不要中断。如果发生错误没有装完,那么在下次安装之前,记得要运行installp -C去清除上回不完全安装。(我在一台F50,4.3.3上共用时10min35sec.)
RedHat Package Manager安装完后,就可以安装其他 AIX Toolbox for Linux
基本使用和Linux上一样,详细使用及相关信息,可以到www.rpm.org上查看。
简单参数如下,
-i: install
-e: erase
-q: query
--help help
举例:要安装gcc 2.9,那么先到
http://www-1.ibm.com/servers/aix/products/aixos/linux/download.html
下载rpm包 gcc-2.9.aix43.010216-1.aix4.3.ppc.rpm
上传到机器后,运行rpm -ivh gcc-2.9.aix43.010216-1.aix4.3.ppc.rpm
其中参数v是要在安装过程中显示详细信息。
其中参数h是要在安装过程中显示安装进度。
一分钟过后,就已经可以享受gcc 2.9的强大功能了。
其余的就不用我赘述了,大家各自体会吧。
第四部分 对开发的建议
1。由于AIX是符合POSIX标准和UNIX98认证的,但Linux却没有通过认证,所以
我们要尽量在开发过程中使用标准的API,那么应用只要使用GCC,G++等编译器重新编译就可以在AIX中使用了。非常重要的是,检查哪些API是只被Linux支持,但却不被AIX支持,这样可以避免不必要的麻烦。
2。由于AIX 5L是同时支持 Power系列 CPU和 Itanium CPU, 所以我们在开发程序,另外要注意的是在处理一些和硬件底层打交道的代码。在这些程序中我们需要采用通用的字节处理调用来处理,以保证应用可以很快速在不同的平台间移植,比如从Power系列的CPU平台移植到以INTEL CPU的平台,这样就可以确保应用的更强的可用性。
3。如果你的应用与路径有关,而在AIX系统中没有程序中指定的路径存在,那么必须修改应用的源码并指向正确的路径。所以建议你在开发是确认你的代码是否是可行的并进行相应的测试。