摘自:https://openwrt.org/zh/docs/techref/uci
摘自:https://openwrt.org/docs/guide-user/base-system/uci
- UCI (统一配置接口) 功能组件和库文件的项目管理界面
- UCI适用于R10367 (trunk)以后的版本OpenWrt
-
在本地 GNU/Linux 发行版上使用
git
命令获取它的源码:git clone https://git.openwrt.org/project/uci.git
- 本文是UCI的技术参考。请到 UCI (Unified Configuration Interface) – 使用手册查看详细语法说明
什么是UCI
UCI
是一个用 C (shell script-已封装) 写的功能组件,为了 集中化 管理运行OpenWrt系统的设备的配置文件。 UCI 是在OpenWrt历史版本 White Russian 中存在的基于 NVRAM 的配置文件的 替代版本 和 其附带的标准配置文件程序的 封装, 例如 /etc/network/interfaces
, /etc/exports
, /etc/dnsmasq.conf
, /etc/samba/samba.conf
等。
UCI 配置文件存在于 /etc/config/ 它们的文档信息可以在OpenWrt-Wiki中查看 UCI 配置文件. |
他们可以通过任何文本编辑器、命令行功能组件 uci
、各种编程API (类似 Shell, Lu 和 C)实现更改。 luci这中网页用户界面就是用Lua对它们进行操作的。
UCI的依赖
他们都包含在UCI的git仓库中。
附加包
主要功能是由 uci
and libuci
这两个包提供的。libuci-lua
包也是可用的。
包名 | 大小(字节) | 描述 |
---|---|---|
uci | 7196 | 统一配置接口 (UCI) 的功能组件 |
libuci | 18765 | 统一配置接口 (UCI) 的C语言库 |
libuci-lua | ~6000 | C语言库文件的LuaLua插件库, 例如 luci就用到了这个库 |
已安装的文件
uci
路径/文件 | 文件类型 | 描述 |
---|---|---|
/sbin/uci | 二进制文件/binary | uci 的可执行文件 |
/lib/config/uci.sh | shell脚本/Shell Script |
/sbin/uci Shell脚本可用的封装 |
libuci
路径/文件 | 文件类型 | 描述 |
---|---|---|
/lib/libuci.so | 符号链接/symlink | libuci.so.xxx 的符号链接 |
/lib/libuci.so.2011-01-19 | 二进制文件binary | 库文件 |
libuci-lua
路径/文件 | 文件类型 | 描述 |
---|---|---|
/usr/lib/lua/uci.so | 二进制文件/binary | 库文件 |
在 Lua 中捆绑 UCI
对于喜欢 Lua , 在你的代码中通过 libuci-lua这个包来操控 UCI 。 只需在安装这个包,然后在你的Lua代码中写上
require("uci")