Arch Linux ca-certificates-utils 更新失敗
近幾次在更新Arch時都看到ca-certificates-utils出現沖突(conflict)無法更新,丹尼每次選擇跳過不更新,後來再仔細的查看資訊後才清楚的要手動處理,無法透過pacman自動解決。
$ sudo pacman -S ca-certificates-utils [sudo] password for danny: resolving dependencies... looking for conflicting packages... Packages (1) ca-certificates-utils-20170307-1 Total Installed Size: 0.01 MiB Net Upgrade Size: 0.00 MiB :: Proceed with installation? [Y/n] y (1/1) checking keys in keyring [######################] 100% (1/1) checking package integrity [######################] 100% (1/1) loading package files [######################] 100% (1/1) checking for file conflicts [######################] 100% error: failed to commit transaction (conflicting files) ca-certificates-utils: /etc/ssl/certs/ca-certificates.crt exists in filesystem Errors occurred, no packages were upgraded.
下載更新套件
下一個步驟解決沖突
會影響到線上更新,所以必需先將需要更新的套件下載至本機快取中,執行以下指令:
pacman -Syuw
執令中包含更新套件資料庫( y )、系統更新( u )、只下載更新套件不安裝( w ),執行完成後代表準備工作已經完成。
解決沖突
當丹尼執行一般更新時出現下面這問題訊息:
$ sudo pacman -S ca-certificates-utils : : : error: failed to commit transaction (conflicting files) ca-certificates-utils: /etc/ssl/certs/ca-certificates.crt exists in filesystem Errors occurred, no packages were upgraded.
從錯誤訊息中看到主要的沖突是ca-certificates.crt
這個檔,試著將此檔案刪除,刪除前需要用root權限刪除:
sudo rm -rf /etc/ssl/certs/ca-certificates.crt
再次強調,pcman下載更新的流程是使用https會使用到ssl認證的檔案,您必需先確實完成下載更新套件
中先將更新套件下載至本機端,否則刪除後再進行更新會看到下面的問題:
error: failed to update testing (download library error) error: failed retrieving file 'core.db' from delta.archlinux.org : error setting certificate verify locations: CAfile: /etc/ssl/certs/ca-certificates.crt CApath: none
如果你真的不小心已經產生上圖的錯誤時,先只安裝ca-certificates-utils套件:
sudo pacman -S ca-certificates-utils
再重新照著解決沖突
的方式重新做一次。
開始更新
務必解決沖突後再進行更新,先前已將更新檔下載完成,這次進行更新時會離線更新,速度會比較快一點
pacman -Su
完成後請重新啟動電腦讓系統使用新版本套件執行。
更新日誌
日期 | 內容 |
---|---|
2017/06/07 | 初版 |
參考資料
a-certificates-utils 20170307-1 upgrade requires manual intervention
can’t upgrade ca-certificates-utils:/etc/ssl/certs/ca-certificates.crt
關鍵字
- ca-certificates-utils conflict 無法更新 更新失敗 沖突
- error: failed to commit transaction (conflicting files)
The post Arch Linux ca-certificates-utils 更新失敗 appeared first on 可丁丹尼 @ 一路往前走2.0.