如何通过rpm复制yum命令?

时间:2015-04-14 18:47:52

标签: linux centos rpm yum

我想通过'rpm'命令安装一些RPM,类似于'yum install'完成任务的方式。

我已通过命令

下载了RPM和所有必需的依赖项
yum install --downloadonly --downloaddir=. <package>

但是当我发出命令

rpm -ivh *.rpm

RPM无法安装引用失败依赖项,如下所示:

[18:45:05][root][~/test]$ rpm -ivh *
warning: authconfig-6.1.12-13.22.amzn1.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 21c0f39f: NOKEY
error: Failed dependencies:
        dbus-python <= 0.83.0-6.1.11.amzn1 is obsoleted by dbus-python26-0.83.0-6.1.13.amzn1.x86_64
        yum-updatesd <= 1:0.9-13.14.amzn1 conflicts with dbus-python27-0.83.0-6.1.13.amzn1.x86_64
        dbus-python <= 0.83.0-6.1.11.amzn1 conflicts with dbus-python27-0.83.0-6.1.13.amzn1.x86_64
        yum-updatesd <= 1:0.9-13.14.amzn1 conflicts with gamin-python-0.1.10-16.14.amzn1.x86_64
        newt-python <= 0.52.11-3.7.amzn1 is obsoleted by newt-python26-0.52.11-3.11.amzn1.x86_64
        yum-updatesd <= 1:0.9-13.14.amzn1 conflicts with pygobject2-2.20.0-5.14.amzn1.x86_64
        authconfig <= 6.1.12-13.17.amzn1 conflicts with python26-2.6.9-1.80.amzn1.x86_64
        gamin-python <= 0.1.10-9.8.amzn1 conflicts with python26-2.6.9-1.80.amzn1.x86_64
        mcstrans <= 0.3.1-4.7.amzn1 conflicts with python26-2.6.9-1.80.amzn1.x86_64
        python-urlgrabber <= 3.9.1-9.10.amzn1 conflicts with python26-2.6.9-1.80.amzn1.x86_64
        yum <= 3.4.3-137.51.amzn1 conflicts with python26-2.6.9-1.80.amzn1.x86_64
        yum-updatesd <= 1:0.9-13.14.amzn1 conflicts with python26-2.6.9-1.80.amzn1.x86_64
        python = 1:2.6-2.26.amzn1 is obsoleted by python26-2.6.9-1.80.amzn1.x86_64
        python-iniparse <= 0.3.1-2.1.7.amzn1 is obsoleted by python26-iniparse-0.3.1-2.1.9.amzn1.noarch
        python-pycurl <= 7.19.0-17.9.amzn1 is obsoleted by python26-pycurl-7.19.0-17.12.amzn1.x86_64
        pygpgme <= 0.1-18.20090824bzr68.8.amzn1 is obsoleted by python26-pygpgme-0.3-9.12.amzn1.x86_64
        pyliblzma <= 0.5.3-11.4.amzn1 is obsoleted by python26-pyliblzma-0.5.3-11.6.amzn1.x86_64
        pyxattr <= 0.5.0-1.4.amzn1 is obsoleted by python26-pyxattr-0.5.0-1.6.amzn1.x86_64
        python-urlgrabber <= 3.9.1-9.10.amzn1 is obsoleted by python26-urlgrabber-3.9.1-9.13.amzn1.noarch
        python = 1:2.6-2.26.amzn1 conflicts with python27-2.7.9-4.115.amzn1.x86_64
        python-urlgrabber <= 3.9.1-9.10.amzn1 conflicts with python27-urlgrabber-3.9.1-9.13.amzn1.noarch
        rpm-python <= 4.11.2-2.60.amzn1 is obsoleted by rpm-python26-4.11.2-2.64.amzn1.x86_64
        yum-updatesd <= 1:0.9-13.14.amzn1 conflicts with yum-3.4.3-137.57.amzn1.noarch
        yum-plugin-priorities <= 1.1.31-18.17.amzn1 conflicts with yum-3.4.3-137.57.amzn1.noarch
        yum-plugin-upgrade-helper <= 1.1.31-18.17.amzn1 conflicts with yum-3.4.3-137.57.amzn1.noarch
        yum <= 3.4.3-137.51.amzn1 conflicts with yum-metadata-parser-1.1.4-8.12.amzn1.x86_64
        rpm-python <= 4.11.2-2.63.amzn1 is obsoleted by yum-python26-3.4.3-137.57.amzn1.noarch

2 个答案:

答案 0 :(得分:1)

您应该使用-U标记(升级)而不是-i安装):

rpm -Uvh *.rpm

原因是您下载的软件包中有一些已在本地安装,但在旧版本中。使用-i时,这些包不会升级,因此依赖性会与未满足的依赖项冲突。

答案 1 :(得分:0)

尝试--aid开关

rpm -ivh --aid

注意:确保您安装了rpmdb-redhat个包。