
前言

UCI是统一配置接口(Unified Configuration Interface)的缩写,用于集中配置OpenWrt。简单说就是用一种统一的方式来配置系统。
Linux中很多软件的配置都是不同的,比如配置网络,可以修改 /etc/network/interfaces , 配置samba可以修改/etc/samba/smb.conf 。配置文件里面的规则都各不相同,所以OpenWRT为了统一标准,就制定了统一的配置接口标准 。

UCI配置文件

OpenWRT中的这些配置文件都在 /etc/config/ 目录下,里面有非常多的配置文件。每个文件中的选项的具体含义可以到官方下查看,都有详细的说明。
官方文档: https://openwrt.org/docs/guide-user/base-system/uci

UCI文件语法

主要有三个关键字: config, option, list
config:用来定义一个section(章节)
config interface 'lan'
复制
interface: 表示类型
'lan': section的名称,也可以省略。
option: 定义一个选项
option ifname 'eth0'
复制
ifname: 选项名
'eth0': 选项值
list: 定义一个列表(可以有多个值的选项)
list collection 'value1'
list collection 'value2'
复制
collection: 列表名
'value1','value2':列表值
* 注意:
1.通常标识符或值都可以不需要引号,除非里面包含空格或者tab,根据个人习惯使用。
2.标识符只能包含a-z, 0-9 和 _

例子

1. 有名称的section
2. 匿名的section

修改UCI配置文件

目前有如下几种方式修改UCI配置文件:
使用shell脚本
调用Lua或C接口
使用uci命令工具
我们平时登陆Web界面去配置的时候,所有的配置都是保存到UCI配置文件中。目前只需知道有这些修改方式,暂时无需深究。

总结

可以在后台回复 OpenWRT查看之前的文章, 看完一些基础实验之后再回来看这些理论知识,会有一种恍然大悟的感觉。

精彩推荐