sudo apt-get 更新失敗 - 由於「權限被拒絕」而「無法開啟」清單文件

sudo apt-get 更新失敗 - 由於「權限被拒絕」而「無法開啟」清單文件

在過去一周或更長時間內,運行sudo apt-get update最終會出現錯誤:

Reading package lists... Done
E: Failed to fetch http://au.archive.ubuntu.com/ubuntu/dists/xenial/main/dep11/Components-amd64.yml  
Could not open file /var/lib/apt/lists/partial/au.archive.ubuntu.com_ubuntu_dists_xenial_main_dep11_Components-amd64.yml.gz - open (13: Permission denied) [IP: 202.158.214.106 80]
E: Failed to fetch http://au.archive.ubuntu.com/ubuntu/dists/xenial-backports/main/dep11/icons-64x64.tar  Could not open file /var/lib/apt/lists/partial/au.archive.ubuntu.com_ubuntu_dists_xenial-backports_main_dep11_icons-64x64.tar.gz - open (13: Permission denied) [IP: 202.158.214.106 80]
E: Some index files failed to download. They have been ignored, or old ones used instead.

在瀏覽器網址列中輸入 2 個指定 URL 中的任何一個都會導致「找不到文件」(404) 錯誤 - 但如果我附加.gz到這兩個地址,則可以下載相應的文件。

然而,下載了這兩個文件後,我不知道如何(或是否)可以使用它們。

尋求有關如何最好地進行的建議。

答案1

該目錄的內容是部分下載的清單(也許 APT 被中斷?),可以安全地刪除。

啟動 root shell,注意您現在有權利對系統進行各種損壞,所以要小心(我們需要這樣做,因為sudo rm會出現錯誤)

sudo -i

刪除目錄的內容(仔細鍵入)並退出 root shell:

rm /var/lib/apt/lists/partial/*
exit  

然後執行 APT 更新以重新產生軟體包清單並檢查問題是否消失:

sudo apt update

答案2

最接近的解@Zanna 回答但包括先將舊的 APT 清單資料夾儲存為備份,然後再從 APT 清單資料夾中刪除部分檔案。

第一次清理APT

sudo apt-get clean

製作備份 APT 清單資料夾

sudo cp -r /var/lib/apt/lists /var/lib/apt/lists.old

從 APT 清單資料夾中刪除部分資料夾

sudo rm -rf /var/lib/apt/lists/partial/

然後清理並更新 APT

sudo apt-get clean
sudo apt-get update

來源自Ubuntu 表單發布

相關內容