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/11 17:34] admin |
documentation:configuration:uci [2018/05/24 09:05] (current) |
||
---|---|---|---|
Line 3: | Line 3: | ||
The //__U__nified __C__onfig __S__ystem// is the central pivot when it comes the routers configuration settings. | The //__U__nified __C__onfig __S__ystem// is the central pivot when it comes the routers configuration settings. | ||
- | All maintained configuration files are storen in ///etc/config/// and can either be edited with an usual text-editor or by using the //uci// command-line interface. | + | 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. \\ |
- | Besides the command-line tool, //uci// also offers alternative programming interfaces, which makes it comfortable to manage the system-configuration from your c-programs or shell-scripts. | + | After altering the routers configuration files, affected system services needs to be restarted. |
===== Configuration Files ===== | ===== Configuration Files ===== | ||
Line 11: | Line 11: | ||
[[documentation:configuration:config_files|Configuration Files]] | [[documentation:configuration:config_files|Configuration Files]] | ||
- | ===== File Syntax ===== | + | ===== File Syntax / Basic principle ===== |
- | Usually the configuration files (//'packages'//) consists of various blocks, so called //'sections'//, which all starts with the //'config'//-statement. Each section can imply multiple options. | + | 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. | ||
- | Below is an example of a simple configuration file: | + | Below is an simple example of such a section block: |
<code> | <code> | ||
- | package 'example' | ||
- | |||
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 32: | Line 40: | ||
Usage | Usage | ||
- | root@OpenWrt:/lib/config# uci | + | # uci |
Usage: uci [<options>] <command> [<arguments>] | Usage: uci [<options>] <command> [<arguments>] | ||
Line 65: | 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 |