smartlexus
作者smartlexus·2012-10-12 17:40
系统运维工程师·smart

AIX版本与软件包管理

字数 12343阅读 8262评论 2赞 2

AIX版本与软件包管理

AIX系统版本

1.  TL

TL”Technology Level”缩写,TLTechnical Level)指 AIX 操作系统的技术版本(以前称为 ML, MaintenanceLevel),包括硬件、软件的新功能和传统的补丁。 2006年开始,原来的AIXMaintenance Level 将改称为 Technology Level 并且,每年只发布两个新版本。第一个TL 只限于硬件的特征和功能增强,以及软件服务。 第二个TL,将包括新的硬件特征和功能增强,软件服务,和新的软件特征,因此是这两个版本中较大的一个。

 

显示系统的TL 级别:oslevel -r

oslevel rl 命令查看哪些 fileset 版本低于新的 TL,需要升级

2.  SP

SP “Service Pack” 的缩写,SP( Service Pack) 是服务补丁版本,包括一些不能等到下一个 TL推出的关键的补丁及非常有限的新硬件驱动。Service Pack 概念的引入是为了把产生在相邻的两个Technology Level之间的仅仅关于服务的更新(即PTF)打包以便于识别。这些程序补丁是针对于高度普遍的,关键的,或与安全性相关的问题的。IBM将针对AIXN N-1 release (例如:V5.3 V5.2) 的最新的Technology Level (例如:5300-045200-08) 提供Service Pack. 发布的周期大约为Technology Level发布后的每46周。

 

查看系统的Service Pack 级别: oslevel -s

例如:AIX V5.3, Technology Level 4, Service Pack 2系统

#oslevel -s

5300-04-02

 

3.  CSP

Concluding Service Pack 是指一个Technology Level的最后一个Service Pack.

SP一样,CSP将会包括高度普遍的,关键的,或与安全性相关的问题的程序补丁,但CSP还会包括新的Technology Level的补丁中那些与本Technology Level 的这些问题相关的补丁。因此,一个CSP中会含有一个是新Technology Level的一部分的服务子集。CSP会在新的Technology Level 发布以后很快发布。

 

例如:若Technology Level 5300-04 的发布日期为20062月,前一版本5300-03CSP会于约48周后发布。安装CSP后,运行“oslevel -s” 的输出会是 “5300—03-CSP”

 

通过使用Interim Fix,某个TLCSP认可获得延续的服务。

 

4.  IF

AIX 5L 中,使用”Interim Fix”作为以前的”emergency fix” “efix”的新名称。目的是简化命名方式,并避免在IBM所有的产品中的命名混淆。因为”Interim Fix”的词义更好地表达了它的临时性,暗指将来会有经过更完全测试的补丁可供使用。

 

IBM将会给目前所支持的最新的两个AIX release(例如:AIX 5.3 V5.2 的每个release的最新的两个Technology Level 提供非安全性相关问题的IF

 

所有的IF的应用,需使用”emgr”工具。

软件包分类

软件产品包括那些 AIX 中附带的产品,以及那些单独购买的产品。每种软件产品中可以包含能够进行单独安装的部分。下面解释了软件产品的组织方式。

软件名称一般由以下格式组成   LPP.Package.Fileset.Suffix

 

1.  VRFM

VRMF 是系统版本号(Version)、发行版本号 (Release)、改进版本号 (Modification level)和修正版本号 (Fix level) 的首字母的集合。这四个数字组合再一起,表示了软件包的版本。下面我们分别对这四个版本号进行详细的解释 .

 

系统版本号(Version)——一个两位的数字用来表示产品的发布版本。例如:AIX5L,其中的 5 就是操作系统的版本号。

 

发行版号(Release)——发行版号也是由一个两位数字表示,它代表了软件的发行版本。例如 :AIX5.3,其中的 3 就是发行版号,我们在这里省略了十位的 0,将 03 简写为 3.

 

改进版号(Modification level)——是由一个四位数字组成,表示最新的改进版级别。一般情况下,每过一段时间,软件发布者会将大量的更新打包成一个安装镜像并发布,此时改进版本级别会被改变。

 

修正版本号(fix level)——是由一个四位数字组成,表示最新的 fileset 修正版本。软件每经过一次修正,其修正版本号都会增加一次,直到改进版本号升高,修正版本号将被重置为 0

 

2.  文件集(fileset

对于 AIX 操作系统,文件集是最小的可安装的基础单元。文件集中包括组成一个完整产品的所有文件(如 bos.net.uucp),或者产品中可单独安装的部分(如 bos.net.nfs.client)。

AIX 5L操作系统的文件打包结构中,把操作系统分成许多fileset。每个fileset 包含的是一组逻辑上相关的文件。例如:与TCP/IP 客户端功能相关的文件都打包在bos.net.tcp.client fileset 中。

由于每个fileset可独立安装和更新,从而安装的颗粒度更细,更新程序的打包更小。Fileset的版本由Version, Release, Maintenance level Fix level组成,称作VRMF (例如: bos.rte 5.3.0.0 代表 version 5, release 3, Maintenance level 0 , Fix level 0)。

 

3.  软件包(package

软件包是一组可单独安装的文件集,该文件集提供了一系列相关的功能,形成一个安装镜像或者一个 BFF(Backup Format File),也被称为 package。例如,bos.net 是一个软件包。

 

4.  许可程序产品(Licensed Program ProductsLPP

许可程序产品(LPP)是指一个包含了所有和这个许可程序相关的软件包的完整软件产品。例如,BOS 就是一个许可程序产品。

 

1 fileset/package/LPP 之间的关系

 

由图 1 可以清楚的看到,例子中的每个 package 都只包含有一个 fileset,而 CSM LPP 包含 csm.core, csm.deploy csm.server 3 package.

 

2


2 是一个更加复杂的软件包关系图。可以看到每个 package 中都包含了大量的 fileset,而一个 LPP 中又包含了大量的 package。这也是 AIX 中最普遍的情况。

 

5.  软件集(Bundles

软件集就是一组包含了文件集,软件包或许可程序产品的软件,它们组合在一起为了实现一个特定的功能,例如提供一个个人的信息管理系统或者是网络上的一个客户端程序。缺省情况下,系统使用的软件集存放在 /usr/sys/inst.data/sys_bundles 目录中。用户自定义的软件集会存放在 /usr/sys/inst.data/user_bundles 中。AIX 5L V5.1 中系统定义的软件集包括:

App-Dev

CDE

GNOME

KDE

Media-Defined

Netscape

devices

wsm_remote

 

6.  PTF

PTF 是程序临时补丁(Program Temporary Fix)的缩写。它是AIX 5L 的某个fileset 的更新程序。PTF的编号只用于软件分发用途,而不会被记录在 AIX 5L software vital product database 中。只有已安装的fileset 及其VRMF才会被AIX 5L所记录追踪。

一个 PTF 是一个升级文件集或者一个用以修复前面版本出现的问题的文件集。PTF 安装的方法和文件集的安装方法一样,都是使用 installp 命令。

 

7.  APAR

APAR 是授权程序分析报告(Authorized Program Analysis Report)的缩写,它是一种紧急的修复,或者是针对于唯一的系统问题而出的修复。最后,经过测试和确认 APARs 将会变成 PTFAPAR 使用 instfix 命令来安装到系统上。

instfix 命令允许您安装一个修复程序或者一组修复程序,只需要了解用于标识该修复程序的授权程序分析报告(Authorized Program Analysis ReportAPAR)编号或者其它唯一的关键字,而无需了解任何其他信息。

 

一个修复程序可能包含单个文件集或者多个文件集。在安装媒体的内容表 (TOC) 中对修复程序的信息进行了组织。在安装了一个修复程序之后,修复程序的信息将保存在系统的修复程序数据库中。

软件安装维护

系统中软件的安装可以使用installp命令,也可以使用SMIT工具。一般建议使用SMIT工具安装软件。

1.  INSTALLP CLI方式

installp命令安装的日志记录:/var/adm/sw/installp.summary

Ø  提交或放弃处于应用状态的更新

在对系统中的软件进行更新时,可以有两种选择:使软件处于应用状态(applied)或处于提交状态(committed)。软件更新处于应用状态时会保留老版本软件的文件,这些文件保留在/usr/lpp/PackageName目录中,比如bos.net软件更新后的老版本会保留在/usr/lpp/bos.net中;而软件更新处于提交状态时则不会,老版本的软件将不复存在。

要考虑到软件更新后对其他软件是否会造成影响,一般情况下,我们在更新软件时都不会提交更新,而是保留原来的版本,使软件更新处于应用状态,一段时间后,如果没有问题,就可以提交软件的更新,相反,如果有问题,可以放弃软件的更新,恢复老版本的软件。

提交软件更新:# installp -cgX all 

比如我们希望放弃软件X11.adt.lib的更新,可以使用下面的命令:

# installp -rgX X11.adt.lib 

Ø  删除已经安装的软件

删除已经安装到系统中的软件可以使用installp -u命令。例如,删除所有已安装的软件包bos.net.tcp.server,可以使用下面的命令:

# installp -u bos.net.tcp.server 

Ø  安装失败后如何清理系统

安装软件时如果失败了,那么再运行installp安装相同软件时将会被拒绝,因此需要清除先前失败安装留下的那些没用的文件,之后再重新完成软件的安装。

可以运行下面的命令清除所有失败安装后留下的文件:

# installp -C 

为了避免出现软件安装失败的情况,使用SMIT工具安装软件时,最好在交互界面上对“Proview Only”一项选择yes。这样可以从输出结果中初步判断软件安装成功与否,是否需要先安装其他软件包等。

Ø  列出安装介质中包含的软件

如果希望查看安装介质(比如CD-ROM)中所包含的软件,可以使用下面的命令:

# installp -L -d /dev/cd0

 

2.  INSTALLP SMIT 方式

注意:与 installp 命令一样,SMIT /var/adm/sw/installp.log 中存储了软件安装、删除和维护任务的记录,但是 SMIT 还在 $HOME/smit.log 中存储了一份更加详细的记录。

Ø  软件安装 smitty install_latest;smitty install_all

Ø  软件升级smitty update_all

Ø  提交应用的更新 smitty install_commit

9 “Commit Applied Software Updates (Remove Saved Files)”菜单

 “SOFTWARE to install”字段中输入名称(如果您清楚希望提交的内容)或者按 F4,以获得所有可用软件的列表。在您选择了希望提交的产品之后,请按 Enter。保留“SOFTWARE name”字段为 all,这将提交系统中安装的所有应用的文件集。系统将提交软件,然后从 /usr/lpp/PackageName 目录中删除副本。

Ø  拒绝应用的更新 smitty install_reject

10 “Reject Applied Software Updates (Use Previous Version)”菜单

“SOFTWARE name”字段中按 F4,以便选择您希望拒绝的软件更新。将列出所有处于应用状态的软件更新。选择您希望拒绝的更新,然后按 Enter

Ø  删除已安装的软件smitty install_remove

11 “Remove Installed Software”菜单

“SOFTWARE name”字段中按 F4,以获得系统中已安装的所有软件的列表。通过按 F7,选择您希望删除的软件,然后选择完成之后按 Enter

“PREVIEW only?(remove operation will NOT occur)”字段的缺省值为 YES。这允许您预览任何删除操作,并在进行实际的删除操作之前证实您的选择。

在确定了希望删除这个软件之后,将“PREVIEW only?(remove operation will NOT occur)”字段更改为 NO,然后按 Enter。这将删除您所选定进行删除的所有软件。

Ø  显示软件中已经安装的软件产品或者安装包 smitty list_installed_sw

Ø  显示applied但是没有commited的软件 smitty list_applied_sw

Ø  显示安装历史 smitty show_history

Ø  显示软件束的文件集 smitty show_bundle

Ø  显示介质上的软件包 smitty show_media_sw

Ø  显示介质上的软件修订包 smitty show_media_fixes

 

3.  BFFCREATE

Bffcreate可以从安装媒体(磁带或者光盘)将映像文件复制到磁盘上的某个目录(/usr/sys/inst.images),以后可以用这个磁盘目录作为输入设备进行安装。

在硬盘中创建安装映像,SMIT 快速路径:smitty bffcreate

18 “Copy Software to Hard Disk for Future Installation”菜单

1)   “INPUT device/directory for software”字段中,输入将用于复制映像的源的名称,然后按 Enter

2)   在下一个屏幕中,在“Software package to copy”字段上按 F4,以获得媒体中可用软件的列表。选择希望复制到您的硬盘的安装映像,然后按 Enter

3)   会将所有的映像复制到您的硬盘的 /usr/sys/inst.images 目录中,并且将更新 /usr/sys/inst.images/.toc 文件。

 

在将来进行安装时,在“INPUT device / directory for software”字段中输入 /usr/sys/inst.images 目录。如果出于某种原因,您的 .toc 文件被破坏,那么您将在 SMIT 或者命令行中接收到一个错误,具体取决于您所使用的方式,错误消息与下面所示类似:

0503-005 The format of .toc file is invalid

 

在本示例中,只需要使用 inutoc /usr/sys/inst.images/.toc 命令重新创建您的 .toc 文件。

 

这种创建安装映像的方法,可以解决需要安装处于不同安装媒体、但又相互依赖的软件,并且您的安装过程不允许在当前过程中更换媒体。在这种情况下,您的安装将会失败;因此,建议将所有的先决条件和相互依赖的内容放到同一个目录中,然后再进行安装。

要从不同的媒体获得相互依赖的内容,可以使用 smitty bffcreate 快速路径从第一个 CD-ROM 中将所需的文件集复制到硬盘的 /usr/sys/inst.images。然后,使用 smitty bffcreate 快速路径从附加的 CD-ROM 中将所需的文件集复制到硬盘的 /usr/sys/inst.images。在将所有所需的文件集复制到硬盘之后,使用 installp 命令或者 smitty install_latest 快速路径安装软件。因为系统读取 /usr/sys/inst.images/.toc 文件以进行安装,并且所有的文件集都位于本地硬盘,所以不会提示您插入 CD-ROM、或者安装工作失败。

备注:对于2CD的软件包,不需要mount /cdrom,直接选择cd0设备即可,在第一张CD复制完成后会自动提示插入第二张CD

如果mount /cdrom则只复制当前CD内容,不会提示插入第二张CD

通过NIM,可以直接将CD复制到的目录制作为lpp资源。例如:

A.   使用bffcreate命令来copy文件集

B.   创建lpp_source资源

确保lpp_source资源的simages属性为yesprev_state属性为unavailable for use可以忽略,因为这个资源刚创建。

 

4.  Instfix

要确定您的系统中是否安装了某个修复程序、或者要安装某个修复程序,可以使用 instfix 命令。

权限控制:必须是 root 用户才能用 instfix 命令进行安装,但是任何用户都能运行 instfix 命令以查询补丁数据库。

 

列出 /dev/cd0 CD-ROM 上的修复程序:

# instfix -T -d /dev/cd0

IX75893

 

确定系统中是否安装了 APAR IX75893

# instfix -ivk IX75893      //-v详细输出

Not all filesets for IX75893 were found.

 

查看有关 APAR IX75893 的信息,以及它所完成的工作:

# instfix -aik IX75893

IX75893 Abstract:Process memory is made read-only unnecessarily

IX75893 Symptom Text:

Resource handler routines not being able to store to process memory

when a process is dumping core.

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

Not all filesets for IX75893 were found.

 

使用 instfix 命令列出系统中所安装的维护级别:

# instfix -i | grep ML

 

/dev/cd0 安装 APAR IX75893

# instfix -k IX75893 -d /dev/cd0

 

注意:在缺省情况下,当从命令行中运行 instfix 时,该命令将使用 stdout stderr 进行报告。如果您希望生成一份安装报告,那么您需要对输出进行重定向。例如:# instfix -aik IX75893 >/tmp/instfix.out 2>/tmp/instfix.err

 

SMIT确定系统中安装了哪些修复程序

smitty show_apar_stat

14 “Show Fix (APAR) Installation Status”菜单 “FIX ID”字段中按 F4,以获得系统中安装的所有修复程序的列表。这个命令的输出与 instfix -iv 命令的输出非常类似。

 

SMIT 安装修复程序:

smitty instfix 或者 smitty update_by_fix

15 “Update Software by Fix (APAR)”菜单

“INPUT device/directory for the software”字段中,输入要从中安装修复程序的设备(或者目录,如果您将修复程序下载到系统中)的名称,然后按 Enter。将显示与图 15 中所示类似的屏幕。

“FIXES to Install”字段中按 F4,以获得媒体中可用修复程序的列表,并选择您希望安装的修复程序。

 

5.  Lslpp

lslpp 命令显示关于已安装文件集或文件集更新的信息.

如果要知道某个文件属于哪个文件包,必须先安装bos.content_list文件集,然后运行 which_FileSet xxx或者lslpp -w xxxx

lslpp 命令输出中的 state 字段给出了系统中文件集的状态。它有如下值:

状态

定义

APPLIED

系统中安装了指定文件集。APPLIED 状态意味着可以使用 installp 命令拒绝文件集并恢复文件集的前一级别。此状态只在 V4 文件集更新和 3.2 迁移文件集中才有效。

APPLYING

试图应用指定文件集,但是没有成功完成,也没有执行清理。

BROKEN

指定的文件集或文件集更新被破坏,应该在使用前重新安装。

COMMITTED

系统中安装了指定文件集。COMMITTED 状态意味着对此软件级别已经做了提交。不能拒绝已提交文件集更新,但是使用 installp 命令可以卸下或删除提交的文件集基级别和它的更新(不管其状态如何)。

EFIX LOCKED

指定的文件集已成功安装并且由紧急修订程序(efix)管理器锁定。

OBSOLETE

指定文件集安装在早期版本的操作系统中,但是已经被重新包装(重命名)的新版本替换。属于此文件集的一些文件已经被重新打包的文件集中的版本替换。

COMMITTING

试图提交指定文件集,但是没有成功完成,也没有执行清理。

REJECTING

试图拒绝指定文件集,但是没有成功完成,也没有执行清理。

1.  列出所有文件集 bos.rte 中已安装文件集的多数新近级别的安装状态,请输入:

lslpp -l "bos.rte.*"

2.  要列出文件集 bos.rte.filesystem 的基级别和更新的安装状态,请输入:

lslpp -La bos.rte.filesystem

3.  要列出 bos.net 软件包中所有文件集的历史记录信息,请输入:

lslpp -ha 'bos.net.*'

4.  要列出文件集 bos.rte.lvm 中的所有文件的名称,请输入:

lslpp -f bos.rte.lvm

5.  要列出拥有 installp 的文件集,请输入:

lslpp -w /usr/sbin/installp

输出显示与以下类似:

文件                               文件集    类型

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

/usr/sbin/installp                 bos.rte.install          文件

6.  要列出拥有包含 installp 的所有文件名的文件集,请输入:

lslpp -w "*installp*"

输出显示与以下类似:

文件                               文件集                   类型

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

/usr/sbin/installp                 bos.rte.install          文件

/usr/clvm/sbin/linstallpv          prpq.clvm                文件

/usr/lpp/bos.sysmgt/nim/methods/c_installp

                                   bos.sysmgt.nim.client    文件

7.  要显示库存数据库中的所有文件,请输入:

lslpp -w

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

2

添加新评论2 条评论

answer_sunanswer_sun软件架构设计师四川DD
2016-05-09 11:11
来复习了下
tim_xutim_xu系统工程师yx
2012-12-21 15:43
很详细,一直困惑的版本问题得以解决。
Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广