強制 dpkg 修復

強制 dpkg 修復

我犯了一個可怕的錯誤,從/usr/libDebian 的目錄中刪除了兩個資料夾。我刪除了python2.7/並且pkgconfig/

我嘗試修復但沒有成功的事情:

  • sudo dpkg -i python2* ->“找不到平台無關的函式庫”-->“/usr/lib/pyton2.7/py_compile.py 沒有這樣的檔案”

  • 甚至透過 --> 刪除它(python;用於將來重新安裝)也 sudo dpkg -i python2.7-minimal無法刪除,因為python2.7-minimal 依賴 python2.7-minimal (>=....deb) 並且 python2.7 依賴 python2.7-minimal (>=..._rc2.deb)

因此,只要它們沒有像所說的那樣由 dpkg“配置”,我就無法重新安裝或修復apt-get install python它們,但也無法刪除它們以進行乾淨的重新安裝,因為它們依賴於dpkg 中的不同版本,我不知道如何解決這個問題。

那麼如何透過 dpkg 或 apt 完全刪除具有所有依賴項的套件來解決上面描述的情況呢?

答案1

如果apt很無聊,有時可以使用dpkg本地快取包的完整路徑手動設定正確的內容。就是這樣:

  1. cdapt儲存包的地方,即/var/cache/apt/archives/
  2. dpkg然後 (如所須)用於安裝、拆卸、清除或諸如此類的開關,然後檔案名稱目前目錄中的包的名稱。因此要安裝幾個版本之一'foobar'最近連續安裝的版本,鍵入dpkg -i foobar<TAB>「」鍵將bash自動補全其餘部分,或顯示可用版本。
  3. 如果dpkg說你需要'菲茲班',(或必須擺脫'菲茲班'),執行步驟 #2,其中'菲茲班'。然後嘗試步驟#2'foobar'再次。
  4. 重複 #2 和 #3,直到系統處於所需狀態。

這假設所需的包檔案仍然緩存在本地。有時需要在線尋找包裹。在這種情況下,所需包的版本號碼可能會有所不同不確定- 在這種情況下,/var/log/dpkg.log有答案,只是grepsed透過套件名稱,它會顯示dpkg到目前為止已使用的版本。

相關內容