rpm包依赖关系的解除: 在我们安装某一个rpm包的时候,系统有可能提示某一个库文件或者rpm的支持,当想在安装需要该rpm包倚赖的这个库文件或者rpm包时,该库文件或者rpm包又依赖另外的文件或rpm包,导致安装很难快速解决包之间的以来关系达到安装需要的组件的目的。redhat提供的解决方案,安装依赖关系库,就可以解决此问题,该文件可以用find -name rpmdb* 在rpm包所在文件夹中找到,然后运行rpm -ivh --aid abc.rpm,abc.rpm为需要安装的包即可。当然复杂的时候还需要手动解决少数包依赖关系,简单的情况下,可以一次性解决所有以来关系。 应用,平台:AS3 samba的安装 进入samba的rpm包所在目录执行 # rpm -ivh --aid samba*.rpm (一定要安装rpmdb后才可以用这种方式安装排除依赖关系) 该命令会自动把依赖关系中需要安装的包都安装上,包括: cups-libs-1.1.17-13.3.6.rpm samba-common-3.0.0-14.3E.i386.rpm samba-3.0.0-14.3E.i386.rpm samba-client-3.0.0-14.3E.i386.rpm 可以很简单地解决直接安装samba-3.0.0-14.3E.i386.rpm或者samba-client-3.0.0-14.3E.i386.rpm对samba-common-3.0.0-14.3E.i386.rpm 的依赖,而安装samba-common-3.0.0-14.3E.i386.rpm 出现对都libcups.so.2库文件的依赖,而且该库文件所在的rpm包无法很快确定 上述方法可以很快解决依赖关系 应用2 平台 AS3 在安装linux系统时可能会觉得开发工具是不需要的,后续在安装apache或者其他tar.gz格式的软件时,会瞪圆眼睛,想再安装gcc库时不是缺少这个文件就是缺少那个文件。实在恨不得直接重新安装系统。现在可以比较简单地解决了。 [root@vpc-test RPMS]# rpm -ivh -aid gcc*.rpm warning: gcc-3.2.3-20.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e error: Failed dependencies: cpp = 3.2.3-20 is needed by gcc-3.2.3-20 glibc-devel >= 2.2.90-12 is needed by gcc-3.2.3-20 libstdc -devel = 3.2.3 is needed by gcc-c -3.2.3-20 libstdc -ssa = 3.5ssa is needed by gcc-c -ssa-3.5ssa-0.20030801.41 libstdc -ssa-devel = 3.5ssa is needed by gcc-c -ssa-3.5ssa-0.20030801.41 libf2c = 3.2.3-20 is needed by gcc-g77-3.2.3-20 libgnat = 3.2.3-20 is needed by gcc-gnat-3.2.3-20 libgcj-devel >= 3.2.3 is needed by gcc-java-3.2.3-20 zlib-devel is needed by gcc-java-3.2.3-20 libgcj-ssa >= 3.5ssa is needed by gcc-java-ssa-3.5ssa-0.20030801.41 libgcj-ssa-devel >= 3.5ssa is needed by gcc-java-ssa-3.5ssa-0.20030801.41 glibc-devel is needed by gcc-ssa-3.5ssa-0.20030801.41 libgcc-ssa >= 3.5ssa-0.20030801.41 is needed by gcc-ssa-3.5ssa-0.20030801.41 Suggested resolutions: cpp-3.2.3-20.i386.rpm glibc-devel-2.3.2-95.3.i386.rpm libf2c-3.2.3-20.i386.rpm libgcc-ssa-3.5ssa-0.20030801.41.i386.rpm libgcj-devel-3.2.3-20.i386.rpm libgcj-ssa-3.5ssa-0.20030801.41.i386.rpm libgcj-ssa-devel-3.5ssa-0.20030801.41.i386.rpm libgnat-3.2.3-20.i386.rpm libstdc -devel-3.2.3-20.i386.rpm libstdc -ssa-3.5ssa-0.20030801.41.i386.rpm libstdc -ssa-devel-3.5ssa-0.20030801.41.i386.rpm zlib-devel-1.1.4-8.1.i386.rpm 安装如下过程 Suggested resolutions: cpp-3.2.3-20.i386.rpm ok libgcj-ssa-3.5ssa-0.20030801.41.i386.rpm ok libf2c-3.2.3-20.i386.rpm ok libgcc-ssa-3.5ssa-0.20030801.41.i386.rpm OK libgcj-devel-3.2.3-20.i386.rpm ok libgnat-3.2.3-20.i386.rpm OK libstdc -devel-3.2.3-20.i386.rpm OK libstdc -ssa-3.5ssa-0.20030801.41.i386.rpm Ok libstdc -ssa-devel-3.5ssa-0.20030801.41.i386.rpm OK zlib-devel-1.1.4-8.1.i386.rpm libgcj-ssa-devel-3.5ssa-0.20030801.41.i386.rpm OK(依赖libgcj-ssa-3.5ssa-0.20030801.41.i386.rpm OK) glibc-devel-2.3.2-95.3.i386.rpm OK(依赖glibc-headers-2.3.2-95.3.i386.rpm ok(依赖glibc-kernheaders-2.4-8.34.i386.rpm OK)) 上述几个包是手动按照suggest逐个安装的,括号里代表前者以来后者,先安装后者在安装前者。然后在gcc所在的目录执行下面命令,很快就可以顺利安装完成 [root@vpc-test RPMS]# rpm -ivh --aid gcc*.rpm warning: gcc-3.2.3-20.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e Preparing... ########################################### [100%] 1:gcc ########################################### [ 8%] 2:gcc-ssa ########################################### [ 17%] 3:zlib-devel ########################################### [ 25%] 4:gcc-c ########################################### [ 33%] 5:gcc-c -ssa ########################################### [ 42%] 6:gcc-g77 ########################################### [ 50%] 7:gcc-g77-ssa ########################################### [ 58%] 8:gcc-gnat ########################################### [ 67%] 9:gcc-java ########################################### [ 75%] 10:gcc-java-ssa ########################################### [ 83%] 11:gcc-objc ########################################### [ 92%] 12:gcc-objc-ssa ########################################### [100%] 在AS4中测试gcc的依赖关系简单得多,直接rpm -ivh --aid gcc*.rpm就可以搞定了。 |
|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )
GMT+8, 2024-9-29 23:36 , Processed in 0.178924 second(s), 12 queries , Gzip On, MemCache On.
Powered by Discuz! X3.5
© 2001-2023 Discuz! Team.