2014-03-25 948 views
2

當我嘗試執行「yum更新」時,出現錯誤,我不確定如何解決。以下是錯誤消息:Linux CentOS YUM錯誤軟件包需要 - libcrypto.so.10(OPENSSL_1.0.1_EC)(64bit)

--> Finished Dependency Resolution 
Error: Package: nginx-1.4.7-1.el6.ngx.x86_64 (nginx) 
      Requires: libcrypto.so.10(OPENSSL_1.0.1_EC)(64bit) 

當我嘗試升級(我認爲這是最好的前進步驟)就這些我沒有「無關」 - 喜歡用下面一行:

像:

sudo yum reinstall openssl 

或:

sudo yum install http://mirror.centos.org/centos/6/os/x86_64/Packages/openssl-1.0.1e-15.el6.x86_64.rpm 

Examining /var/tmp/yum-root-qbBKfF/openssl-1.0.1e-15.el6.x86_64.rpm: openssl-1.0.1e-15.el6.x86_64 
/var/tmp/yum-root-qbBKfF/openssl-1.0.1e-15.el6.x86_64.rpm: does not update installed package. 
Error: Nothing to do 

我試圖清理出YUM數據庫

rpm -e --justdb --nodeps openssl 

sudo rpm -ivh --force http://mirror.centos.org/centos/6.5/updates/x86_64/Packages/openssl-1.0.1e-16.el6_5.4.x86_64.rpm 

而這些似乎都提上了所需的軟件包當我運行「轉-q --provides OpenSSL的」,但是我在這裏領取YUM此錯誤消息:

sudo yum update 
There was a problem importing one of the Python modules 
required to run yum. The error leading to this problem was: 

    /lib64/libcrypto.so.10: version `OPENSSL_1.0.1_EC' not found (required by /usr/lib64/libssl.so.10) 

Please install a package which provides this module, or 
verify that the module is installed correctly. 

It's possible that the above module doesn't match the 
current version of Python, which is: 
2.6.9 (unknown, Feb 24 2014, 11:42:49) 
[GCC 4.6.3 20120306 (Red Hat 4.6.3-2)] 

If you cannot solve this problem yourself, please go to 
the yum faq at: 
    http://yum.baseurl.org/wiki/Faq 

任何人都可以提出任何其他事情,我應該嘗試?

我似乎無法更新,強制更新,清理Yum DB並重新安裝。乾淨的數據庫和強制確實打開了包,但是他們無法找到它需要的OPENSSL_1.0.1_EC包。

我試圖與這2包升級:

http://mirror.centos.org/centos/6.5/updates/x86_64/Packages/openssl-1.0.1e-16.el6_5.4.x86_64.rpm 
http://mirror.centos.org/centos/6/os/x86_64/Packages/openssl-1.0.1e-15.el6.x86_64.rpm 
+2

從Cent OS論壇:[試圖更新OpenSSL,現在所有東西都被破壞](https://www.centos.org/forums/viewtopic.php?f=14&t=44075)。 – jww

+0

是的那篇文章很好 - 發現我不得不在強制升級後交換文件,它一切正常...... thx – user1105192

回答

3

你似乎有安裝的非股票OpenSSL的包,因爲他下降的OpenSSL 1.0.1e他們不提供OPENSSL_1.0.1_EC(也許ptudor的?) /version.map.fips-ec。

一個可能的解決辦法是添加提供您的自定義OpenSSL的包是這樣的:

--- openssl-1.0.1e-version.patch  2014-06-06 11:52:55.772046103 +0200 
+++ new_openssl-1.0.1e-version.patch 2014-06-06 11:52:40.854045438 +0200 
@@ -61,4 +61,12 @@ 
+   _original*; 
+   _current*; 
+}; 
++OPENSSL_1.0.1_EC { 
++ global: 
++   EC*; 
++}; 

應添加所需提供的lib。我向他提供了這個解決方案,但他不喜歡它。

https://github.com/ptudor/centos6-openssl/issues/4

否則你必須重建nginx的包來對您的自定義OpenSSL的鏈接。

+0

對於任何未來遇到此問題的人,我建議先到https://github.com/ptudor/centos6-openssl並重建你的openssl二進制文件。我假設ptudor會接受我的pull請求,在這種情況下,有一個openssl-1.0.1i教程 – richbria90