8.1、软件产品的基本概念:
lpp(licensed program product 得到许可的软件产品),它是由一个或多个package(软件包)组成的
软件产品的构成:文件集(fileset),软件包(package),得到许可的软件产品(LPP),软件束(bundle)
文件集:是AIX中最小的可安装的、能实现特定功能的基本单元,如bos.net.nfs.client
软件包 :是由一组具有共同功能的文件集而组成的一个可单独安装的映像,以BFF(backup file format)格式存在。如bos.net
得到许可的软件产品: 由一个或多个软件包构成一个完整的LPP,如bos
软件束:是一个软件列表文件,这个列表包含为实现某个特殊用途的文件集、软件包、和得到许可的软件产品,文件名以.bnd结尾
软件产品的命名格式:LPP.package.fileset.suffix 其中suffix为后缀
软件产品的版本格式:versionnumber.releasenumber.modificationlevel.fixlevel
versionnumber 主版本号
releasenumber 发布号,即次版本号
modificationlevel 修正级别
fixlevel 修订级别
安装后的软件在AIX中有两种状态:applied(暂时应用状态,即保留旧版本,可以恢复到旧版本),committed(提交确认状态,即不保留旧版本)
一个软件产品的文件集可以划分为3个部分:root,usr,share部分
usr部分 包含着软件中可以被其他具有相同硬件体系结构的机器共享的部分,通常保存在/usr目录中
root部分 包含着软件中不能被其他机器共享的部分,一般保存在/目录中
share部分 包含着软件可以被其中任意一台机器共享的部分,即使它们不拥有相同的硬件体系结构。一般保存在/usr/share目录中。
修订包分类:PTF、APAR、维护包和推荐维护包,其中PTF、APAR是对文件集的修订,维护包和推荐维护包包含着大量的PTF和APAR,主要是
对操作系统的修订
PTF 是指文件集的可单独安装的更新包(fileset update),它的作用是增强以前安装的fileset的功能或更正以前fileset的小错误
APAR(authorized program analysis report 经授权的软件分析报告) 是针对系统中少见的问题而发布的紧急的软件修订包,对操作系统
而言是单一性的错误问题。
维护包 (Maintenace package):对系统的预防性维护由一个维护级别(maintenance level,简写ML)来提供。每次应用一个维护包,就会
调整文件集的修正级别modificationlevel,同时将修订级别设置为0,维护包的名称由4个数字组成VRMF,V表示操作系统的主版本,R表示操作
系统的次版本,M表示修正级别,F表示修订级别,F一般为0。
推荐维护包(recommended maintenance package 简写RML):指从最新的维护级别之后发布的一组APAR,格式为VRMF-RM
8.2、软件安装命令:
installp 是安装和更新软件的命令,该命令的用法在此不详讲
smit install 会出现四大功能:
install and update software (安装和更新软件)
list sofeware and related information (显示软件列表和相关信息)
software maintenance and utilities (软件维护和实用工具)
network installation management (网络安装管理)
我们可以使用smit install_latest命令来进行软件安装,其实它是调用installp命令来执行安装操作的,执行完这条命令后,会出现以下项目:
(1)、input device /directory for software 表示要安装的软件所在的目录或驱动器
(2)、software to install 该栏的默认值为_all_latest,表示安装所有的软件
(3)、preview only? 表示是否对软件进行预安装,即做安装检查,不会执行真正的安装
(4)、commit software updates? 表示是否提交新软件(不可恢复),如果设置为no则是apply新软件,即会保留原来的软件,可以恢复旧软件。
(5)、save replaced files 表示是否覆盖旧软件,如果设置为yes就表示保留旧软件,可以用来恢复旧软件
(6)、automatically install requisite software ? 表示是否自动安装所必需的软件,即安装的软件所依赖的软件
(7)、extend file systems if space needed? 表示文件系统空间不够时,是否自动扩充空间
(8)、overwrite same or newer versions? 表示是否覆盖相同版本或较新的版本软件
(9)、verify install and check file sizes? 表示是否要求系统对要安装的软件做一些检查
(10)、include corresponding language filesets? 表示安装时是否包括相应语言文件集
(11)、detailed output? 表示是否需要输出明细的安装信息
(12)、process multiple volumes? 是否打开多卷CD的处理,即是否安装文件集存放在多张CD上
(13)、accept new license agreements? 表示是否接受软件许可协议,如果选no表示拒绝接受并取消安装
(14)、preview new license agreements? 表示是否预览新的许可协议
安装软件束命令:
软件束(bundle):不是真正的文件集,它是一个包含了许多文件集名称的文本文件,系统先查找软件束文件,再从安装介质上查找软件束
所包含的文件集,找到后就安装。
smit install_bundle
8.3、显示软件列表命令:
显示包括两种情况,一种是显示系统中已经安装的软件,一种是显示安装介质中的软件
显示在系统中已经安装的文件集和更新文件集:
lslpp {-d|-f|-h|-I|-L|-l|-p}[-B|-I][-acJq][-O{[r][s][u]}] [fileset...|ptf_id...|all]
lslpp -E[c][fileset...|all]
-a 和其他参数结合使用,显示文件集的附加信息。不能和-f使用,和-l显示所有更新包信息,和-h显示所有安装历史
-B 允许输入ptd_id,不能与-L结合使用
-c 用:号分开输出信息,不能和-La,-J同时使用
-d 显示指定软件所要依赖的文件集
-E 显示软件许可协议
-f 显示文件集中的文件名字,不能跟-a同时使用
-h 显示软件安装历史信息,不能和-J同时使用
-I 限制输入的软件产品
-i 显示软件产品的标识信息
-J 输出的信息符合smit所要求的格式,不能和-l,-L同时使用
-L 显示文件集的名字、最新版本、状态和描述,将文件集的root,user,share三部分分别显示
-O 该参数后跟r,s,u参数,r只显示root部分,s只显示share部分,u只显示user部分,不能和-L同时使用
-p 显示被安装文件集所需要的信息
-q 输出结果中不显示各列的标题部分
-w 显示拥有这个文件的文件集。
all 显示所有的文件集
参数d,f,h,i,L,l,p,w和E之间是相互排斥的,不能同时使用。
lslpp -l 显示中的文件集的状态主要包括:
APPLIED 表示暂时应用在系统中
APPLYING 正在应用指定的文件集,还没有成功地完成,也不能执行清除操作
BROKEN 坏掉的或者被中断安装的软件
COMMITTED 确认提交
COMMITTING 正在提交指定的文件集,还没有成功地完成,也不能执行清除操作
OBSOLETE 陈旧的软件,只把部分文件集移植到新版本
REJECTING 正在拒绝(删除)指定的文件集,还没有成功地完成,也不能执行清除操作
显示已经安装的软件也可以用smit list_installed_sw
显示暂时应用而未确定确认提交的软件的命令smit list_applied_sw,也可用installp -s来显示
显示软件安装历史的命令:smit show_history 即显示软件是什么时候安装的,是暂时还是确认提交的,也可以用lslpp -h 文件集名
显示安装介质上的软件命令:smit list_media_sw,也可以使用installp -l -d /dev/cd0
查找某个文件或命令所对应的文件集的几种方法,前提:系统中必须安装了bos.content_list文件集
(1)、通过which_fileset命令,格式为:/usr/sbin/which_fileset [filename/command]
(2)、lslpp -w [filename/command] 如lslpp -w /usr/bin/ls
(3)、lslpp -f [filesetname] 查看文件集包含哪些文件,如lslpp -f bos.acct
8.4、调整软件在系统中的状态命令:
软件安装在系统中有两种状态:applied(暂时应用状态)、committed(确认提交状态),installp也可以调整已经安装软件的状态
installp -cgx all 表示提交所有暂时应用的软件,同时删除该软件包以前的版本
可以用smit commit来操作
拒绝暂时应用的软件命令:smit reject 或installp -rbpX 软件包名 ,如installp -rbpX bos.net
从系统中删除软件命令:smit remove 或installp -u 文件集名,如installp -u bos.net.tcp.server
8.5、检查当前系统中软件的维护级别命令:lslpp -l
检查当前系统的维护级别命令:oslevel
检查当前系统的RML(推荐维护包)命令:oslevel -r
检查某一个APAR是否安装在系统中的命令(首先要知道APAR号,假如是IY32749):instfix -i -k IY32749
instfix 命令能够判断某个修订包是否安装在系统中,该命令的格式为:
instfix [-k keyword][-i][-c][-q][-t type][-v][-F][-a]
-k keyword 表示指定APAR号或关键字,可以为多个,用空格隔开,并且包含在一对引号中
-i 与-k ,-f同时使用,显示指定关键字的软件修订包是否安装,仅仅显示相关信息,不执行安装,如果不加这两个参数,则显示所有知道的
软件修订包
-c 把由-i显示的结果用:号分开
-q 指静止模式
-t type 与-i使用时,查找指定类型的修订包,type有f表示修订包,p表示预防性的维护包
-v 与-i参数使用显示详细的信息
-F 如果在系统中没有安装修订包中的所有文件集,就返回失败
-a 显示修订包的症状信息,与-i,-k同时使用
显示当前系统中已经安装了哪些预防性的维护包命令:instfix -i -t p
查看系统中已经安装了哪些维护包命令:instfix -i |grep AIX
显示IY32749修订包是否安装在系统中并显示它的所有文件集的命令:instfix -i -k IY32749 -v
显示IY32749修订包是否安装在系统中并显示这个修订包纠正了哪些问题症状命令:instfix -i -k IY32749 -a
下载软件修订包:
用fixdist工具下载修订包,下载服务器为:service.software.ibm.com
通过安装fixdist工具,然后运行fixdist便可进行下载,前提是必须已经连接到internet上
通过ie下载修订包,在此不再叙述
安装修订包
gzip -d -c 510103.v1.tar.gz |tar -xvf- 从修订包中提取文件集
inutoc /usr/sys/inst.images 创建要安装文件集的目录
installp -acgXd /usr/sys/inst.images bos.rte.install 更新安装子系统本身
smit update_all 把系统中已经安装的所有软件产品升级到最新的版本
smit update_by_fix 或smitty instfix 用smit工具安装修订包
8.6、清除一个失败的安装命令:
installp -C [-b][-e LogFile]
-C 表示清理以前中断的软件安装和不完整的软件安装
-b 表示防止系统在需要时执行bosboot命令
-e LogFile 打开时间日志,把installp 命令的所有输出记录到指定的日志文件logfile中
8.7、检验软件命令:
lppchk 检查lpp的工具,它通过检查文件的大小、校验值和符号连接等内容,与swvpd中的原始数据进行比较,来发现所存在的问题。
lppchk -l 'X11*' 检查以X11开头的软件产品名中所有的符号链接
lppchk -c X11.fnt 检查包含在X11.fnt中的所有文件
lppchk -v 如果安装文件集失败,可能会引起该文件集的/,/usr,/usr/share三部分不一致,该命令就是检查一致性问题,如存在则清除该问题。
smit check_files 检查并更新文件大小信息
smit verify_install 检验软件安装及其必需的部分