国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Linux > 正文

linux中yum更新遇到依賴錯誤問題解決辦法

2024-08-27 23:59:09
字體:
來源:轉載
供稿:網友

Yum(全稱為 Yellow dog Updater, Modified)是一個在Fedora和RedHat以及CentOS中的Shell前端軟件包管理器,基于RPM包管理,能夠從指定的服務器自動下載RPM包并且安裝,可以自動處理依賴性關系,并且一次安裝所有依賴的軟件了,但小編在使用yum更新遇到依賴錯誤了,下面給各位整理這些問題與處理辦法.

redhat系列linux系統的yum,有時會出現錯誤的依賴,用linux早期,遇到該類問題簡直是束手無策,無奈之下會在yum的“教唆“下使用“--skip-broken”參數,有時確實可以解決問題,但有時的后果,可以把系統玩兒壞,下次啟動無法啟動,或出現其它莫名其妙的問題.

列一個典型的錯誤依賴消息如下:

--> 正在處理依賴關系 /usr/sbin/ldconfig,它被軟件包 libva1-1.3.1-11.el7.x86_64 需要

--> 正在處理依賴關系 /usr/sbin/ldconfig,它被軟件包 libmad0-0.15.1b-4.el7.x86_64 需要

--> 正在處理依賴關系 /usr/sbin/ldconfig,它被軟件包 librtmp0-2.3-1.el7.x86_64 需要

--> 正在處理依賴關系 /usr/sbin/ldconfig,它被軟件包 libx264_142-0.142-20_20140406.2245.el7.x86_64 需要

--> 正在處理依賴關系 /usr/sbin/ldconfig,它被軟件包 libxvidcore4-1.3.2-15.el7.x86_64 需要

.......

  1. 錯誤:軟件包:libmad0-0.15.1b-4.el7.x86_64 (@atrpms) 
  2.  
  3.           需要:/usr/sbin/ldconfig 
  4.           正在刪除: glibc-2.17-55.el7_0.1.i686 (@updates) 
  5.               未找到 
  6.           更新,由: glibc-2.17-55.el7_0.3.i686 (updates) 
  7.               未找到 
  8. 錯誤:軟件包:librtmp0-2.3-1.el7.x86_64 (@atrpms) 
  9.           需要:/usr/sbin/ldconfig 
  10.           正在刪除: glibc-2.17-55.el7_0.1.i686 (@updates) 
  11.               未找到 
  12.           更新,由: glibc-2.17-55.el7_0.3.i686 (updates) 
  13.               未找到 

您可以嘗試添加 --skip-broken 選項來解決該問題

您可以嘗試執行:rpm -Va --nofiles --nodigest

看到了最后兩行了吧,通常別聽信它,小心,為了優雅的處理類似錯誤依賴的問題,要搞先了解一下該問題的原因,通常是在自己手動安裝了一些非官方rpm包,或使用了多個yum源所致,尤其是升級安裝了新版本的包,例如,在centos里為了安裝某些軟件而使用fedora里的包升級了系統自帶的包.

個人經驗如下:

先移除/etc/yum.repo.d/下非系統官方的源,備份到其它目錄里,處理好問題后還移回來繼續用.

yum list 查看系統都有哪些源的包,除了@base @anaconda @updates 之外的,都要留意一下,按“靠譜”程度從低到高逐漸移除。這里的“靠譜程度”,要憑一些經驗的。 如本文前面列出錯誤依賴的這個例子,本人用了好多個源的包,@epel @atrpms  @nux-dextop @google-chrome 等這幾個第三方源,epel是很高質量的,google-chrome 只有chrome瀏覽器,其它幾個就是不太靠譜的,先移除它們。

檢查yum list列出的包名,是否用了fedora,或非本機架構的等的包(如x64系統下686的包),yum erase移除它們。卸載包時,注意著,別把重要的系統包卸載了。千萬別這樣帶-y 參數據 yum erase  {包名}  -y,yum erase 卸載某個包時,系統提示會提示都移除哪些包,如果看著不對勁就按 N

最后,你會找到出問題的那個包名,即提示錯誤依賴的信息.

  1. --> 正在處理依賴關系 /usr/sbin/ldconfig,它被軟件包 libbluray1-0.4.0-6.el7.x86_64 需要 
  2. --> 解決依賴關系完成 
  3. 錯誤:軟件包:libbluray1-0.4.0-6.el7.x86_64 (@atrpms) 
  4.           需要:/usr/sbin/ldconfig 
  5.           正在刪除: glibc-2.17-55.el7_0.1.x86_64 (@updates) 
  6.               未找到 
  7.           更新,由: glibc-2.17-55.el7_0.3.x86_64 (updates) 
  8.               未找到  //Vevb.com 

您可以嘗試添加 --skip-broken 選項來解決該問題

您可以嘗試執行:rpm -Va --nofiles --nodigest

會類似上面所示,只是少數一兩個包,嘗試卸載一下看看.

[root@fsc ~]# rpm -e libbluray1-0.4.0-6.el7.x86_64

錯誤:依賴檢測失敗:

  1. libbluray.so.1()(64bit) 被 (已安?) gvfs-1.16.4-7.el7.x86_64 需要 
  2. libbluray.so.1()(64bit) 被 (已安?) gvfs-fuse-1.16.4-7.el7.x86_64 需要 
  3. libbluray.so.1()(64bit) 被 (已安?) gvfs-afc-1.16.4-7.el7.x86_64 需要 
  4. libbluray.so.1()(64bit) 被 (已安?) gvfs-gphoto2-1.16.4-7.el7.x86_64 需要 
  5. libbluray.so.1()(64bit) 被 (已安?) gvfs-goa-1.16.4-7.el7.x86_64 需要 
  6. libbluray.so.1()(64bit) 被 (已安?) gvfs-mtp-1.16.4-7.el7.x86_64 需要 
  7. libbluray.so.1()(64bit) 被 (已安?) gvfs-smb-1.16.4-7.el7.x86_64 需要 
  8. libbluray.so.1()(64bit) 被 (已安?) gvfs-afp-1.16.4-7.el7.x86_64 需要 
  9. libbluray.so.1()(64bit) 被 (已安?) gvfs-archive-1.16.4-7.el7.x86_64 需要 
  10. libbluray.so.1()(64bit) 被 (已安?) libbluray-0.4.0-6.el7.x86_64 需要 
  11. libbluray1 = 0.4.0-6.el7 被 (已安?) libbluray-0.4.0-6.el7.x86_64 需要 

那查查系統里該包是什么版本吧 rpm -q {包名}

上面例子里,該包是atrpms源的包,比centos源里的包新。回憶時當時為了安裝smplayer,裝了一系列atrpms的包,而印象中,atrpms源有時會升級centos的包,所以就造成了yum update 升級系統時造成錯誤依賴。到centos鏡像里下載這個rpm包,rpm --force  -Uvh {包文件路徑}覆蓋安裝一下,然后再yum更新試試。

如果沒有問題,那就好了,再把yum 源的配置文件移回去,重新yum makecache,然后根據剛才卸載的包的記錄,把它們安裝上,可參考history 命令的記錄.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 甘谷县| 婺源县| 陆河县| 安陆市| 南澳县| 林西县| 平遥县| 奈曼旗| 石台县| 平山县| 罗山县| 屏东市| 邵武市| 康平县| 都昌县| 巴彦淖尔市| 深水埗区| 邻水| 民权县| 介休市| 社旗县| 阳原县| 康定县| 耿马| 蛟河市| 辉县市| 汕头市| 琼海市| 隆昌县| 易门县| 定结县| 合江县| 卫辉市| 集贤县| 广河县| 依安县| 交口县| 北碚区| 海口市| 南丰县| 岳西县|