AIX版本与软件包管理
AIX系统版本1. TL
TL是”Technology Level”的缩写,TL(Technical Level)指 AIX 操作系统的技术版本(以前称为 ML, MaintenanceLevel),包括硬件、软件的新功能和传统的补丁。 从2006年开始,原来的AIX的Maintenance 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将针对AIX的N 和N-1 release (例如:V5.3 和V5.2) 的最新的Technology Level (例如:5300-04和5200-08) 提供Service Pack. 发布的周期大约为Technology Level发布后的每4到6周。
查看系统的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 的发布日期为2006年2月,前一版本5300-03的CSP会于约4至8周后发布。安装CSP后,运行“oslevel -s” 的输出会是 “5300—03-CSP”。
通过使用Interim Fix,某个TL的CSP认可获得延续的服务。
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 Products,LPP)
许可程序产品(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
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 将会变成 PTF。APAR 使用 instfix 命令来安装到系统上。
instfix 命令允许您安装一个修复程序或者一组修复程序,只需要了解用于标识该修复程序的授权程序分析报告(Authorized Program Analysis Report,APAR)编号或者其它唯一的关键字,而无需了解任何其他信息。
一个修复程序可能包含单个文件集或者多个文件集。在安装媒体的内容表 (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
注意:与 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属性为yes,prev_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 中已安装文件集的多数新近级别的安装状态,请输入:
2. 要列出文件集 bos.rte.filesystem 的基级别和更新的安装状态,请输入:
3. 要列出 bos.net 软件包中所有文件集的历史记录信息,请输入:
4. 要列出文件集 bos.rte.lvm 中的所有文件的名称,请输入:
输出显示与以下类似:
-----------------------------------------------------------------
/usr/sbin/installp bos.rte.install 文件
6. 要列出拥有包含 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 条评论
2016-05-09 11:11
2012-12-21 15:43