学习内容:在AIX中安装与维护软件
学习目标:
1) 了解安装软件包的含义及命名规则;
2) 了解AIX如何发布补丁,知道自己的AIX及已安装软件的版本情况;
3) 知道如何安装与管理软件及升级;
4) 会修复损坏的软件;
5) 知道如何通过Fix Central 和SUMA下载补丁;
AIX安装介质
标准的AIX安装光盘包括
1) AIXv6.1 Base;
2) AIXv6.1 Expansion Pack;
3) AIXv6.1 InfoCenter;
4) AIXToolbox for Linux;
5) MozillaFirefox Browser;
对需要在虚拟环境中管理系统的用户来说,还需要额外购买PowerVM产品,包括Virtual I/O Server v2.1 及 Virtual I/O ServerExpansion Pack.
一.了解AIX安装软件包
(一)AIX安装软件包的命名规则
AIX的安装软件包名包括三部份:Licensed Program product(LPP)(许可程序产品), Package(软件包), Fileset(文件集)。格式如AAA.BBB.CCC.DDD。其中AAA表示LPP部分,BBB表示Package部分,CCC及后面的部分表示 Fileset部分。
具体说明如下:
LPP:指一个包含了所有和这个许可程序相关的软件包的完整软件产品。它可以是一系列的package或者只是单一的一个package。一般情况下,用户可以选择不一次购买整个LPP,而是单独购买其中的几个package。
Package:软件包是一组可单独安装的文件集的集合,该集合提供了一系列相关的功能,包通常为bff格式(Backup format file)。
Fileset:每个fileset包含的是一组逻辑上相关的文件。fileset是最小的可独立安装的实体,每个fileset都是可以单独安装、升级、卸载的。
例如:
bos:LPP的名字,操作系统基本组成部分(Base Operating System Component)。
bos.net:软件包名,操作系统基本组成部分中与网络相关的安装包。
bos.net.tcp:文件集名,与TCP/IP功能实现相关的文件集合。
bos.net.tcp.server:文件集名,与TCP/IP Server功能实现相关的文件集合,此处为最小的可安装单元。
(二)AIX 软件束(bundles)
在任何操作系统中安装部署软件,都会要求所安装的软件产品具有特定的格式,比如在 Linux 中,RPM 是最常见的软件安装格式 , 而在AIX 中,installp 是最常见的软件安装格式。installp格式的软件产品根据粒度大小,可以划分为文件集、软件包,许可程序产品等等。这些不同粒度的安装包可以同时安 装,也可以分别独立安装。在 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 文件目前只支持 4 种如软件格式,下面列出了这 4 种格式和其对应的前缀字母:
I: installp 格式
R: RPM 格式
J: ISMP 格式
E: interim fix 格式
Bundle 的分类
Bundle 文件通常分为系统Bundle 文件和用户 Bundle 文件两类,其中系统Bundle 文件是操作系统安装完成后预设的 Bundle 文件,为方便用户安装那些操作系统没有默认安装的系统软件,存放在/usr/sys/inst.data/sys_bundles目录中;用户 Bundle 文件是某些用户 ( 通常是高级用户 ) 根据自己的使用习惯或者工作需要而创建,通常把这些文件放置在/usr/sys/inst.data/user_bundles/ 目录下,这样当使用 SMIT 工具进行安装的时候可以自动发现这些 Bundle 文件。
(三)AIX software levels(有关在AIX中的软件升级与打软件补丁)
VRMF是软件的系统版本号(Version)、发行版本号 (Release)、改进版本号 (Modification level)和修正版本号 (Fix level) 的首字母集合。这四个数字组合在一起,表示了软件包的版本。其中Version 和 Release 版本号的升级是需要购买,而后面两个版本号的升级可以到 IBM 网站免费下载。每个 fileset 都有各自的版本号,AIX操作系统也有它的版本号。
系统版本号(Version)——一个两位的数字用来表示产品的发布版本。例如:AIX6,其中的 6 就是操作系统的版本号。
发行版号(Release)——发行版号也是由一个两位数字表示,它代表了软件的发行版本。例如 :AIX6.1,其中的 1 就是发行版号,我们在这里省略了十位的 0,将 01 简写为 1.
改进版号(Modification level)——是由一个四位数字组成,表示最新的改进版级别。一般情况下,每过一段时间,软件发布者会将大量的更新打包成一个安装镜像并发布,此时改进版本级别会被改变。
修正版本号(Fix level)——是由一个四位数字组成,表示最新的 fileset 修正版本。软件每经过一次修正,其修正版本号都会增加一次,直到改进版本号升高,修正版本号将被重置为 0。
AIX中为软件升级或打补丁分为四种情况:
1) Base level:初次安装后的软件,没有升级或打过补丁;
2) Technology level(TL):TL 是为 AIX 版本或新硬件支持所添加的一组修复程序或新特性。以下是决定您应该更新到新版本 TL 的原因: 新版本 TL 提供了一个您需要的新功能;当前版本的 TL 不能使用或将不支持新的修复和服务程序包;或系统目前需要一个修复程序,但是这个程序只在新版本 TL 中支持。
IBM一年会发行二次TL,第一次与硬件特性与软件服务有关,第二次与新硬件特性、软件服务、新增软件特性有关。每二年发布一次大的TL,也就是说每一次的TL发布最多保持两年的实时性。
3) Service pack(SP):SP只发布与服务相关的软件升级信息,一般在发布TL与补丁信息之间发布,多数是针对一些重大,危急,与安全相关的事件相关的升级。
4) Interim fixes(ifix):在正式发布补丁或其它信息发布之间的补丁,通常可修复一个或多个产品的技术缺陷,该名称还暗指将来会有经过更完全测试的补丁可供使用。
在以前,AIX的系统管理员只能针对各个文件集单独的下载,安装,导致所安装软件的版本情况(即升级或补丁情况)混乱,所以IBM推出了TL和SP,以打包的形式一次性发布同时期所有的升级与补丁情况。理想状态下,系统应该安装所有最新的补丁包(TL 和 SP)。
可使用oslevel命令查看AIX操作系统的版本与升级情况,如:
#oslevel –s 输出:6100-02-01-0847。
其中6100为系统的VRMF,指版本号为6,发行号为1,改进版本与修正版本均为0,TL为02,SP为01,SP的发布时间为2008年的第47周。
二.软件安装与维护
AIX中的软件安装与维护均可通过三种方式实现:SMIT,命令行,或systems director console。
命令行方式:
--lslpp:列出已安装的所有软件;
--installp:用于安装和维护AIX软件安装包,传统的AIX软件安装包均为LPP包,只能通过此命令进行;
--rpm:AIX 5L后的新命令,可用于安装Linux包;
--geninstall:新命令,可用于安装多种格式的安装包,如LPP, RPM, ISMP。
(一)软件状态
分为应用状态(applied)和执行状态(committed)。在初次安装软件时,软件会自动成为执行状态。当进行软件升级或打补丁时,可以选 择是应用还是执行,应用状态允许在新版本安装完成后,将旧版本仍然保存在机器上,只是旧版本处于不激活状态,只激活新版本,这时如果新版本工作正常,再进 行commit,如果新版本工作不正常,可进行reject,删除新升级的版本,回到新版本中工作。
可以使用lslpp命令查看系统中所安装文件集或文件集升级的情况。
如# lslpp –L | grep bos.net.tcp.server
输出:bos.net.tcp.server 6.1.1.1 C F TCP/IP Server
其中6.1.1.1为该fileset的VRMF号,
接下来的字母表示文件集的安装状态(state codes),
A—Appled;(应用状态)
B— Broken; (损坏状态)
C— Commited; (执行状态)
E—EFIX Locked.
O—Obsolete(已过时,功能已被移至新版本中)
?-- InconsistentState (状态不一致,使用lppchk –v查看)
再接下来的字母表示文件集的安装类型(Type codes):
F—InstallpFileset;
P—Product;
C—Component;
T—Feature;
R—RPMpackage;
E—InterimFix;
lslpp有很多有用的命令选项,可以用man命令查看。
有时当用户想使用一个特定命令时,发现该命令没有在系统中安装,而且也不知道该命令包含在哪个LPP中,这时可以使用which_fileset命 令查看。which_fileset命令会去搜索/usr/lpp/bos/AIX_file_list文件,在此文件中查找命令或文件包含在哪个文件集 中。
/usr/lpp/bos/AIX_file_list文件不是默认安装文件,必须手工安装bos.content_list文件集后系统才有此文件,此文件非常大。
例如:# which_fileset shutdown
输出:/usr/sbin/shutdown bos.rte.control 6.1.2.0
(二)安装新软件
1)使用SMIT:
#smit install_all(安装软件)
#smit update_all(升级软件)
2)使用命令行
命令installp,
参数–a (apply), -c(commit), -p(preview), -g(apply prerequites),-X(expand filesystems, if needed), -Y(accept license agreements), -d(device ordirectory location of software).
# install –acpgXYd . bos.rte.install
# install –acpgXYd /TL02_SP01 all
命令geninstall
参数-I(use install flags,此时该命令与installp命令相同), -p(preview), -d(device or directory location of software).
#geninstall –I “-acgXY” –p –d .bos.rte.install
#geninstall –I “-acgXY” –p –d /TL02_SP01all
Linux安装包:AIX与Linux非常兼容,许多工具是使用Linux安装包。
命令:
# rpm –qa 列出所有已安装的软件包
# rpm –e cairo-1.0.2-6 删除此软件
# rpm –i bash-3.2-1.aix.ppc.rpm 安装此软件包
(三)删除已安装的软件
1)使用SMIT
# smit remove
2)使用命令行
例如:
# installp –u Firefox.base.rte (installp –u会删除该软件及与该软件有关的所有升级与补丁信息,不管这个软件是否处理执行状态或是否已损坏。所有与该产品相关联的软件也会被消除,除非加上-g选 项)(bos.rte为AIX的基本软件包,试图删除bos.rte将不被执行)。
# install –upg X11* (在删除X11*相关的软件之前,先preview并决定是否删除与该被删除软件相关联的软件)
(四)恢复损坏或不一致的软件
在安装、升级、删除软件过程中,如果被意外中止,可能会引起软件的损坏。使用lppchk命令可列出系统中有问题的软件,如果系统中没有此种软件,则该命令输出为空。
对于有问题的软件,可用installp–C命令进行清除(clean-up),然后再重新进行安装。如果有问题的软件是一个未安装软件,可用installp –u强制删除。
三.系统补丁
例如给cluster.doc.en_US.es.pdf软件升级,先进行查询,得知其改进版本为0,则通过installp-aB命令对其升级 (相关升级包已下载至当前目录),升级后软件改进版本号为1,状态为A即applied,此后,可通过installp –r对此升级进行撤销,回退至原来的状态,或通过installp –c执行该升级。
可以通过instfix –i命令查询系统中通过TL和SP发布包安装的所有补丁。
Interimfix ( ifix )
与ifix相关的两个命令:epkg和emgr。其中epkg用于创建ifix包,该ifix包可以被emgr命令使用。emgr命令用于安装,删除,列出和验证这些系统补丁。如:
升级助手—SUMA
SUMA可根据系统实际情况决定哪些补丁需要下载,及时下载并自动安装,极大减轻了系统管理员的负担。在SUMA下载任务设置界面中有一项 “System or lslpp output to filter against”设置,设置为localhost,则它会对正在运行的系统中的软件目录进行筛选,如系统已为Version6.1级别,则不会下载任何 Version5.3级别的修复程序。
下载可分几种类型:通过APAR号(APAR:Authorizedproblem analysis reports,IBM对现行系统可能存在问题的分析报告),通过补丁类型,通过TL,通过SP,下载所有最新的补丁,单独下载所需的文件集(可以通过 SUMA 获得最新的 AIX 修复程序。然而,并不推荐您安装最新的修复程序。相反,我们建议您安装最新的 TL 或 SP,因为将它们作为一个单元进行了测试,并且经历了较长的测试周期)。
使用SUMA必须保证网络的通畅,SUMA支持多种网络下载方式:http,https, ftp。
(一)SUMA的基本设置
#smit suma_config_base
此界面中的设置应用于所有SUMA下载任务,如设置下载所使用的协议,限制下载文件的大小,下载时间超时的界定等。
# suma –c 可以查看SUMA的基本设置情况。
(二)SUMA下载任务设置
# smit suma_task_defaults
可以根据每次下载需要进行单独的设置,设置完成后可使用
# suma –D查看设置情况。
(三)直接使用SUMA命令行下载
如下载最新的SP包:
# /usr/sbin/suma –x –a RqType=SPAction=Download –a RqName=’6100-01-01-0823’
下载周三23:00针对AIX6.1发布的TL2:
# /usr/sbin/suma –s “0 23 * * 3” –a RqType=ML–a Action=Download –a RqName=’6100-02’
下载最新的安全补丁:
# /usr/sbin/suma –x –a Action=Download –a RqType=Security
SUMA可以放至到crontab中使其自动下载,如:
crontab: 0 23 * * 3 _SUMA=cron /usr/suma/bin/suma –x 1
有用的资料:http://www.ibm.com/developerworks/cn/aix/library/au-updateaix.html#resources
通过IBM网站下载
http://www-933.ibm.com/support/fixcentral/
AIX4.3.3后的所有补丁均可在此网站下打到并下载。此网站上不但包括AIX补丁,还包括IBM其它产品的相关补丁。
练习:
1.软件处于什么状态用户才可以使用它?(答案:a,d)
a. Applied state
b. Removed state
c. Install state
d. Commit state
2.写出一条命令可以列出系统中所有已安装的软件? (答案:lslpp –l或lslpp -L)
3.下面哪些可以做为一个实体被安装? (答案:全选)
a. Ifix
b. LPP
c. Package
d. Bundle