在 OpenWrt 的網頁管理介面中很輕易地安裝各式的軟體,可以讓原本平淡無奇的 AP 化身成為一個非常多功能的 AP。例如:HTTP Server、FTP Server、MySQL,如果你的 AP 有一個或以上的 USB,更可以讓你的 AP 變成印表機伺服器、DLNA Server、IP 網路攝影機……等。
只要空間足夠,AP 的處理能力扛得住,再加上一些的研究精神,絕對可以讓你的 AP 比同等級的 AP 功能來得更強。
OpenWrt 可以玩的東西很多,因為可以玩的東西很多,所以在試玩試裝新的功能軟體之前,建議先備份現在 OpenWrt 的軟體以及設定檔。主要原因是:
- 根據我的經驗,假設我裝了 FTP Server 軟體後,但我發現似乎用不太到,我將 FTP Server 軟體移除,但是空間並不會被釋出,多數 AP 預設空間不大,若空間沒釋出,那麼日後想再玩其他軟體根本沒機會
- 搞爛了機器,正確來講是裝了某軟體,但因為人為的設定錯誤,或其他因素導致 AP 不正常,那麼我們可以透過「還原」的方式,再回到安裝前的情況,就如同電腦的系統還原一樣
- 如果下次重裝 OpenWrt,我們就可以快速地將軟體和設定檔還原到原來的 AP,甚至移植到其他 AP
- 有備份,總比沒備份來得好,是吧?
備份 / 還原 AP 設定值
如果只是要備份 / 還原設定值,最方便的方式是在網頁管理介面中操作
備份 / 還原已安裝的軟體
想要備份或還原另外安裝的軟體,唯一的途徑只有 Telnet / SSH。
【備份】
以 Telnet / SSH 登入 OpenWrt 之後,直接輸入
tar -czvf /tmp/overlay_backup.tar.gz /overlay
這會將 /overlay 這個資料夾(或稱掛載點)裡面所有的檔案,通通製作成一個名為「overlay_backup」tar.gz 格式的檔案,並且會存放在 /tmp 裡。
這個方式除了會備份軟體之外,也會備份軟體的設定檔,同時還會備份 AP 本身的一些設定,例如:SSID 名稱、Wifi 密碼、防火牆規則……等。
簡單來說,也可以將它視為 AP 的「全機完整備份」。
* 請注意:備份檔會放在 OpenWrt 的 /tmp 資料夾,它是暫存資料夾,所以一定要記得把備份檔傳回到我們的電腦裡,否則 AP 若重新開機,那麼備份檔就會被自動刪除。
【還原】
要還原的話,也是要以 Telnet / SSH 登入 OpenWrt,同時也別忘了把備份檔傳到 /tmp 資料夾(如果 /tmp 資料夾沒有發現備份檔),然後再輸入以下指令
rm -rf /overlay/* cd / tar -xzvf /tmp/overlay_backup.tar.gz reboot -f
這會做的事是
- 刪除 /overlay 底下的檔案及資料夾
- 切換到 OpenWrt 的最底層目錄
- 將 /tmp 裡的 overlay_backup.tar.gz 這個備份檔解開,並且還原到 /overlay
- 強制重新啟動 AP
備份 / 還原 OpenWrt 的韌體
需不需要備份韌體,其實很難講,多數情況,其實我們比較需要的是全機完整備份,因為我們可能只是需要備份軟體和一些設定檔,韌體的部份其實可以不需要特別做備份。
【備份】
想要備份韌體,我們要先確認韌體是存放在哪個區域,可以使用這個指令
cat /proc/mtd
會看到類似這樣的結果
dev: size erasesize name mtd0: 00020000 00010000 "u-boot" mtd1: 0010c4d0 00010000 "kernel" mtd2: 006c3b30 00010000 "rootfs" mtd3: 00490000 00010000 "rootfs_data" mtd4: 00010000 00010000 "art" mtd5: 007d0000 00010000 "firmware"
由此可以得知,我們的韌體是存放在 mtd5 裡
接著再使用以下指令備份
dd if=/dev/mtd5 of=/tmp/firmware_backup.bin
如果你的韌體不在 mtd5,那麼你必須將指令中的 mtd5 修改為符合實際情況的位置。
備份韌體時,會需要一點時間,必須要看到類似以下的訊息,才代表韌體已備份成功
16000+0 records in 16000+0 records out
* 請注意:備份檔會放在 OpenWrt 的 /tmp 資料夾,它是暫存資料夾,所以一定要記得把備份檔傳回到我們的電腦裡,否則 AP 若重新開機,那麼備份檔就會被自動刪除。
【還原】
還原韌體,也是要以 Telnet / SSH 登入 OpenWrt,並且把韌體的備份檔傳到 /tmp 資料夾內,再輸入以下指令
mtd -r write /tmp/firmware_backup.bin firmware
待韌體寫入成功後,OpenWrt 會自動重新啟動。
* 請注意,寫入韌體期間,請勿拔除或關閉分享器電源