修復「以下軟體包具有未滿足的依賴關係」的逐步過程是什麼?

修復「以下軟體包具有未滿足的依賴關係」的逐步過程是什麼?

我嘗試了一切,但沒有任何進展。聰明的靈魂能幫忙嗎?

當然只是sudo apt-get -f install不起作用,同樣的錯誤。

$ sudo apt-get install arping
[sudo] password for dloo:
Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
 arping : Depends: libnet1 (>= 1.1.2.1) but it is not going to be installed
          Depends: libpcap0.8 (>= 0.9.8) but it is not going to be installed
 libc-dev-bin : Depends: libc6 (< 2.16) but 2.17-0ubuntu4 is to be installed
 libc6-dev : Depends: libc6 (= 2.15-0ubuntu10.5) but 2.17-0ubuntu4 is to be installed
 libnih1 : PreDepends: libc6 (< 2.16) but 2.17-0ubuntu4 is to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

$ uname -a
Linux li366-234 2.6.39.1-x86_64-linode19 #1 SMP Tue Jun 21 10:04:20 EDT 2011 x86_64 x86_64 x86_64 GNU/Linux

$ cat /etc/issue
Ubuntu 11.04 \n \l

答案1

我不知道在這方面尋求幫助是否仍然與您相關,但這裡總結了在這種情況下可以採取的幫助措施(來自請造訪 Appuals (appuals.com)):

方法1:使用-f參數(我知道你已經這樣做了,但我把所有的東西都集中在這裡了)

sudo apt-get install -f
sudo dpkg --configure -a
sudo apt-get install -f 

方法2:使用Aptitude

sudo aptitude install PACKAGENAME

在哪裡PACKAGENAME是您要安裝的套件,然後按Enter執行它。這將嘗試透過 aptitude 而不是 apt-get 安裝軟體包,這可能會修復未滿足的依賴項問題。

方法3:確保restricted和universe儲存庫已啟用並嘗試更好的伺服器

software-properties-gtk
  • 在 Ubuntu Software 標籤中,確保所有儲存庫(main、universe、restricted、multiverse)均已啟用。
  • 按一下顯示「下載自」的伺服器列表,然後選擇
  • 按一下“選擇最佳伺服器”。
  • 同時按AltCtrlT開啟終端,然後輸入

    sudo apt-get update
    

    然後按運行完成後,嘗試再次安裝軟體。

方法4:清理包資​​料庫

sudo apt-get clean
sudo apt-get autoclean

方法 5:清除任何滯留的包裹

sudo apt-get -u dist-upgrade

那麼(如果是 pb):

sudo apt-get -o Debug::pkgProblemResolver=yes dist-upgrade

看看它是否解決了問題。如果X not upgraded最後以 退出,則在哪裡X是持有的包裹數量,需要一一刪除。

要移除保留的包裹,

sudo apt-get remove --dry-run PACKAGENAME

PACKAGENAME是您要刪除的套件)。此--dry-run參數可確保您了解接下來發生的情況。刪除所有軟體包後,請嘗試安裝首先導致問題的軟體包,然後看看會發生什麼。

方法 6:清除/刪除/停用 PPA

個人軟體包檔案是託管在 Launchpad 上的儲存庫,用於升級或安裝 Ubuntu 官方儲存庫中通常不可用的軟體包。它們是導致依賴關係未滿足的最常見原因,尤其是當它們用於從 Ubuntu 儲存庫升級現有套件時。您可以停用、刪除或清除它們。

然後,如果它們仍然顯示一些依賴性問題,讓我們清除它們:

apt purge packageXX packageYY packageZZ

等等,直到一切都乾淨

有人說還要編輯/var/lib/dpkg/status和刪除尚未完成安裝的塊,但我懷疑這是否真的能解決問題,它只是將其隱藏在地毯下。

答案2

  1. 您嘗試過以下操作嗎?

    apt-get check
    
  2. 先嘗試一下:

    sudo dpkg --configure -a
    

其次是:

sudo apt-get -f install

答案3

根據Ubuntu的wiki上的信息(https://wiki.ubuntu.com/Releases),Ubuntu 11.04 (Natty Narwhal) 已於 2012 年 10 月 28 日終止生命週期。這些庫,因為它們會導致與您不受支援的平台的其餘部分不相容。

您的兩個選擇是查看是否可以找到 arping 所需的庫的源代碼(記住滿足 arping 的版本要求),並查看是否可以成功手動建立它們(例如整個 ./configure && make && sudo make 安裝例程)。但我不能保證這會起作用,而且你的作業系統不受支援。或者,備份所有所需數據,下載 Ubuntu 17.10.1(如果您喜歡使用 LTS,則下載 16.04.3)的副本,製作可啟動 USB 並安裝當前支援的更新版 Ubuntu。

答案4

如果您閱讀錯誤,解決方案很簡單。

假設您嘗試安裝的軟體包是套餐A

正在嘗試安裝套餐A會導致你這樣的事情:

packageA: Depends: packageX (>= a.b) but it is not going to be installed

你需要跑sudo apt-get install packageX

您可能會遇到另一個錯誤:

packageX: Depends: packageY (>= a.b) but it is not going to be installed

運行sudo apt-get install packageY安裝它。

繼續這樣(IMO 大多數套件都有 3-4 個節點深的樹),直到安裝系列中的最後一個依賴項。

之後,您要安裝的第一個命令套餐A將成功運行。

相關內容