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 | ||