2015-04-14 36 views
1

我想通過'rpm'命令安裝一些RPM,類似於'yum install'完成任務的方式。如何通過rpm複製yum命令?

我已經下載了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 
+1

您似乎已經下載了較舊/不正確的軟件包。據推測,軟件包是針對python 2.4而不是python 2.6構建的,與當前安裝的軟件包一樣。 –

+1

'rpm -Uvh * .rpm' – arkascha

+0

好消息:如果您要求它安裝相同的RPM文件(例如,通過'yum localinstall * .rpm'),'yum'會表達等效的錯誤,所以您已經實現了目標。 –

回答

1

您應該使用-U標誌(升級),而不是-i安裝):

rpm -Uvh *.rpm 

的原因是包間,你下載的是一些已經在本地安裝,但在舊版本。這些軟件包在使用-i時不會升級,因此依賴關係會衝突出現未滿足的依賴關係。

0

嘗試--aid開關

rpm -ivh --aid 

注:請確保您有rpmdb-redhat包安裝。

+0

我無法在我的回購協議中找到。 – Setheron

+0

如果您沒有'RHN'帳戶,那麼您可以從第三方獲得它們,例如http://rpm.pbone.net/index.php3/stat/4/idpl/2394489/dir/redhat_6.x/ COM/rpmdb中,紅帽,6.1-0.19990924.i386.rpm.html' – Satish