Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1836465
  • 博文数量: 293
  • 博客积分: 10127
  • 博客等级: 上将
  • 技术积分: 3029
  • 用 户 组: 普通用户
  • 注册时间: 2010-08-12 19:05
文章分类

全部博文(293)

文章存档

2011年(11)

2010年(282)

我的朋友

分类:

2010-09-20 01:07:07

      在 AIX 上最常见的软件安装格式是 installp,而且它也是 AIX 默认的安装文件格式。在 AIX 5.1 以前,AIX 不支持 installp 以外的软件安装格式,如果一些软件没有创建对应的 installp 安装包,那么这些软件就无法在 AIX 上安装使用,这造成了很多优秀的软件产品在 AIX 上的缺失。

值得庆幸的是,从 5.1 开始,AIX 允许用户通过 SMIT 或者 geninstall(General Install) 命令来进行多种文件格式软件的安装工作。新增的支持格式包括 RPM 格式和 InstallShield MultiPlatform (ISMP) 格式。与此同时,AIX 的安装光盘中也开始包含 installp 格式以外的安装程序。用户可以在安装光盘的 installp/ppc 目录上找到 installp 安装文件,在光盘的 RPMS/ppc 上找到 RPM 安装文件,在光盘的 ISMP/ppc 找到 ISMP 安装文件。

Installp Bundle 安装就是一种支持多种软件格式的安装方式。用户可以编辑 Bundle 文件,指定所要安装软件的名称,相应软件格式等信息,通过 SMIT,geninstall 或者 NIM 等安装工具调用 Bundle 文件,实现软件安装。

    

Bundle 文件是以 .bnd 为后缀的文本格式的文件,可以通过使用任意的文本编辑器(比如 vi, emacs 等)来进行创建。此外,为了能够被安装程序正常使用,Bundle 文件至少要具有 read 权限。

Bundle 文件的内容包括注释部分和文件集列表部分,如下所示:

#example bundle file

R:zip-2.3-3.aix4.3.ppc.rpm

I:bos.sysmgt.nim.master

其中注释部分的行首以“#”开头,所要指定安装的软件名分列每行,以指代该软件名的安装格式的字母开头。Bundle 文件目前只支持 种如软件格式,下面列出了这 种格式和其对应的前缀字母:

· I: installp 格式 

· R: RPM 格式 

· J: ISMP 格式 

· E: interim fix 格式 

 

Bundle 文件的分类 

Bundle 文件通常分为系统 Bundle 文件和用户 Bundle 文件两类,其中系统 Bundle 文件是操作系统安装完成后预设的 Bundle 文件,为方便用户安装那些操作系统没有默认安装的系统软件;用户 Bundle 文件是用户根据自身软件安装需求,自定义的 Bundle 文件。

下面列出了系统 Bundle 文件的一些具体分类:

· Server Bundle. 这是一组包括了能够使 AIX 操作系统具有多用户,网络管理以及性能工具等服务器特性的软件包。例如 /usr/sys/inst.data/sys_bundles/Server.bnd 就是这种类型的系统 Bundle 文件。 

· Graphics Bundle. 这是一组提供图形环境支持的软件包。这些软件在某些系统上随着 BOS(基础操作系统)一起进行安装。 

· Migration Bundle. 当在 BOS 安装过程中由于没有足够的磁盘空间来完成一个迁移安装的情况下,安装程序会生成一个 Bundle 文件。这个文件的内容包括了一系列需要完成迁移安装而必须安装的软件包。可以使用”smitty update_all”的快捷方式来安装这一类 Bundle。 

此外,一些系统 bundle 文件可能需要引用多种外部输入设备作为安装介质。在进行 Bundle 安装的过程中,如果发现系统提示文件集不存在之类的错误,那么需要查看一下指定的安装介质是否包含 bundle 中列举的那些文件集。如果没有的话,需要找到包含这些文件集的正确的安装介质再继续进行安装。

用户 Bundle 文件通常是某些用户 通常是高级用户 根据自己的使用习惯或者工作需要而创建的。通常把这些文件放置在 /usr/sys/inst.data/user_bundles/ 目录下。这样当使用 SMIT 工具进行安装的时候可以自动发现这些 Bundle 文件。

 

使用 Bundle 文件查看软件安装状态 

我们可以通过命令 lslpp -Lb 来查看一个 Bundle 包含的文件集是否被安装以及安装后的当前状态。比如,假如希望了解 /usr/sys/inst.data/sys_bundles/CDE.bnd 的状态,我们可以使用如下的命令:

lslpp -Lb CDE.bnd

将会得到如下类似的结果:

Fileset Level State Type Description (Uninstaller)

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

 X11.Dt.ToolTalk 6.1.1.0 C F AIX CDE ToolTalk Support

 X11.Dt.bitmaps 6.1.0.0 C F AIX CDE Bitmaps

 X11.Dt.helpmin 6.1.0.0 C F AIX CDE Minimum Help Files

 X11.Dt.helprun 6.1.1.0 C F AIX CDE Runtime Help

 X11.Dt.lib 6.1.1.0 C F AIX CDE Runtime Libraries

 X11.Dt.rte 6.1.1.0 C F AIX Common Desktop Environment

 (CDE) 1.0

State codes:

 A -- Applied.

 B -- Broken.

 C -- Committed.

 E -- EFIX Locked.

 O -- Obsolete. (partially migrated to newer version)

 ? -- Inconsistent State...Run lppchk -v.

Type codes:

 F -- Installp Fileset

 P -- Product

 C -- Component

 T -- Feature

 R -- RPM Package

 E -- Interim Fix

 

Bundle 安装应用实例 

假设所要安装的 bundle 文件叫做 example.bnd,文件内容如下:

#example bundle file

#MEDIA=BASIC BUNDLE INSTALL TEST

R:zip-2.3-3.aix4.3.ppc.rpm

I:bos.sysmgt.nim.master

I:openssl.base

I:openssl.license

包含这些文件集的安装文件如下:

zip-2.3-3.aix4.3.ppc.rpm

bos.sysmgt

openssl.base

openssl.license

不妨将安装文件拷贝到 /home/Bundle_TEST 目录,将 example.bnd 拷贝到 /usr/sys/inst.data/user_bundles

下面的应用实例都此作为基础。

使用 smit 工具安装 bundle

1. 在命令行输入“smitty easy_install”;

2. 输入安装文件所在的设备或者目录,我们这里输入 /home/Bundle_TEST,如下图所示:


3. 选择 bundle,这里选择我们自定义的 bundle 文件 (example.bnd),如下图所示:


4. 设置安装选项,通常我们只需要选择接受 license,其他参数保持默认值。如下图所示:


5. 回车完成设置,开始并完成安装。

使用 geninstall 命令安装 bundle

在命令行提示符输入下面的命令:

· -I 选项传入 installp 所支持的命令; 

· -d 选项指定安装文件所在的设备或者本地路径; 

· -f 选项指定 bundle 文件的名称。如果该 bundle 文件在 /usr/sys/inst.data/sys_bundles/ 或者 /usr/sys/inst.data/user_bundles/ 路径下,那么无需指定该文件的全路径。 

使用 NIM 安装 bundle

使用 NIM(Network Installation Management) 安装 bundle, 首先需要配置 NIM 环境。NIM 需要两台机器作为 NIM 环境的服务器端和客户端。NIM 环境配置的详细信息请参阅相关文档。

在这种安装方式下,安装文件和 bundle 文件都存在于 NIM 服务器端。

1. 在 nim 服务器上定义 lpp_source

geninstall -I acXY -d /home/BundleTest/ -f example.bnd

命令执行成功后,在 /home/BundleTest 路径下下的安装文件集合就被定义成了一个名为“BundleTest_lppsrc”的 NIM 对象,类型是 lpp_source

2. 在 nim 服务器上注册 bundle

nim -o define –t lpp_source -a server=master -a 

    location=/home/BundleTest BundleTest_lppsrc

命令执行成功后,example.bnd 成为一个名为“BundleTest_bundle”的 NIM 对象,类型是 installp_bundle

3. 在 nim 客户机上安装 bundle

nim -o define -t installp_bundle -a server=master -a 

   location=/usr/sys/inst.data/user_bundles/example.bnd BundleTest_bundle

命令通过指定上面两步定义的 lpp_source 对象和 installp_bundle 对象完成 NIM 安装 bundle

结束语 

Bundle 的引入为在 AIX 操作系统安装软件提供了多一种选择。用户可以使用系统定义的 bundle 来安装系统软件,也可以自定义一些 bundle 来满足自己特定的要求。特别是对于多种安装文件格式的情形,bundle 安装带来了很大的方便和灵活性。

阅读(2733) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~