有新的就要嘗試!教你如何從 Debian 10 升級至 Debian 11
自己常用的 Linux 是 Debian,從 Debian 6(squeeze) 用到 Debian 10(buster)。Debian 在 2021.08.14 時釋出了 Debian 11(bullseye),自己以往都是至官方連結下載新版的 ISO 重新安裝,這次則想說透過升級的方式進行更新,且這也是 Debian 著名的功能,故想於這次嘗試之。 (其實是有Service在運作並做一些測試,不想重弄)
準備
- 備份你所有的資料。(文件、圖片、設定檔、驅動程式等)
- 關閉所有的應用程式與服務。
- 關閉或刪除任何的個人套件庫(Personal Package Archive, PPA),更新完成後再開啟或新增即可。
- 盡可能確保網路是穩定的。
- 保留一些時間進行升級。
更新步驟
更新現有的 package
開啟terminal,輸入 apt update && apt upgrade
更新套件索引(package indexes)與套件(packges),需要先將更新目前的packages。
root@server:~# apt update && apt upgrade
### 注意使用者身份,不是root的話,請加上sudo ###
user@server:~$ sudo apt update && sudo apt upgrade
更新來源(source.list)
修改apt的source.list,將來源由buster更改為新的bullseye。修改 /etc/apt/source.list
(注意編輯權限),不一定要使用vim,用自己喜歡的編輯器即可(e.g. emacs, nano),請記得編輯設定檔前記得備份!!!
user@server:~$ sudo cp /etc/apt/source.list /etc/apt/source.list.bak
user@server:~$ sudo vim /etc/apt/source.list
修改前的檔案
修改後的檔案
這裡再補充介紹 main, contrib, non-free
- main: 主要為完全符合 Debian 自由軟體指南(Debian Free Software Guidelines, DFSG)的所有package。
- contrib: 為開源但依賴於 non-free 的 package。
- non-free: 為不符合 Debian 自由軟體指南的 package。
升級
先使用 apt update
確認第二步的編輯是否沒有問題,若無錯誤訊息再進行 apt full-upgrade
。
user@server:~$ sudo apt update
user@server:~$ sudo apt full-upgrade
途中會有一些訊息需要選擇。
顯示有關packages更新的新聞。按q
退出。
Package configuration,請選擇 <Yes>
相關package的configuration,請依據需求設定,建議用 N 保留設定。
Options description :
- Y or I : install the package maintainer’s version (安裝維護者版本的package,會覆蓋掉該檔案的設定。)
- N or O : keep your currently-installed verstion (保留目前安裝的版本。)
- D : show the differences between the versions (顯示版本之間的差異。)
- Z : start a shell to examine the situation (啟動一個shell檢查情況。)
完成升級後,重新啟動系統。
user@server:~$ sudo systemctl reboot
確認
透過 lsb_release -a
指令進行確認,可以發現已經從 buster 升級至 bullseye了。
user@server:~$ lsb_release -a
Distributor ID: Debian
Description: Debian GNU/Linux 11 (bullseye)
Release: 11
Codename: bullseye
確認完成後,使用 apt --purge autoremove
刪除不再需要且不必要的packages。
user@server:~$ sudo apt --purge autoremove
結論
第一次自己升級 Debian ,坦白說並沒有想像中的困難,有做好備份可以降低升級上的壓力。基本上都是apt
在負責,只要有依據文件設定 /etc/apt/source.list
,應該不會構成太大的問題。