Skip to content

UCI:OpenWrt 如何把所有設定放在 /etc/config

服務都讀取 /etc/config,LuCI 修改的也是這些檔案。

UCI(Unified Configuration Interface,統一設定介面)把 OpenWrt 各項服務的設定以純文字檔存放在 /etc/config/ 底下。LuCI 與 uci 指令編輯的都是同一批檔案。

  • 每個子系統一個檔案,例如 network、wireless、dhcp、firewall 和 system。
  • uci set、uci add、uci rename 和 uci delete 會先暫存。uci commit 再一次把它們寫入快閃記憶體。
  • 已提交的變更要等服務透過其 init 腳本重新載入或重新啟動後才會生效。官方範例是先修改 uhttpd 的連接埠、提交,再執行 /etc/init.d/uhttpd restart。
  • LuCI 只是前端:它的頁面透過 API 讀寫同一批 UCI 檔案。

以下指令只會讀取:

Terminal window
uci show network.lan
uci get network.lan.ipaddr
uci export dhcp
  • 提交後卻沒有重新載入的變更還沒有生效。它會在下次服務重新啟動或重新開機時才生效,那時你可能早已忘了這件事。
  • 手動編輯前,先把 /etc/config 複製到安全的地方。完整備份請見備份與還原。

來源

Router.Homes

獨立的 OpenWrt 實作筆記。每頁都寫明韌體、裝置、套件管理員與復原途徑。

圖示:Solar by 480 Design, CC BY 4.0