Linux中國

修復 Ubuntu 中的 「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_InRelease
E: 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)。刪除該文件(或所有文件)並重建緩存即可解決此問題。

仍然有錯誤?

這應該能解決你的問題。但是,如果問題仍然存在,或者你還有其他相關問題,請在評論欄告訴我,我將儘力幫助你。

via: https://itsfoss.com/unable-to-parse-package-file/

作者:Abhishek Prakash 選題:lujun9972 譯者:geekpi 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國