apt-get upgrade 和 dist-upgrade 的區別

在我們之前的指南中,我們充實了 apt update 和 apt upgrade 之間的區別。 在本教程中,我們看 apt-get 升級apt-get dist-upgrade 命令並試圖了解差異以及何時使用每個命令。

1) apt-get 升級

根據手冊頁,命令 apt-get 升級 (對於較舊的 Debian/Ubuntu 版本)或 適當升級 (對於較新的版本,例如 Ubuntu 18.04 及更高版本和 Debian 10)用於將當前安裝的軟件包升級到最新版本。 在任何情況下都不會刪除現有的包。 如果軟件包升級需要刪除或安裝其他軟件包,則已安裝軟件包的升級將被跳過,並且該軟件包在其當前版本中保持不變。

在升級包之前,總是需要先更新包索引。 這會更新包列表中的 /etc/apt/sources.list 文件和 /etc/apt/sources.list.d 目錄。

$ sudo apt-get 更新

然後

$ sudo apt-get 升級

升級系統包

如果你想升級一個特定的並保持其餘的完好無損,只需使用以下語法:

$ sudo apt-get 升級包名

2) apt-get dist-upgrade

這是 apt-upgrade 命令的增強版本。 除了升級現有的軟件包外,它還安裝和刪除一些軟件包以滿足一些依賴關係。 該命令包括一個智能衝突解決功能,可確保首先升級關鍵包,而犧牲那些被認為是較低優先級的包。

為了 100% 安全,請確保在生產運行之前在測試環境中進行升級。

$ sudo apt-get dist-upgrade

apt-get dist-upgrade 命令apt-get dist-upgrade 命令

apt-get upgrade 和 apt-get dist-upgrade 之間的主要區別在於,在前者中,沒有刪除任何軟件包。 更新版本的軟件包會被升級,並且不會刪除任何內容。 在後者中,安裝了一些較新的軟件包,並刪除了一些以滿足某些依賴性。

結論

如果在存儲庫中找到更新的版本,apt-upgrade 命令將始終尋求升級已安裝的軟件包。 它不會觸發刪除任何包。 同時,apt-get dist-upgrade 會在軟件包升級過程中根據需要刪除一些軟件包。 我們希望您現在已經清楚地了解這兩個命令以及它們之間的區別。 非常歡迎您對這個簡短的教程提供反饋。