[精品]AIX软件包管理_第1页
[精品]AIX软件包管理_第2页
[精品]AIX软件包管理_第3页
[精品]AIX软件包管理_第4页
[精品]AIX软件包管理_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、对软件包的管理是系统管理员n常工作中的一个重要部分,而一套优秀的软件包管理机制可以在极 大程度上帮助系统管理员维护系统并降低系统维护的开支。aix操作系统可以安装包括rpm及installp格式的软件包。其中installp是aix系统特有的 软件包格式,它捉供了强大的管理能力,但是,同时它也包含了很多容易混淆的概念(如fileset, package, ipp等等),许多有经验的系统管理员仍经常不能正确地理解它们的含义及相互关系。本 文通过探讨一些aix installp软件包的基本概念及内部机理,使管理员对aix installp软件包有 较深入的理解,并能在实践屮灵活的运用install

2、p的强大功能。另外,本文的最后部分总结了一-些在仃常管理aix installp软件包中经常遇到的问题并给出了解决 方案,留给aix系统管理员参考使用。aix installp软件包基本概念fileset在aix 5l操作系统的文件打包结构中,把文件分成了许多fileset o每个fileset包含的是一组 逻辑上相关的文件。例如:与tcp/1p客户端功能相关的文件都打包在.tcp.client fileset 中。fileset是最小的可独立安装实体,每个fileset都是可以单独安装、升级、卸载的。fileset的 版本号由四个域组成,分别是:version, release, maint

3、enance level和fix level组成, 称作 vrmf。(例如:bos.rte 表示 version 域为 5, release 域为 3, maintenance level 域为 0 , fix level 域为 0)。package多个相关的fileset可以被打包到一起,形成一个安装镜像或者一个bff(backup format file), 也被称为package。通常,一个package里可以包含一个或者多个fileset0lpp( licensed program product)lpp就像他的英文定义-样,对于用户来说lpp是用户可以用来购买的产品。

4、它可以是一系列的 package或者只是一个单独的package。一般情况下,用户可以选择不一次购买整个lpp而只 是购买其中的几个packageo图 1 fileset/ package/ lpp 之间的关系filesetcsm corefileset csm.deployfilesetcsm.serverpackagepackagecsm.servercsm deployeach package has only on巳 fileset associated with it, but there are multiple packages in the lpp,曲图1 口j以清楚的看到,例

5、子中的每个package都只包含有一个fileset,而csm lpp包含 csm.core, csm.deploy 及 csm.server 3 个 package图2lpp/package/fileset relationshipseach package has multiple filesets and a collection of packagesmake uqthe_lpp this is t蜃 most common case.图2是一个更加复杂的软件包戻系图。可以看到每不package屮都包含了大量的fileset,而一 个lpp屮乂包含了大量的packageo这也是aix中

6、最普遍的情况。vrmfvrmf是系统版本号(version)、发行版木号(release)改进版木号(modification level)和 修正版木号(fix level)的首字母的集合。这四个数字组合再一起,表示了软件包的版本。下面我 们分别对这四个版本号进行详细的解释系统版本号(version)一个两位的数字用來表示产品的发布版本。例如:aix5l,其中的5就 是操作系统的版本号。发行版号(release) 发行版号也是由一个两位数字表示,它代表了软件的发行版本。例 如:aix5.3,其屮的3就是发行版号,我们在这里省略了十位的0,将03简写为3.改进版号(modification l

7、evel)是由一个四位数字组成,表示最新的改进版级别。一般情况下, 每过一段吋间,软件发布者会将大量的更新打包成一个安装镜像并发布,此吋改进版木级别会被改变。 修正版木号(fix level)是由一个四位数字组成,表示最新的fileset修正版本。软件每经过一 次修正,其修正版本号都会壇加一次,直到改进版本号升高,修正版本号将被重置为0。aix软件包结构usr部分、root部分和share部分aix为了实现在客户机/服务器环境下安装的灵活性将安装包划分为usr部分(usr part), root 部分(root part)和 share 部分(share part) 0a) usr部分:这个部

8、分包括了 lpp_name和liblpp.a两个控制文件以及软件包中可以被多个同 构硬件共享的文件。在一个标准的aix系统中,这些文件被放置在/usr目录树下。b) root部分这个部分包含了 liblpp.a归档文件以及产品中不能被多个机器共享的部分。换句话说, 每个机器必须有它自c的一个独立拷贝,这个部分和每台机器的配置相关联。在一个标准的aix系 统中,这些文件被放置在根(/)目录树下。如果一个fileset包含一个root部分那它也必须包含 一个usr部分。./usr/ipp/packagename/liblpp.a这是一个归档文件,它包括了安装或升级软件的root部分时 所需要的控制

9、文件。c) share部分:这个部分包描了软件包中可以被多个异构硕件共享的文件。一般这个部分包描软件 包中的非可执行文件,例如:文档和数据文件。在一个标准的aix系统中,这些文件被放置在/usr/share 口录树下oshare部分必须和usr/root部分分开打包,即包括share部分的fileset 里不能包含usr/root部分,并且包含share部分的fileset不能和包含usr/root部分的 fileset 同名。图3 al x包结构bff package contentusr part:</lpp_namepackage name : csm.corepackage vr

10、mf: 1.7.01package type: install or updatepackage requisite:ifreq csm.bluegene (17.0.0) 1 *ifreq csm.client () 1.7,0.11package description:cluster systems management coreapar list:iz06148 12 syslog monitoring enhancement based on ib switch team commentsiz08386 9 error vith postiinstalli

11、ng rgar p!f2 jusr/lpp/csiii>core/liblpp.a:product idcsin.corc.copyrightcsm.core. 1330.odmdelcsm.core.csm smit core stanz;is.(xiinaddmb*kbcsni.core.csm_smit core_stanzas.unodmadd csm.core.csni_smit_core_stanzas.odindel csm.core. inventor7csm.core.sizecsm.corc.alall ship files:/opt/csm? pm/csm defs

12、.pm /opt/esm pm/install defs.pm/opt/esm pm/apachel tils.pm/opt/esm pm/archiveutils.pin/opt/esm pm/ncnvorklltils.pmroot part:/usr/lpp/packagenaine/inst_root/liblpp<a:csm.core.config uall ship files in root part:100./usr/lpp csfn.corc inst root./usr/lpp tsm.corc/inst root/liblpp.a./usr/ipp/csm.core

13、/instroot/var./usr/lpp/csinxore. inst rootar.opt /usr/lpp/csni.core/instroovvar/opt/csm /usr/lppcsm.core/instroot/var/opt/csin/tmp /usr/lpp csmcocinsloot/etcopr/ushppzcsni.corc/inst root/ctc/opt/csm /usr/ipp/csm.corc/instroot/ctc/opt/csnv csmkrb5.conf default在图3 'p,我们可以看到,一个典型的aix软件包屮包含usr部分和roo

14、t部分。每个部分屮 又包含着控制文件和安装文件。下面我们将对图3中的内容做详细的介绍。上一节我们已经提到安装包的usr部分包含两个安装控制文件:lpp_name和liblpp.a以及所冇 在安装和升级usr部分时将被安装的文件。下血我们分别对两个控渝文件做一个简单的介绍:./ipp _n ame这个文件捉供了软件包安装和升级的信息./usr/ipp/packagename/liblpp.a这是一个库文件,它包描了安装或升级软件的usr部分时所需要的所有控制文件。安装包的root部分包含./usr/ipp/packagename/instoot/liblpp.a库文件以及所有在安装 和升级roo

15、t部分时将被安装的文件。./usr/ipp/packagename/i nst_root/liblpp .a这也是一个库文件,它包括了安装或升艮软件的root part时所需要的所有控制文件。如果软件产品中包含share部分,share部分必须独立于usr和root部分被单独的打包。这个 部分和usr部分非常相似也包换/lpp_name和liblpp.a以及所冇在安装和升级share部分 时将被安装的文件。installp的包管理流程图4wntinstallpbff ptckae cnbff pic>a(e c»nmtsh|pi fihf! fewp«<smem

16、6 pm affflu/nod*u%lb jmff叫txj-rjrjj1:】: 注总壬hbe艺至 lfi豎?:二?:二二二囂“鳥囂量;?11nil 卄尽sax”丄 *!odmswv pd( s亦农 v iul proairt dau)图4显示了 installp对包进行操作中,所牵涉的资源和文件。下面,我们将对installp操作包的 流程做详细的介绍。请大家参考图4进行理解。installp对包提供了如下四种主要的操作:apply commit reject remove下面我们分别对apply/reject/remove的流程做详细的介绍:installp处理apply操作的流程:a. 检

17、查所需的filesets是否在安装媒介上存在。b. 检查所需的filesets的版本,以确定他们是否已经被安装在系统上。c. 解包liblpp.a文件,将其中的控制文件按照包的类型拷贝到相应目录。(usr部分拷贝到/usr/1pp/package_name, share 部分拷贝到 /usr/share/lpp/package_name, root 部分拷 贝至u /usr/lpp/package_name/inst_root/liblpp.a)d. 检查磁盘空间。e. 检查所依赖的包是否已经安装或者在即将安装的软件包列表上。f. 检查 license。h.执行安装(拷贝文件,运行安装脚木)并

18、生成status文件。g. 如果status文件显示apply操作成功,更新odm数据库中的swvpd信息,否则清除并 显示所有失败的文件。installp处理reject操作的流程1. 检杳软件包z间的依赖关系,保证所有被依赖的包都已被reject o2. 如果./ipp.reject存在则执行./ipp.reject,否则执行系统缺省的/usr/lib/instl/reject 脚本,进行和apply反向的reject操作3. 更新swvpd数据installp处理rem ove操作的流程a. 检查包之间的依赖关系,保证所有被依赖的包也都被remove。b. 如果./ipp.deinsta

19、ll存在则执行./ipp.deinstall ,否则执行系统缺省的 /usr/lib/instl/deinstall 脚本。c. 删除屈于此fileset的文件。d. 从swvpd中删除相关信息。e. 删除软件license许可。aix上的软件包基本维护如何安装软件市第3章我们知道软件包在被安装后,可以处于applied和committed两种状态。applied状 态会在/usr/1pp/packagename目录保留软件包的前一个版本。当软件包的新版本出现问题时,用户 可以方便的回滚到前一个稳定版本。而committed状态则会删除软件所有以前的版本,用户不再 可以进行回滚操作。卜-面,我

20、们就分别介绍如何将软件包安装为applied状态和committed状态。 在aix屮,用户可以通过命令行和smit来进行软件包的安装。由于篇幅关系,我们在这里只介 绍命令行方式。在命令行模式下,软件包安装通过installp命令来完成,下面列出了将软件包安装成applied模 式的installp命令语法:i nst al i p a - elogfi i e - v number -ddevi ce b s b d -i p q q v x f | g 0 r s u -1 savedi rectory w - zbi ocksi ze fi i eset name level . . .

21、 | li st fi i e | al i 例如:要安装放置在/usr/sys/inst.images目录中的软件包中的所有filesets,在安 装中使用checksum检查,并使软件包处于applied状态。使用下面这个命令:installp avx d/ us r / sy s/ i nst .images bos .net将软件安装为commited状态,请使用卜边的语法:installp - ac - n elogfi i e v number - ddevi ce - b s-b d -i -p -q q l 丨 j l 丨-x 丨f | g 丨0 丨 s u -1 savedi

22、 rectory w 丨 zbi ocksi ze fi i eset name level | -f li st fi i e | al i 例如:要模拟安装放置在/usr/sys/inst.images目录中的软件包中的所有filesets, 在安装前进行磁盘容量检查,并袄软件包处于committed状态。使用下而这个命令:in st al i p acpx d/ us r / sy s/ inst. i mages bos .netinstallp命令的输出记录可以在/var/adm/sw/installp.su mm ary文件中找到 如何com m it applied软件包comm

23、it 一个处于applied状态的软件包,也是使用installp命令来完成的。语法如下:installp c elogfi i e - vnumber - b 0 r s u w fi i eset name al i g leveiptstfive例如:commit所有的软件包更新installp cgx al i 如何reject applied软件包reject 一个处宇applied状态的软件包,是使用installp命令來完成的。语法如下:installp - r-elogfi i e-vnumber - b - g - p - v x -0 r s 1 u w fi 1 eset

24、 name level . . . | - f li st fi 1 e例如:reject所有写在./reject.list文件中的applied状态的软件包 installp - r bf x . / r ej ect . i i st如何卸载软件包卸载软件包,也是使用installp命令来完成的。语法如下:i nst al ip u elogfi i e - vnumber b g -p v x0 r s u w fi i eset name level . . . |-f li st fi i e例如:模拟卸载.ipsec.rte和所以他依赖的包installp ugp v2 bos .

25、net. i psec .rte这个命令将显示所有将被卸载的文件列表,但是并不会真的删除它们。安装失败后如何清理环境如果一个软件包安装失败installp将不能够再次安装这个软件包,直到用户删除了在失败点之前 的成功安装。要清理失败的环境口j以使用下面的命令:installp c |1 b | elogfi 1 e 1 |aix软件包管理faq问 仁 如何得到目前的system level ? 答:使用oslevel命令,例如:-bash-2.05b# osl evel -s5300-01-00-00005300-vr01- -tl00spoooo-spdat e注:tl (technical

26、 level)指aix操作系统的技术版本(以前称为ml, maintenance level), 包括硕件、软件的新功能和传统的补丁。sp( service pack)是服务补丁版本,包插一些不能等到 下一个tl推出的关键的补丁及非常有限的新硕件驱动。如果想了解具体有关信息,请参照ibm al x operating system service strategy details and bestpractices(https:/www14. soft ware, ibm .com/webapp/set 2/sas/f/best/home.htm 丨)。 问2:在将系统到新的tl后,如果osl

27、evel命令仍然报告是老的tl,怎么办?答:首先使用oslevel -s命令杳看当前的tl,例如:bash-2.05b# osl evel - s5300-01-00-0000接下来,使用oslevel -rl命令查看哪些fileset版本低于新的tl,需要升级bash-2.05b# os i evel5300- 03fi i eset act ual level recommended mlx11. adt . ext 5. 3. 0. 0 0x11. adt . i nci ude 5. 3. 0. 0 0xh. base丨 i b 5. 3.0.10 5. 3

28、. 0. 30x11. base. smt 0 0x11. compat . i i b. x11 r5 5. 3. 0. 1 0 5. 3. 0. 30接下来使用installp命令升级oslevel列出的fileset就可以了。 问3:列出一个fileset中的所有文件?答:使用islpp命令,例如:bash- 2. 05b# islpp - f bos. r t efi i eset fi i epat h: / usr /1 i b/ obj r eposbos. r t e 5. 3.7.0 / usr / < 'pppppp/ usr /1

29、/ usr /1/usr /1 pat h: /et c/obj r eposbos r t e 5. 3. 7. 0 /usr/lib > /usr/1 i bi devi et c问4:如何列出一个文件属于哪个fileset ? 答:使用islpp命令,例如:bash- 2. 05b# islpp w / opt / csm/ pm/ csmdef s. pm fi i e fi i eset type/ o p t / c s m/ p m/ csmdef s. pm csm. core fi i e 问5:如何列出一个fileset中没有被安装的文件? 答:使用restore -

30、qtvf命令,例如:bash- 2. 05b# restore - qtvf u805874. csm. hpsnm. bf f new vol ume on u805874. csm. hpsnm. bf f :cl ust er 5 1 200 bytes (100 bl ocks).vol ume number 1dat e of backup:fi i es backed upuser bui ld0 ./1113 .11 pp_name0 ./usr0 . / usr/1 pp0 ./usr/i pp/16682 ./usr/0 . /usr/1 pp/1178 ./usr/itue

31、 oct 11 13:01:35 2005 by nameh p s n m/ c s m. h p s n m/ 1. 4. 1. 12csm.i pp/ csm. hpsnm/csm hpsnm/ 1. 4.1. 1 2/ i i bl pp. a csm. hpsnm/ csm. hpsnm/ "i. 4. 1. 1 21 i nst pp/ csm. hpsnm/ csm. hpsnm/ 1.4. 1. 1 21 i_r ootnst _r oot /1 i bl pp. aar68 1 2032 . / usr/websm/codebase/pl ugi nj ars/hsc jtotal si ze: 7882689 1files ar chi ved: 54问6:如何从一个fi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论