打包捆绑软件

SMIT 安装应用程序在 /usr/sys/inst.data/sys_bundles/usr/sys/inst.data/user_bundles 中查找捆绑软件。

sys_bundles位置通常保留给系统定义的捆绑包(AIX 附带的捆绑包)。 用户可以在 user_bundles 目录中创建他们自己的捆绑软件文件。

捆绑软件定义文件名必须以 .bnd结尾,因为处理捆绑软件的 AIX 安装接口仅识别以 .bnd结尾的捆绑软件文件。 使用任意编辑器来创建可以包含注释和文件集名称的捆绑软件文件。 以磅字符(#)开头的行识别为注释,且捆绑软件处理代码将它忽略。 当完成文件集列表时,请保存文件并确保文件有适当的读许可权。 调用捆绑安装界面显示没有 .bnd 扩展名的捆绑软件。

以下是预定义的捆绑软件示例:

  • 服务器捆绑软件。 用于在多用户独立或联网环境中运行 AIX 的机器的软件包集合。 此捆绑软件强调磁盘使用率方面的功能。
  • 图形捆绑软件。 提供图形环境支持的软件包集合。 BOS 安装过程中可能在某些系统上自动安装图形支持。
  • 迁移捆绑软件。 BOS 安装过程中,当没有足够的磁盘空间可用于完成迁移安装时会创建该捆绑软件。 捆绑软件由完成迁移必须安装的软件包集合构成。 为了完成迁移安装必须安装该捆绑软件。 使用 smit update_all 快速路径安装捆绑软件。

    可能还需要安装图形捆绑软件

某些系统捆绑软件可能涉及分散在多个介质间的安装映像。 如果发现错误表示正在使用的介质上找不到文件集,请插入包含缺少的文件集的介质并重试捆绑软件安装。

系统捆绑软件位于 /usr/sys/inst.data/sys_bundles 目录中。 要列出系统捆绑软件,请输入以下命令:
ls /usr/sys/inst.data/sys_bundles/*.bnd
也可以使用 SMIT list_bundle 快速路径来列出系统捆绑软件。

geninstallgencopy 命令会处理在使用捆绑软件文件时指定的多个软件源。 这通过在捆绑软件文件的 #MEDIA= 标题下将软件映像分组在一起来实现。 在这样的标题下列出的任何映像必须位于指定介质上。 介质可指定为光盘名称(如基础安装介质卷 1AIX® Linux®工具箱光盘)或本地目录(如 "/usr/sys/inst.images目录)。

#MEDIA= 标题用于指定捆绑软件中的文件集或软件包的位置。 例如,BaseAndLinuxCD 捆绑软件可以包含以下信息:
# BaseAndLinuxCDBundle contains packages on volume 1 of base media and on the AIX 
# Linux Toolbox CD

#MEDIA=Base Install Media Volume 1
I:bos.adt.prof

#MEDIA=AIX Linux Toolbox CD
R:mtools
R:vim-common
geninstallgencopy 命令提示需要其他介质时,它们使用在 #MEDIA= 行中提供的词语。 在先前的示例中, geninstallgencopy 命令显示一条消息,通知您 bos.adt.prof installp 软件包位于 Base Install Media Volume 1上, mtoolsvim-common RPM 软件包位于 AIX Linux Toolbox CD上。
#MEDIA= 标题也可以用于表示目录。 例如 CD_Directory 捆绑软件可以包含以下信息:
# CD_DirectoryBundle contains packages on volume 1 of base install media
# and in /usr/sys/inst.images

#MEDIA=/usr/sys/inst.images
I:bos.games

#MEDIA=Base Install Media Volume 1
I:bos.adt.prof
R:cdrecord-1.9-4
这将通知 geninstallgencopy 命令 bos.games installp 包位于/usr/sys/inst.images 目录中,并且 bos.adt.prof installp 包和 cdrecord-1.9-4 RPM 包位于 Base Install Media Volume 1上。

geninstallgencopy 命令理解捆绑软件文件中的“%L”通配符。 此通配符将在运行时以相应的语言环境变量值替换,首先检查 LC_ALL,然后是 LC_MESSAGES,再然后是 LANG。 这使您能够创建一个单一的捆绑软件文件对应多种安装配置。

举个例子,假设您提供 ABC 产品,该产品需要 abc.rteabc.com 文件集以及消息目录文件集和文档文件集。 然后您提供了英语、法语和德语的消息文件集和文档文件集,如下所示:
abc.cat.en_US
abc.cat.fr_FR
abc.cat.de_DE

abc.doc.en_US
abc.doc.fr_FR
abc.doc.de_DE
以下捆绑软件文件将导致根据目标系统上的语言环境变量,安装相应的文件集组合:
I:abc.rte
I:abc.com
I:abc.cat.%L
I:abc.doc.%L
注: 如果展开 %L 通配符未生成与安装介质上提供的文件集相对应的文件集名称,那么将尝试当前语言环境的 UTF-8 版本,然后尝试 zh_CN,然后再尝试 ZH_US
您可以确定是否用 lslpp -Lb 命令将捆绑软件的内容安装在系统上。 例如,要确定是否安装了 Alt_Disk_Install 捆绑软件的组件(位于 /usr/sys/inst.data/sys_bundles 目录中),请运行以下命令:
lslpp -Lb Alt_Disk_Install.bnd
您可以看到与以下相似的输出结果:
Fileset                            Level      State  Type  Description
------------------------------------------------------------------------------------------------------
bos.alt_disk_install.boot_images   7.1.00     C      F     Alternate Disk Installation Disk Boot Image
bos.alt_disk_install.rte           7.1.00     C      F     Alternate disk Installation Runtime

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