AIX如何管理LPP及强制删除LPP
程序员文章站
2024-01-31 08:34:52
...
复杂度3/5
机密度4/5
最后更新2021/04/29
前面介绍过LPP是AIX的程序包,AIX近几年来(可能也有十多年了)为了方便技术支持,大补丁、升级、新安装等操作时,几乎都是强制标准安装模式,除了一些辅助性的功能包,把所有的LPP程序包都会安装进去。有时即使已经采用了选择性安装,在AIX的包管理机制中会检查哪些包没有装,在相关安装时会一并安装进去。如果系统来回增删了几次,有可能各个包之间的依存关系发生混乱,导致无法强制覆盖、无法安装。尽管AIX的包依赖管理比Linux简单很多,也不会有Linux那么多散碎的依赖关系(这也是AIX强制整体安装的结果吧?),意外总可能发生,就需要手工干预了。
其实AIX使用四个ODM对其安装的所有包进行管理,此处指通过lslpp能看到的安装包。AIX也支持rpm,所有通过rpm安装的程序不在此列。另外,非IBM AIX操作系统集成的的软件也不在此列,例如几乎所有第三方程序都有自己的管理方案,不在本节讨论范围之内。
AIX的LPP包信息保存在4个ODM中,分别是lpp,product,history,inventory。强烈建议直接修改odm之前进行odm备份,无需复杂备份,直接copy一份到其它目录即可,当然也可以使用saveodm命令。下面其他步骤用来将出现问题的lpp包从管理信息中强制删除,这样再此之后可以再次安装,就不会有什么依赖冲突了。
- Backup the odm
# /usr/lib/instl/saveodms
- Remove from /usr/lib/objrepos
# export ODMDIR=/usr/lib/objrepos
# odmget -q name=<fileset_name> lpp -> 记录下有问题包的 "lppid#"
# odmdelete -q name=<fileset_name> -o lpp
# odmdelete -q lpp_name=<fileset_name> -o product
# odmdelete -q lpp_id= <lppid# from above> -o history
# odmdelete -q lpp_id= <lppid# from above> -o inventory
- Remove from /etc/objrepos
# export ODMDIR=/etc/objrepos
# odmget -q name=<fileset_name> lpp -> take note of the "lppid#"
# odmdelete -q name=<fileset_name> -o lpp
# odmdelete -q lpp_name=<fileset_name> -o product
# odmdelete -q lpp_id= <lppid# from above> -o history
# odmdelete -q lpp_id= <lppid# from above> -o inventory
- 执行lppchk -v 看看是否还有错误提示,如果没问题,可以重新安装以前出现问题的程序包。
上一篇: mysql的一些方法和例子
下一篇: mysql
推荐阅读