Openwrt無痛升級新版本:Attended System Update大法

本文分享如何升級OpenWRT到最新版,並且近乎完美的保留所有設定和插件(僅限官方原生OpenWRT,其他衍生版本請自行評估)。

又是一篇只有20分鐘寫的文章。我發現20分鐘寫文大法挺好的,如果沒有這個約束,我就幾個月都寫不出一篇來(因爲我是慢工出細活的挑剔人)。

一般的升級固件步驟有何問題

我們喜好玩OpenWRT,肯定對“刷機”、“刷固件”有特別的喜好。通常來說,刷固件能夠幫我們清除所有系統設定,順便把設置錯誤的地方都重置,達到“救活”的效果。但反過來看,如果我們已經把固件設定都做好了,單純想把系統版本升級,那「原始」的刷機程序,就把我們的“心血”都一併剷除。

雖然OpenWRT有提供設定檔備份的功能,但是這個功能並沒有對插件(Software,Plugin)進行備份,用戶需要手動把每個插件都重新安裝,再恢復設定檔,才有機會在升級的同時把原有的設定保存。如果這期間設計到路由器IP的轉換(例如原生出廠是192.168.1.1,Ups系列路由器都設定爲192.168.0.1),這就對新手用戶的挑戰更大,更容易產生混亂。

有沒有無痛升級的方法?

OpenWRT官方原生版本可以利用Attended System Upgrade 這個功能實現無痛升級(官方說明書:[OpenWrt Wiki] Upgrade using Attended Sysupgrade)。

首先,安裝 Attended System Upgrade 插件:

然後打開 Attended System Upgrade 界面:

然後按搜尋最新固件:

記得勾選 ”Keep settings and retain the current configuration”,你可以按“Download firmware image”下載固件,或者直接按 ”Install firmware image”更新,就完了,是不是很簡單?

請注意,更新之前,請先按照 OpenWRT新手入門:上網連線設定、繁體中文化、界面美化教學 進行設定備份。如果新固件有什麼問題,可以刷回舊版固件然後導入舊版的設定備份。

爲什麼你沒聽過這種無痛升級法?

最後探討一個衍生無關重要的問題:爲什麼這麼簡單的無痛升級法,用上去這麼簡單,你用OpenWRT卻沒有聽說過?小U使用OpenWRT快10年了,竟然也是近來推出了自家的Ups路由器才接觸到這麼簡單好用的方法,爲什麼呢?

Attended System Upgrade是新功能嗎?搜尋Openwrt官方論壇,找到最早的討論是2017的這個帖子:Attended Sysupgrade – Installing and Using OpenWrt – OpenWrt Forum。文中提到的Attended Sysupgrade已經有雛形,但當時LEDE和OpenWRT merge中導致未能實現。那估計2018年Attended Sysupgrade就已經完成了。爲什麼到現在,在Google搜尋 “Attended System Upgrade 升級” 得到的中文結果會如此的少?

這就要說到OpenWRT(官方)和國內的LEDE爲首的兩派的用戶割裂情況,在中國大陸,因爲GFW越來越高的原因,能夠接觸到原生OpenWRT的用戶越來越少。就算能裝上原生OpenWRT,後續的所有升級都需要“梯子”(翻牆)才能接觸到OpenWRT的“源”。

在 Linux 和 OpenWrt 中,update 源(source)指的是用於獲取軟件包和更新的伺服器地址或存儲庫。這些源通常包含軟件包的二進制文件或源代碼,並且提供了一個集中的位置,用於下載和安裝系統所需的軟件和更新。在 OpenWrt 中,這些源通常在 /etc/opkg.conf 文件中配置。
更新源可以由官方 OpenWrt 團隊提供,也可以由第三方維護,以提供不同版本或特定功能的軟件包。

而Attended System Upgrade這個功能,就是要深度利用到源(source),而且還要有伺服器算力幫忙打包固件。在國內,似乎LEDE一派並沒有針對Attended System Upgrade提供“國內國情版”的源,導致這個功能在大陸並沒有多少人用過。

再拉遠一些,隨着ChatGPT等AI針對大陸的封鎖,這種由於技術割裂而產生的應用隔閡,相信在未來10年的AI爆發期中,會變得越來越嚴重。

本文是小U的「玩開源、從OpenWRT開始」系列文章的其中一篇。自從Ups-WR30U開源路由器得到大家的熱烈支持,小U也收到了客戶的各種使用OpenWRT的問題查詢,順勢就着手把大家會遇到的,想要用的,都集結成這個系列的文章,希望讓各位從OpenWRT體驗和玩樂開源系統。不需要靠AI,你就能讓路由器變得更”聰明“!

如果你還未有OpenWRT路由器,不妨從 Ups-WR30U 上手吧:

歡迎你的留言討論:

你可以一針見血

by Upsangel
Logo