最新消息:用博客记录点滴生活。与您共同关注互联网,分享互联网。

解决RPM包依赖及强制安装RPM包的方法

    在 Linux 操作系统下,几乎所有的软件均通过RPM进行安装、卸载及管理等操作。RPM的全称为Redhat Package Manager ,是由Redhat公司提出的,用于管理Linux 下软件包的软件。Linux 安装时,除了几个核心模块以外,其余几乎所有的模块均通过RPM 完成安装。

    但是常用RPM的朋友们都知道,RPM虽然简单易用,但是它的依赖关系是最头疼的!!有时候比方说A包需要B包,B包需要C包,C包需要A包。这个时候有以下几种方式可以解决:

1、强制安装

      我们可以使用附加命令rpm -i --force --nodeps强制安装。忽略依赖关系。这种方法你可以先装A包,再装B包,再装C包。这样还是有点隐患的,感觉不是很踏实(虽然其实目前没发现什么不好)。安装后使用成功的前提是:你要搞清楚依赖关系,并且把这些包都装好。好处是不用管它们的具体依赖关系先后顺序。

其他附加命令

--test 只对安装进行测试,并不实际安装。
--percent 以百分比的形式输出安装的进度。
--excludedocs 不安装软件包中的文档文件
--includedocs 安装文档
--replacepkgs 强制重新安装已经安装的软件包
--replacefiles 替换属于其它软件包的文件
--force 忽略软件包及文件的冲突
--noscripts 不运行预安装和后安装脚本
--prefix 将软件包安装到由 指定的路径下
--ignorearch 不校验软件包的结构
--ignoreos 不检查软件包运行的操作系统
--nodeps 不检查依赖性关系
--ftpproxy 用 作为 FTP代理
--ftpport 指定FTP的端口号为

2、使用Redhat提供的解决方案,安装rpmdb依赖关系库

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.rpmsamba-common-3.0.0-14.3E.i386.rpm的依赖,而安装sambacommon-3.0.0-14.3E.i386.rpm出现对都libcups.so.2库文件的依赖,而且该库文件所在的rpm包无法很快确定

3、一次性全装上— 一网打尽型

      可以把依赖的几个包拷出来放在同一个文件夹里 然后rpm -ivn *.rpm这样也可以 前提也是一个都不能少。

4、使用yum技术安装 –使用服务器方式

      yum是一个服务器资源技术。通过在线下载服务器资源的方式。 缺点:太繁琐。要设置一堆的东西。优点:设置以后,很方便,需要的大多数资源都可以从服务器上找到。


正文部分到此结束

声明:本文采用 BY-NC-SA 协议进行授权,转载还请注明:http://www.777s.me/rpm-force.html - 777's Blog

  • 暂无相关文章!