
我必須在無法存取儲存庫的 CentOS 6.5 電腦上為 vnc 伺服器安裝一些軟體包(因此我必須使用 sftp 傳輸我需要的 rpm 軟體包)。
當我嘗試安裝軟體包 libX11-1.6.0-6 時,出現以下錯誤:
錯誤:依賴項失敗:libxcb < 1.9.1-3 與 libX11-1.6.0-6.el6.i686 衝突
所以我將 libxcb 升級到了請求的版本,但仍然遇到相同的錯誤。我嘗試使用 --nodeps 強制安裝 libX11,但現在我沒有以下函式庫:libxcb-glx.so.0 和 libxcb.so.1。
嘗試重新安裝、升級或降級 libxcb 來恢復庫已被證明是不成功的。
我該怎麼辦 ?
答案1
該訊息告訴您,libxcb
與 相衝突libX11
。後者可以是獨立的,或者(在軟體包衝突的情況下)使用libxcb
來替換部分的libX11
。這樣做需要一個不同的包libX11
。
可能的情況是混合來自不同儲存庫的套件,如本討論中所示:我無法更新centos 6.6。錯誤:包:並且重複。 其中,有人試圖強制他們的系統使用來自不同儲存庫的套件(可能與您的情況相同)。
如果您確實需要備用儲存庫,唯一的前進方法就是替換全部最終依賴的套件libxcb
(libX11
, 套件取決於它,等等)。否則,您的系統會不一致,並且會以意想不到的方式損壞(例如無法升級)。
為此,您必須先找到依賴套件:
- 列出 Yum 中依賴另一個已安裝軟體包的軟體包(如果您的系統具有兩組儲存庫的工作儲存庫,則很有用)
- Re: 查詢所有依賴套件
rpm
提到了(--whatrequires
和)的兩個選項--whatprovides
,您可以使用它們來分析損壞的系統)。