`
IThead
  • 浏览: 428194 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

安装rpm包时遇到error: Failed dependencies

阅读更多
在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
0
0
分享到:
评论

相关推荐

    expect-5.43.0-8.el5.x86_64

    标题“expect-5.43.0-8.el5.x86_64”指的是一个特定版本的Expect软件包,适用于Linux系统,特别是RPM(Red Hat Package Manager)格式的系统,...在进行安装时,务必确保你的系统与RPM包的架构匹配,以避免兼容性问题。

    oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm

    oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm

    kde-l10n-4.10.5-2.el7.noarch.rpm

    离线安装包,亲测可用

    CentOS-6.8-x86_64-minimal安装oracle11gR2_x86_64所需所有rpm包

    error: Failed dependencies: pdksh conflicts with ksh-20120801-37.el6_9.x86_64 # 名称可能不一样 先删除这个提示的冲突包(具体名称看报错提示): [root@localhost ~]# rpm -e ksh-20120801-37.el6_9.x86_64 ...

    containerd.io-1.3.7-3.1.el8.x86_64.rpm

    Centos8 安装 Docker 遇到问题的问题: Problem: package docker-ce-3:19.03.13-3.el7.x86_64 requires containerd.io >= 1.2.2-3, but none of the providers can be installed

    redhat 安装yum的4个rpm

    [root@XAYQ-Test2 opt]# rpm -ivh python-iniparse-0.3.1-...error: Failed dependencies: yum-metadata-parser >= 1.1.0 is needed by yum-3.2.29-40.el6.centos.noarch 注意最后两个包必需同时安装,否则会相互依赖

    uuid-devel-1.6.1-10.el6.i686.rpm

    uuid-devel-1.6.1-10.el6.i686.rpm

    详解使用rpm命令从CentOS系统盘安装计划任务程序crontab

    本文将详细介绍如何在基于RPM包管理的CentOS系统上使用`rpm`命令来安装`crontab`。`crontab`允许用户设定周期性被执行的任务,比如定时备份、系统日志清理等。 首先,让我们了解`crontab`的基本概念。`crontab`是...

    centos安装telnet插件与说明

    centos直接安装telnet-server-0.17-47.el6.x86_64.rmp会报错 “error: Failed dependencies:xinetd is needed by 解决办法: 1、先安装xinetd包 rpm -ivh xinetd-2.3.14-10.el5.x86_64.rpm 2、启动xinetd ...

    gcc-4.4.7-3.el6.x86_64.rpm

    oracle依赖包 gcc-4.4.7-3.el6.x86_64.rpm

    clickhouse-22.2.2.1-2.x86_64.rpm离线安装包

    clickhouse-22.2.2.1-2.rpm离线安装包包含clickhouse-common-static-22.2.2.1-2.x86_64.rpm,clickhouse-client-22.2.2.1-2.noarch.rpm,clickhouse-server-22.2.2.1-2.noarch.rpm共3个离线安装rpm包。 安装: rpm -...

    centos安装telnet使用

    centos直接安装telnet-server-0.17-47.el6.x86_64.rmp会报错 “error: Failed dependencies:xinetd is needed by 解决办法: 1、先安装xinetd包 rpm -ivh xinetd-2.3.14-10.el5.x86_64.rpm 2、启动xinetd ...

    esl-erlang-26.0.2x86-64.zip

    宝塔安装RabbitMQ提示elang环境没有解决方法 ...------------------------------------------------------------------ ...error: Failed dependencies: 那就将这个 文件名字改成 esl-erlang_26.0.2-1~alinux~3_x

    abrt-python-2.1.11-60.el7.centos.x86_64 (1).rpm

    离线安装包,测试可用

    qpid-proton-c-docs-0.22.0-1.el7.noarch.rpm

    官方离线安装包,亲测可用

    wkhtmltox-0.12.6-1.centos7.x86_64.rpm

    wkhtmltopdf的官方安装包,注意是centos7系统的。其它版本请查看官方下载链接https://wkhtmltopdf.org/downloads.html

    nmap-7.92-1.x86_64.rpm

    nmap-7.92-1.x86_64.rpm

    gcc-c++-4.4.7-16.el6.x86_64.rpm

    error: Failed dependencies: gcc = 4.4.7-3.el6 is needed by gcc-c++-4.4.7-3.el6.x86_64 libstdc++ = 4.4.7-3.el6 is needed by gcc-c++-4.4.7-3.el6.x86_64 libstdc++-devel = 4.4.7-3.el6 is needed by gcc-...

    storm安装所需

    error: Failed dependencies: autoconf >= 2.58 is needed by libtool-2.2.6-15.5.el6.x86_64 automake >= 1.4 is needed by libtool-2.2.6-15.5.el6.x86_64 rpm -ivh autoconf-2.63-5.1.el6.noarch.rpm rpm -ivh...

    libreOffice rpm安装包

    5. **安装RPM包**: 解压后,你会看到一系列`.rpm`文件,如`libreoffice-x.x.x.x.rpm`等。使用`yum`或`dnf`(取决于你的Linux发行版)来安装这些文件。例如: ``` sudo yum install libreoffice-x.x.x.x.rpm 或 ...

Global site tag (gtag.js) - Google Analytics