This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
documentation:configuration:uci [2015/05/09 16:12] admin |
documentation:configuration:uci [2018/05/24 09:05] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== UCI ====== | ====== UCI ====== | ||
- | UCI (__U__nified __C__onfig __S__ystem) is intended to centralize the configuration | + | The //__U__nified __C__onfig __S__ystem// is the central pivot when it comes the routers configuration settings. |
+ | |||
+ | All maintained configuration files are stored in ///etc/config/// and can either be edited with a text-editor or by using the //uci// command-line interface. \\ | ||
+ | After altering the routers configuration files, affected system services needs to be restarted. | ||
===== Configuration Files ===== | ===== Configuration Files ===== | ||
Line 8: | Line 11: | ||
[[documentation:configuration:config_files|Configuration Files]] | [[documentation:configuration:config_files|Configuration Files]] | ||
- | ===== File Syntax ===== | + | ===== File Syntax / Basic principle ===== |
- | Below is an example of a simple configuration file: | + | Usually the configuration files or //'packages'// consists of various blocks, so called //'sections'//. |
+ | Each section starts with the //'config'//-statement and can imply multiple settings. | ||
- | <code> | + | Below is an simple example of such a section block: |
- | package 'example' | + | |
+ | <code> | ||
config 'example' 'test' | config 'example' 'test' | ||
- | option 'string' 'some value' | + | option 'test_option1' 'some value' |
- | option 'boolean' '1' | + | option 'test_option2' '1' |
- | list 'collection' 'first item' | + | list 'collection' 'first item' |
- | list 'collection' 'second item' | + | list 'collection' 'second item' |
</code> | </code> | ||
+ | |||
+ | The first line defines a section and follows the syntax: //config '<type>' '<name>'//. So in this example the section-type would be 'example' and its name would be 'test'. | ||
+ | |||
+ | Followed by two //'option'//-statements which defines simple values. Each option needs a name and a value. | ||
+ | |||
+ | Finally the example section ends with two //'list'//-statements. Lists are special options which can combine multiple list-entries to one singe object. | ||
+ | Like //options//, each list needs a name. If several list-statements with the same name are present in one section, each entry will be added to the list. | ||
+ | In our example, a single list named 'collection' will be generated, containing the entries 'first item' and 'second item'. | ||
+ | |||
====== Command line utility ====== | ====== Command line utility ====== | ||
Line 27: | Line 40: | ||
Usage | Usage | ||
- | root@OpenWrt:/lib/config# uci | + | # uci |
Usage: uci [<options>] <command> [<arguments>] | Usage: uci [<options>] <command> [<arguments>] | ||
Line 60: | Line 73: | ||
-X do not use extended syntax on 'show' | -X do not use extended syntax on 'show' | ||
</code> | </code> | ||
+ | |||
+ | If you want to look up your changes use the following command: | ||
+ | <code> | ||
+ | uci changes | ||
+ | </code> | ||
+ | |||
+ | In case you alter the UCI configuration using the command-line interface, the config needs to be written to the configuration files by commiting them using: | ||
+ | <code> | ||
+ | uci commit | ||
+ | </code> | ||
+ | before any service restarts will take effect of the configuration |