sudo apt-get update 升級問題

在 VPS ubuntu 16.04 執行 sudo apt-get update 升級指令時,出現 The following packages have been kept back 的訊息,有 XX 個程序不能更新,就如下:

這有可能會因為部份 packages 的安裝版本比 release 版更新而出現這個問題,解決方法是使用下面的指令,統一更新到發佈的版本,記得先鏡像備份主機,避免出錯。

另外一個錯誤,也造成升級失敗,錯誤碼如下:

查了一下資料,這可能是之前升級前遺留下來的文件,可以將它刪除。

再執行一次升級指令:

參考資料:
[SOLVED] apt-get error
What is /etc/apt/apt.conf.d/50unattended-upgrades.ucf-old and can I safely delete it?

作筆記給自己補腦一下:

常用的 APT 命令參數:

注意:apt-get dist-upgrade 在升級的同時會為了解決相依性而安裝新套件,而 apt-get upgrade 並不會。

詳細的說明 apt-get upgrade 和 apt-get dist-upgrade 的差別:

  • apt-get upgrade 是系統將現有的 Package 升級,如果有相依性的問題,而此相依性需要安裝其它新的 Package 或影響到其它 Package 的相依性時,此 Package 就不會被升級,會保留下來。
  • apt-get dist-upgrade 可以解決相依性的問題,如果有相依性問題,需要安裝 / 移除新的 Package,就會試著去安裝 / 移除它,所以這樣的升級會被認為是有點風險的升級。( 升級前請先備份系統 )

注意:當使用 apt-get install 指令安裝套件,下載下來的 package 會放置於 /var/cache/apt/archives,使用 apt-get clean 指令可以將之清除,避免佔用硬碟空間。

2017/08/13 補充:

今天更新一台 VPS 主機時,更新到一半時主機斷線,再連上線時,出現錯誤碼:

資料夾裡面的檔案有問題,使得更新套件出現錯誤,所以把它完全刪除。

參考資料:
Some upgrades show packages being kept back

Sending
User Rating 5 (8 votes)

發表迴響

Required fields are marked *.


%d 位部落客按了讚: