Debian 於 2021 年 8 月推出 第 11 版 代號 Bullseye,至今(2022/6)過了差不多快一年的時間,穩定性應該增加不少,可以將手上還在跑 Debian 10 的裝置升級一下!此篇分享我如何從 Buster 升級至 Bullseye 的步驟,並以 Armbian 為例,其他以 Debian 為底的系統步驟大同小異,一起來升級吧!
目錄
Step 1 備份系統
雖然目前升級步驟已經相對安全,但避免萬一還是要先備份!備份!備份!
Step 2 先將 Buster 更新到最新
我們先將系統套件升級至 Buster 最新的版本,避免從過舊的 packages 直接升級容易發生問題
sudo apt update
sudo apt upgrade
sudo apt full-upgrade
重開機套用更新
sudo reboot
Step 3 修改 /etc/apt/sources.list
修改 sources.list
,將套件來源切換至 Bullseye
原 Debian 10 Buster 的 source.list 可能長這樣
deb http://deb.debian.org/debian buster main contrib non-free
deb-src http://deb.debian.org/debian buster main contrib non-free
deb http://deb.debian.org/debian buster-updates main contrib non-free
deb-src http://deb.debian.org/debian buster-updates main contrib non-free
deb http://deb.debian.org/debian buster-backports main contrib non-free
deb-src http://deb.debian.org/debian buster-backports main contrib non-free
deb http://security.debian.org/ buster/updates main contrib non-free
deb-src http://security.debian.org/ buster/updates main contrib non-free
將其中 buster
替換成 bullseys
,如
deb http://deb.debian.org/debian bullseye main contrib non-free
deb-src http://deb.debian.org/debian bullseye main contrib non-free
特別注意 Security
的部分(最後一區塊),要將 buster
替換為 bullseye-security
,如
deb http://security.debian.org/ bullseye-security/updates main contrib non-free
deb-src http://security.debian.org/ bullseye-security/updates main contrib non-free
儲存後,update 一下
sudo apt update
暫時關掉 Armbian 套件來源
如果是 Armbian 的讀者,根據論壇上討論的安全做法,在正式升級 Bullseye 前,先把 armbian repo 註解掉比較安全
修改 /etc/apt/sources.list.d/armbian.list
# 註解掉
#deb http://apt.armbian.com buster main buster-utils buster-desktop
update 一下
sudo apt update
Step 4 最小化系統更新
正式更新前,先進行最小化系統更新,避免更新過程中大量移除套件時,刪除了某些你可能必須保留的版本
sudo apt upgrade --without-new-pkgs
過程中可能系統會問一些問題,如:
原因是套件更新時,套件的 config file 可能也會更新,因此系統詢問使用者該如何處理?選擇 N
表示保留目前設定,但可能會有無法向下相容的問題。選擇 Y
表示用套件提供的最新 config file 覆蓋,但原始的設定可能會跑掉。
依照這一篇的討論,選擇 Y
風險比較低,但要仔細確認過程中哪些套件的設定會被蓋掉。比如說我發現 sshd 更新後,之前設定的 key auth 方法會被 disable,需要額外再去調整回來。
此外,系統也會問這個問題:
在更新時可能會重啟一些服務,可以依需求選擇重啟前是否詢問,避免服務中斷。
Step 5 正式更新至 Bullseye
最小更新完成,現在正式進入 Debian 11 更新
sudo apt full-upgrade
過程中系統可能也會詢問 Step 4 的問題,依情況選擇即可。
等待一段時間更新完成,重啟系統
sudo reboot
重新開啟 Armbian 套件來源並更新
如果是 Armbian 的讀者,重開機後進行 Armbian 的套件更新
修改 /etc/apt/sources.list.d/armbian.list
,同樣將 buster
換成 bullseye
deb http://apt.armbian.com bullseye main bullseye-utils bullseye-desktop
再更新
sudo apt update
sudo apt full-upgrade
sudo reboot
Step 6 確認結果
用以下指令確認目前系統版本號
lsb_release -a
升級成功會看到
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 11 (bullseye)
Release: 11
Codename: bullseye
Step 7 移除不必要的 packages
此步為可選,升級後有些套件可能可以移除,透過以下指令自動清除,但要小心確認,避免刪除後造成問題
sudo apt --purge autoremove
總結升級過程
將整個流程需要的指令與過程整理如下:
# 將 Buster 更新到最新
sudo apt update
sudo apt upgrade
sudo apt full-upgrade
sudo reboot
# 修改 /etc/apt/sources.list
# replace 'buster' to 'bullseye'
sudo nano /etc/apt/sources.list
# 最小化系統更新
sudo apt upgrade --without-new-pkgs
# 更新至 Debian 11 bullseye
sudo apt full-upgrade
sudo reboot
# 清理 packages (optional)
sudo apt --purge autoremove
延伸閱讀:
安裝 Armbian 到 Banana pi 的 eMMC
Raspberry Pi OS 64bit 正式上線!立刻下載使用!
如何不接螢幕初始化 Raspberry Pi? – Raspberry Pi Imager Advance Options
參考資料:
How to upgrade Debian 10 to Debian 11 Bullseye using the CLI
armbian upgrade from buster to bullseye