修復Ubuntu 中的 「Unable to parse package file」 錯誤

2021-01-11 裡維斯社

如果你使用命令行更新 Ubuntu,那可能會遇到一些「錯誤」。

其中一些「錯誤」基本上是內置功能,可防止對系統進行不必要的更改。在本教程中,我不會涉及那些細節。

在本文中,我將向你展示如何解決在更新系統或安裝新軟體時可能遇到的以下錯誤:

Reading package lists… Error!E: Unable to parse package file /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_bionic_InReleaseE: The package lists or status file could not be parsed or opened.

在 Debian 中可能會遇到類似的錯誤:

E: Unable to parse package file /var/lib/apt/extended_states (1)

即使遇到 The package cache file is corrupted也完全不必驚慌。這真的很容易「修復」。

在基於 Ubuntu 和 Debian 的 Linux 發行版中處理 「Unable to parse package file」 錯誤

以下是你需要做的。仔細查看 Ubuntu 報錯文件的名稱和路徑。

Reading package lists… Error!E: Unable to parse package file /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_bionic_InReleaseE: The package lists or status file could not be parsed or opened.

例如,上面的錯誤是在報/var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_bionic_InRelease文件錯誤。

這讓你想到這個文件不正確。現在,你需要做的就是刪除該文件並重新生成緩存。

sudo rm <file_that_is_not_parsed>

因此,這裡我可以使用以下命令:sudo rm /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_bionic_InRelease,然後使用 sudo apt update命令重建緩存。

給初學者的分步指導

如果你熟悉 Linux 命令,那麼可能知道如何使用絕對路徑刪除文件。對於新手用戶,讓我指導你安全刪除文件。

首先,你應該進入文件目錄:

cd /var/lib/apt/lists/

現在刪除無法解析的文件:

sudo rm archive.ubuntu.com_ubuntu_dists_bionic_InRelease

現在,如果你再次運行更新,將重新生成 apt 緩存。

sudo apt update

有很多文件無法解析?

如果你在更新系統時有一個或兩個文件無法解析,那麼問題不大。但是,如果系統報錯有十個或二十個此類文件,那麼一一刪除它們就太累了。

在這種情況下,你可以執行以下操作來刪除整個緩存,然後再次生成它:

sudo rm -r /var/lib/apt/lists/* sudo apt update

解釋這為何能解決問題

/var/lib/apt是與 apt 軟體包管理器相關的文件和數據的存儲目錄。/var/lib/apt/lists是用於保存系統source.list中指定的每個軟體包資源信息的目錄。

簡單點來說,/var/lib/apt/lists保存軟體包信息緩存。當你要安裝或更新程序時,系統會在此目錄中檢查該軟體包中的信息。如果找到了該包的詳細信息,那麼它將進入遠程倉庫並實際下載程序或其更新。

當你運行 sudo apt update時,它將構建緩存。這就是為什麼即使刪除/var/lib/apt/lists目錄中的所有內容,運行更新也會建立新的緩存的原因。

這就是處理文件無法解析問題的方式。你的系統報某個軟體包或倉庫信息以某種方式損壞(下載失敗或手動更改sources.list)。刪除該文件(或所有文件)並重建緩存即可解決此問題。

相關焦點

  • [博客更新]Ubuntu 安裝本地 deb 包以及解決本地包的依賴問題
    dpkg: 處理軟體包 google-chrome-stable (--install)時出錯: 依賴關係問題 - 仍未被配置正在處理用於 gnome-menus (3.13.3-11ubuntu1) 的觸發器 ...正在處理用於 desktop-file-utils (0.23-1ubuntu3) 的觸發器 ...正在處理用於 mime-support (3.60ubuntu1) 的觸發器 ...
  • 如何在Linux Ubuntu中安裝IntelliJ IDEA最新版
    【IT168 技術】JetBrains的IntelliJ IDEA IDE發布了最新的2017.2版本,具有許多新功能,性能改進和重要的錯誤修復。▲  IntelliJ IDEA 2017.2特點:  更智能的代碼完成和控制流程分析  更新了檢查和快速修復
  • 用dpkg命令在Debian系的Linux系統中管理軟體包
    ### dpkg 命令的語法 $ dpkg -[command] [.deb package name] $ dpkg -[command] [package name] ### dpkg 相關文件的位置 $ /var/lib/dpkg ### 這個文件包含了被 dpkg 命令(install、remove 等)所修改的包的信息 $ /var/lib/dpkg/status ###
  • 雲計算核心技術Docker教程:利用Dockerfile來創建鏡像
    在docker使用過程中,我們可以從已經創建的容器中更新鏡像,並且commit提交這個鏡像來創建新的鏡像,使用docker commit 來擴展一個鏡像比較簡單,但是不方便在一個團隊中分享此時我們可以使用 Dockerfile 指令來創建一個新的鏡像。
  • 在 Ubuntu Linux 上安裝 Deb 文件的 3 種方法 | Linux 中國
    現在,你已經知道 .deb 文件可以簡單地通過軟體中心來安裝,接下來,讓我告訴你一些軟體包可能會遇到的依賴項的錯誤。發生錯誤的原因是,一個程序可能依賴於另外一個軟體包(庫)。當開發者為你準備 DEB 軟體包時,他/她可能會假設你的系統中已經有了所依賴的軟體包(庫)。
  • Fluent常見的錯誤提示總結
    Error: Floating point error: invalid number原因: 數據矩陣求解過程中出現的問題License for fluent expiresError: sopenoutputfile: unable to open file for outputsError Object: "c:\temp\kill-fluent696"原因:
  • ubantu 不啟動桌面_ubuntu 啟動圖形服務而不啟動桌面 - CSDN
    只需要 ctrl+alt+f6 進入控制臺 修改環境變量配置文件 etc/profile ,刪除錯誤的部分,保存退出即可。這次開機無法進入桌面,是在紫色ubuntu桌面背景色出現過一次之後,直接進入了本機控制臺。讓用戶登錄。
  • KDE Plasma 5.1.2 發布,bug 修復版本
    KDE 發布了 Plasma 5 的 bug 修復版本,Plasma 5.1.2。此版本添加了這個月的新翻譯,還有 KDE 貢獻者發布的 bug 修復。這些 bug 修復非常經典,很小,但是很重要!Fix vertical aligment.
  • 關於ubuntu Grub圖形化管理工具
    關於ubuntu Grub圖形化管理工具 我們要了解ubuntu Grub圖形化管理工具「StartUp Manager「。Grub可用於選擇作業系統分區上的不同內核,也可用於向這些內核傳遞啟動參數。
  • Ubuntu下adb的使用及常見問題處理
    問題的處理:使用上文的步驟操作之後,大多數系統裡adb都可以使用,但在有些版本的adb或者系統中仍會報如下問題:apuser@ubuntu2:~/adbtools$ adb devicesList of devices attachedfaf80ac1 no permissions (user in plugdev group; areyour
  • Canonical 內核安全更新,相關 Ubuntu 版本應儘快升級
    面向所有尚處於支持狀態的Ubuntu版本,Canonical今天發布了新的內核安全更新,修復了多名安全研究人員近期發現的多個漏洞。
  • XGboost算法在不同作業系統中安裝方法乾貨分享
    /config.mk;make -j4cd python-package; sudo python setup.py install以ubuntu為例git submodule initgit initgit submodule initgit submodule update git clone --recursive https://github.com/dmlc/xgboostcd
  • ubuntu虛擬機怎麼使用VirtualBox軟體增強功能?
    ubuntu虛擬機怎麼使用VirtualBox軟體增強功能安裝?使用windows系統的用戶如果也想使用ubuntu系統,但是又不捨得換掉windowsXP系統,那就在虛擬機裡安裝ubuntu系統就可以了,下面我們一起來看看吧1、選中ubuntu虛擬機,點擊上方的」啟動「按鈕,啟動虛擬機2、在」設備「下拉菜單中,點擊」安裝增強功能「按鈕:3、之後在虛擬機中會彈出」安裝增強功能「對話框, 點擊」run 「按鈕,
  • Package Swift
    Package.swift 使用在Swift 開發中替換 cocoaPod 的包管理器,簡稱 SPM,執行速度上速度更快,並且體檢最佳。
  • 升級Ubuntu Linux 內核的幾種不同方法
    重要的事兒再說一遍,請備份好你 Ubuntu 中的重要數據、配置文件和其他重要的東西。方法 1 - 使用 dpkg 升級 Linux 內核(手動方式)這個方法可以幫助你從kernel.ubuntu.com網站手動下載可用的最新 Linux 內核。如果你打算安裝最新版(而不是穩定版或者正式發布版),那這種方法對你會很有用。從以上連結下載 Linux 內核版本。