在linux下安装rpm包时经常会遇到下面这个问题:

error: Failed dependencies:

.....................................................

省略号表示安装此rpm缺少的包。

遇到此问题时可以在安装rpm包命令的后面加两个参数,如:

rpm -ivh libstdc++5.0-3.3.3-62745cl.i386.rpm

改成:

rpm -ivh libstdc++5.0-3.3.3-62745cl.i386.rpm --nodeps --force



加上那两个参数的意义就在于,

安装时不再分析包之间的依赖关系而直接安装,

也就不会再提示error: Failed dependencies:这样的错误了

在RedHat Linux和Mandrake等兼容RedHat的发行版中,整个发行版都是利用RPM安装的。所以安装新软件的最好方



法是从网络上下载rpm包。

1)用RPM安装软件包,最简单的命令如下:



# rpm -ivh foo-1.0-l.i386.rpm (这里讲的软件包是foo-1.0-l.i386.rpm,以下都是)



foo####################



下面rpm就会输出该软件包的名称,并显示一个状态条。安装很简单。



2)拆除已安装的软件包

要反安装软件包foo,只需输入以下这行命令:



# rpm -e foo



注意:软件包名是foo,而不是rpm文件名"foo-1.0-l.i386.rpm"。



3)升级软件包

升级软件类似于安装软件:



# rpm -Uvh foo-2.0-l.i386.rpm



foo####################



用户要注意的是:rpm会自动反安装相应软件包的老版本。如果老版本软件的配置文件通新版本的不兼容,rpm会自动将其保存为另外一个文件,用户会看到下面的信息:



saving /etc/foo.conf as /etc/foo.conf.rpmsave



这样用户就可以自己手工去更改相应的配置文件。

另外如果用户要安装老版本的软件,用户就会看到下面的出错信息:



# rpm -Uvh foo-1.0-l.i386.rpm



foo packag foo-2.0-l(which is newer) is already installed



error:foo-1.0-l.i386.rpm cannot be installed



如果用户要抢行安装就使用-oldpackage参数。



4)查询软件包

用户可以用rpm -q在rpm的数据库中查询相应的软件,rpm会给出软件包的名称,版本,发布版本号,例如:



# rpm -q foo



foo-2.0-l



下面是查询时可以使用的特定参数:

-a 查询目前系统安装的所有软件包。

-f 文件名查询包括嘎文件的软件包。

-F 同-f参数,只是输入是标准输入(例如 find /usr/bin | rpm -qF)

-q 软件包名 : 查询该软件包

-Q 同-p参数,只是输入是标准输入(例如 find /mnt/cdrom/RedHat/RPMS | rpm -qQ)

下面是输出时的格式选择:

-i 显示软件包的名称,描述,发行,大小,编译日期,安装日期,开发人员等信息。

-l 显示软件包包含的文件

-s 显示软件包包含的文件目前的状态,只有两种状态:normal和missing

-d 显示软件包中的文档(如man,info,README等)

-c 显示软件包中的配置文件,这些文件一般是安装后需要用户手工修改的,例如:sendmail.cf,passwd,inittab等

如果用-v参数就可以得到类似于ls -l的输出



5)用rpm校验软件包 

用户可以用rpm来校验已经安装的软件包,rpm可以校验文件大小、MD5校验码、文件权限、类型和属主等信息。

下面是校验时的参数说明:

-a 简单校验软件包中的文件是否存在

-b 校验软件包中的单个文件

-c 校验安装的所有软件包

-d 比较一个源软件包和已经安装的软件包



如果检验通过就没有任何出错信息,如果有出错信息,它的格式如下:出错信息是一个8位的字符串,如果是一个".",就代表没有问题,下面是相应的字符的意义:

5 MD5校验错

S 文件大小错

L 符号连接

T 文件修改时间错

D 设备文件错

U 用户名错

G 组名错

M 属性(包括改写权和文件类型)错

如果用户看到这些信息,最好重新安装或者手工修复。



++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++



rpm 实用技巧! 

1)用户可以通过FTP来安装软件包。如果用户能够连上网络,想安装某个新的软件包时,可以直接用它的URL地址来安装:

比如:现在在ftp.linuxsir.com/pub/linux/redhat/RPMS/下有这个文件包:foo-1.0-1.i386.rpm,那就可以用这样的命令: 



# rpm -i ftp.linuxsir.com/pub/linux/redhat/RPMS/foo-1.0-1.i386.rpm 



来安装,也可以查询! 



2)如果用户不小心巫山了几个文件,但不确定到底是那些文件,想对整个系统进行校验,以了解哪些部分可能已经损坏,可以用: 



# rpm -Va 



3)如果用户碰到一个人不出来的文件,想要知道它是属于那一个软件包的话,可以这样做: 



# rpm -qf /usr/X11R6/bin/xjewel 



结果会得到以下信息: 

xjewel-1.6-1 



4)如果用户得到一个新的RPM文件,却不清楚它的内容;或想了解某个文件包将会在系统里安装那些文件,可以这样做: 



# rpm -qpi koules-1.2-2.i386.rpm

安装rpm包时遇到error: Failed dependencies:错误的更多相关文章

  1. redhat 中安装rpm包时遇到异常 “error: Failed dependencies:xinetd is needed by .”

    redhat 中安装rpm包时遇到错误 “error: Failed dependencies:xinetd is needed by ....” redhat中安装rpm包时遇到“error: Fa ...

  2. 安装rpm包时提示错误:依赖检测失败的解决方法

    安装rpm包时提示错误:依赖检测失败 解决方法: 命令末尾加上--nodeps --force

  3. CentOS安装rpm包时error:Failed dependencies

    CentOS6.5安装rpm包时报错,error:Failed dependencies,解决方法如下: 在安装命令后加两个参数 --nodeps --force ,即安装时不再分析包之间的依赖关系而 ...

  4. 安装rpm包时遇到Header V3 DSA signature: NOKEY时解决办法

    安装rpm包,特别是没有GPGkey校验,原因是rpm版本过低导致的. 代码如下: warning: rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY ...

  5. 【Python】安装python包时遇到"error: Microsoft Visual C++ 9.0 is required"的简答

    简答 在Windows下用pip安装Scrapy报如下错误, error: Microsoft Visual C++ 9.0 is required (Unable to find vcvarsall ...

  6. 安装python包时遇到"error: Microsoft Visual C++ 9.0 is required"的简答

    简答 在Windows下用pip安装Scrapy报如下错误, error: Microsoft Visual C++ 9.0 is required (Unable to find vcvarsall ...

  7. 安装python包时遇到"error: Microsoft Visual C++ 9.0 is required"的简答(Python2.7)

    简答 在Windows下用pip安装Scrapy报如下错误, error: Microsoft Visual C++ 9.0 is required (Unable to find vcvarsall ...

  8. CentOS7安装rpm包时依赖检测失败,加上--nodeps --force

    安装mysql-community-server的时候,出现依赖检测失败 加上--nodeps --force后可跳过依赖检测,如下

  9. Linux下安装rpm出现error: Failed dependencies

    在Linux下安装rpm包时经常会遇到下面这个问题: error: Failed dependencies: xxxxxxxxxxxxxxxxxxxxxx 遇到此问题时可以在安装rpm包命令的后面加两 ...

随机推荐

  1. Python语言基础与应用 (P23)上机练习:容器类型操作(未完待续)

    上机练习:容器类型操作〉 列表.元组基本操作+, *, len(), [], in Python 3.7.0 (default, Jun 28 2018, 08:04:48) [MSC v.1912 ...

  2. python pandas字符串函数详解(转)

     pandas字符串函数详解(转)——原文连接见文章末尾 在使用pandas框架的DataFrame的过程中,如果需要处理一些字符串的特性,例如判断某列是否包含一些关键字,某列的字符长度是否小于3等等 ...

  3. 内存管理之栈stack

    1.什么是栈   栈是一种数据结构,C语言中使用栈来保存局部变量.栈是被发明出来管理内存的.2.栈管理内存的特点(小内存.自动化)   先进后出  FILO   first in last out   ...

  4. vue路由简单实用

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. JS—DOM操作

    节点分为三类: 1.元素节点:标签<div></div> 2.文本节点:标签内的纯文本. 3.属性节点:标签内的属性,id或class 查找元素: getElementById ...

  6. mysql慢SQL排查之show processlist和show full processlist

    mysql排查线上数据库问题,经常会用到 show processlist和show full processlist这两条命令 processlist命令的输出结果显示了有哪些线程在运行,不仅可以查 ...

  7. 微信小程序使用第三方FontIcon库的部分字体图标

    一.提取部分图标重新制作TTF字库 我没有使用网上大多数文章写的淘宝提供的fonticon,而只使用了Ionicons的几个图标,所以打开Ionicons的官网点击右上角的Designer pack下 ...

  8. CSP模拟赛2游记

    这次由于有课迟到30min,了所以只考了70min. 调linux配置调了5min,只剩下65min了. T1:有点像标题统计,但要比他坑一点,而且我就被坑了,写了一个for(int i=1;i< ...

  9. Centos7安装Xrdp远程桌面

    Xrdp是Microsoft远程桌面协议RDP的一个开源实现,它允许以图像方式控制远程系统. 测试环境 服务端: CentOS Linux release 7.7.1908 (Core) 客户端: W ...

  10. JSONP 跨域问题

    JSONP跨域请求   什么是跨域: 1.域名不同 2.域名相同端口不同 js出于对安全考虑不支持跨域请求.我们可以使用JSONP解决跨域问题. 一.JSONP是什么 JSONP(JSON with ...