# Настройка OpenWrt с помощью UCI

Источник: https://blog.xsk.in/it/nastrojka-openwrt-s-pomoshh-yu-uci/438/
Опубликовано: 2014-01-12 · Рубрики: IT, Железо


После установки OpenWrt на точку доступа/роутер веб-интерфейс [LuCI](http://wiki.openwrt.org/ru/doc/howto/luci.essentials) может быть отключен для экономии свободного места и/или иных разумных целях. Настроить девайс можно через telnet/ssh, в случае корректной настройки в дальнейшем, кроме редкого нажатия кнопки reboot, обычно никаких мероприятий не требуется.
Для начала необходимо задать пароль системному пользователю через telnet с помощью команды passwd для включения ssh-сервера и маломальской защиты от несанкционированного доступа к настройке устройства.
Дальнейшую настройку правильнее всего осуществлять с применением функционала UCI (****U***nified ***C***onfiguration ***I***nterface - англ. Центральный Конфигурационный Интерфейс*).

1. [Описание UCI](/it/nastrojka-openwrt-s-pomoshh-yu-uci/438/#u1)
2. [Список опций](/it/nastrojka-openwrt-s-pomoshh-yu-uci/438/#u2)
3. [Список команд](/it/nastrojka-openwrt-s-pomoshh-yu-uci/438/#u3)
4. [Список секций](/it/nastrojka-openwrt-s-pomoshh-yu-uci/438/#u4)
5. [Пример использования](/it/nastrojka-openwrt-s-pomoshh-yu-uci/438/#u5)

<a name="u1"></a>
Вся работа UCI сводится к редактированию файлов, расположенных в каталоге /etc/config/. Поэтому все команды uci можно свести к примитивной работе с текстовыми файлами с помощью джентельменского набора awk, cat, grep и редактора vi. Но такой подход является избыточным и мало эффективным по сравнению с предложенным разработчиками функционалом. Посудите сами: для получения детальной информации о параметрах текущего WAN соединении необходимо написать сложный парсер вывода команды ***ifconfig***:

```
 $ ifconfig br-lan
br-lan    Link encap:Ethernet  HWaddr A0:F3:C1:F6:EF:69
          inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:52135115 errors:0 dropped:419825 overruns:0 frame:0
          TX packets:65080505 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:32804794514 (30.5 GiB)  TX bytes:69502191623 (64.7 GiB)

$ ifconfig br-lan|grep "inet addr:"|cut -f 2 -d ':'|cut -f 1 -d ' '
192.168.1.1
```

Другое дело - воспользоваться представленным в виде элементов массива выводом uci, где для получения любого параметра необходимо просто явно его указать с оператором get:

```
$ uci -P/var/state show network.wan
network.lan=interface
network.lan.type=bridge
network.lan.proto=static
network.lan.ipaddr=192.168.1.1
network.lan.netmask=255.255.255.0
network.lan.up=1
network.lan.connect_time=200818
network.lan.device=eth0
network.lan.ifname=br-lan

$ uci -P/var/state get network.lan.ipaddr
192.168.1.1
```

<a name="u2"></a>
Список команд и опций uci доступен по вызову этой утилиты в консоли без параметров:

```
Usage: uci [<options>] <command> [<arguments>]

Commands:
	batch
	export     [<config>]
	import     [<config>]
	changes    [<config>]
	commit     [<config>]
	add        <config> <section-type>
	add_list   <config>.<section>.<option>=<string>
	show       [<config>[.<section>[.<option>]]]
	get        <config>.<section>[.<option>]
	set        <config>.<section>[.<option>]=<value>
	delete     <config>[.<section[.<option>]]
	rename     <config>.<section>[.<option>]=<name>
	revert     <config>[.<section>[.<option>]]

Options:
	-c <path>  установка пути поиска конфигурационных файлов (по умолчанию: /etc/config)
	-d <str>   установка разделителя для значений списка в uci show
	-f <file>  использовать для ввода информации содержимое файла <file> вместо стандартного потока stdin
	-m         при импорте, объединение данных в уже существующий пакет
	-n         имя не именованной секции при экспорте (по умолчанию)
	-N         не присваивать имени не именованным секциям
	-p <path>  добавить путь поиска файлов измененной конфигурации
	-P <path>  добавить путь поиска файлов измененной конфигурации и использовать его по умолчанию
	-q         тихий режим (не печатаются сообщения об ошибках)
	-s         строгий режим (останавливаться на ошибках парсинга, используется по умолчанию)
	-S         отключить строгий режим
	-X         не использовать расширенный синтаксис для 'show'
```

<a name="u3"></a>Команды

<table width="756">
<tbody>
<tr>
<th rowspan="1" colspan="1">Команда</th>
<th style="text-align: center;" rowspan="1" colspan="1">Цель</th>
<th style="text-align: center;" rowspan="1" colspan="1">Описание</th>
</tr>
<tr>
<td style="text-align: center;" rowspan="1" colspan="1"><code>commit</code></td>
<td rowspan="1" colspan="1"><code>[&lt;config&gt;]</code></td>
<td rowspan="1" colspan="1">
<p style="text-align: justify;">Сохраняет изменения данного конфигурационного файла, либо, если он не указан, всех конфигурационных файлов в файловую систему. Все команды "uci set", "uci add", "uci rename" и "uci delete" сохраняют результаты во временное хранилище и сохраняются сразу скопом во флэш-память с помощью "uci commit". Это не нужно делать после редактирования конфигурационного файла в текстовом редакторе, но необходимо для скриптов, <acronym title="Graphical User Interface">GUI</acronym> и других программ работающих непосредственно с UCI файлами.</p>
</td>
</tr>
<tr>
<td style="text-align: center;" rowspan="1" colspan="1"><code>batch</code></td>
<td rowspan="1" colspan="1">-</td>
<td rowspan="1" colspan="1">Запускает многострочный UCI скрипт, который обычно выполнен в форме <a title="http://www.tldp.org/LDP/abs/html/here-docs.html" href="http://www.tldp.org/LDP/abs/html/here-docs.html" rel="nofollow">here-документа</a>).</td>
</tr>
<tr>
<td style="text-align: center;" rowspan="1" colspan="1"><code>export</code></td>
<td rowspan="1" colspan="1"><code>[&lt;config&gt;]</code></td>
<td rowspan="1" colspan="1">Экспорт конфигурации в машино-читаемый формат. Используется внутренне для преобразования конфигурационных файлов в shell-скрипты.</td>
</tr>
<tr>
<td style="text-align: center;" rowspan="1" colspan="1"><code>import</code></td>
<td rowspan="1" colspan="1"><code>[&lt;config&gt;]</code></td>
<td rowspan="1" colspan="1">Импорт конфигурационных файлов в синтаксисе UCI.</td>
</tr>
<tr>
<td style="text-align: center;" rowspan="1" colspan="1"><code>changes</code></td>
<td rowspan="1" colspan="1"><code>[&lt;config&gt;]</code></td>
<td rowspan="1" colspan="1">Список зарезервированных (пер. но еще не сохраненных) изменений данного конфигурационного файла или, если файл не указан, всех конфигурационных файлов.</td>
</tr>
<tr>
<td style="text-align: center;" rowspan="1" colspan="1"><code>add</code></td>
<td rowspan="1" colspan="1"><code>&lt;config&gt; &lt;section-type&gt;</code></td>
<td rowspan="1" colspan="1">Добавить анонимную секцию типа <code>section-type</code> в данную конфигурацию.</td>
</tr>
<tr>
<td style="text-align: center;" rowspan="1" colspan="1"><code>add_list</code></td>
<td rowspan="1" colspan="1"><code>&lt;config&gt;.&lt;section&gt;.&lt;option&gt;=&lt;string&gt;</code></td>
<td rowspan="1" colspan="1">Добавить данную строку в существующий список опций.</td>
</tr>
<tr>
<td style="text-align: center;" rowspan="1" colspan="1"><code>show</code></td>
<td rowspan="1" colspan="1"><code>[&lt;config&gt;[.&lt;section&gt;[.&lt;option&gt;]]]</code></td>
<td rowspan="1" colspan="1">Отобразить данную опцию, секцию или конфигурацию в компактном виде.</td>
</tr>
<tr>
<td style="text-align: center;" rowspan="1" colspan="1"><code>get</code></td>
<td rowspan="1" colspan="1"><code>&lt;config&gt;.&lt;section&gt;[.&lt;option&gt;]</code></td>
<td rowspan="1" colspan="1">Получить значение данной опции или тип данной секции.</td>
</tr>
<tr>
<td style="text-align: center;" rowspan="1" colspan="1"><code>set</code></td>
<td rowspan="1" colspan="1"><code>&lt;config&gt;.&lt;section&gt;[.&lt;option&gt;]=&lt;value&gt;</code></td>
<td rowspan="1" colspan="1">Установить значение данной опции, или добавить новую секцию с типом равным указанному значению.</td>
</tr>
<tr>
<td style="text-align: center;" rowspan="1" colspan="1"><code>delete</code></td>
<td rowspan="1" colspan="1"><code>&lt;config&gt;[.&lt;section[.&lt;option&gt;]]</code></td>
<td rowspan="1" colspan="1">Удалить данную секцию или опцию.</td>
</tr>
<tr>
<td style="text-align: center;" rowspan="1" colspan="1"><code>rename</code></td>
<td rowspan="1" colspan="1"><code>&lt;config&gt;.&lt;section&gt;[.&lt;option&gt;]=&lt;name&gt;</code></td>
<td rowspan="1" colspan="1">Переименовать данную секцию или опцию.</td>
</tr>
<tr>
<td style="text-align: center;" rowspan="1" colspan="1"><code>revert</code></td>
<td rowspan="1" colspan="1"><code>&lt;config&gt;[.&lt;section&gt;[.&lt;option&gt;]]</code></td>
<td rowspan="1" colspan="1">Отменить изменения данной опции, секции или конфигурационного файла.</td>
</tr>
</tbody>
</table>

<a name="u4"></a>
После конфигурирования необходимо сделать uci commit для сохранения изменений и перезапустить соответствующий сервис. Список сервисов (с соответствующими файлами папки /etc/config) приведен ниже:

<table>
<tbody>
<tr>
<th style="text-align: center;" rowspan="1" colspan="1">Файл</th>
<th style="text-align: center;" rowspan="1" colspan="1">Описание</th>
</tr>
<tr>
<th style="text-align: center;" rowspan="1" colspan="2">Основные</th>
</tr>
<tr>
<td rowspan="1" colspan="1"><a title="doc:uci:dhcp" href="http://wiki.openwrt.org/doc/uci/dhcp">/etc/config/dhcp</a></td>
<td rowspan="1" colspan="1">Конфигурация Dnsmasq и установки <acronym title="Dynamic Host Configuration Protocol">DHCP</acronym></td>
</tr>
<tr>
<td rowspan="1" colspan="1"><a title="doc:uci:dropbear" href="http://wiki.openwrt.org/doc/uci/dropbear">/etc/config/dropbear</a></td>
<td rowspan="1" colspan="1">Опции <acronym title="Secure Shell">SSH</acronym> сервера</td>
</tr>
<tr>
<td rowspan="1" colspan="1"><a title="ru:doc:uci:firewall" href="http://wiki.openwrt.org/ru/doc/uci/firewall">/etc/config/firewall</a></td>
<td rowspan="1" colspan="1">NAT, пакетная фильтрация, перенаправление портов, и т.д.</td>
</tr>
<tr>
<td rowspan="1" colspan="1"><a title="doc:uci:network" href="http://wiki.openwrt.org/doc/uci/network">/etc/config/network</a></td>
<td rowspan="1" colspan="1">Конфигурация коммутатора, интерфейсов и маршрутизатора</td>
</tr>
<tr>
<td rowspan="1" colspan="1"><a title="doc:uci:system" href="http://wiki.openwrt.org/doc/uci/system">/etc/config/system</a></td>
<td rowspan="1" colspan="1">Доп. системные настройки</td>
</tr>
<tr>
<td rowspan="1" colspan="1"><a title="doc:uci:timeserver" href="http://wiki.openwrt.org/doc/uci/timeserver">/etc/config/timeserver</a></td>
<td rowspan="1" colspan="1">Список серверов времени для <em>rdate</em></td>
</tr>
<tr>
<td rowspan="1" colspan="1"><a title="doc:uci:wireless" href="http://wiki.openwrt.org/doc/uci/wireless">/etc/config/wireless</a></td>
<td rowspan="1" colspan="1">Настройки беспроводного подключения и сети wifi</td>
</tr>
<tr>
<th style="text-align: center;" rowspan="1" colspan="2">IPv6</th>
</tr>
<tr>
<td rowspan="1" colspan="1"><a title="doc:uci:ahcpd" href="http://wiki.openwrt.org/doc/uci/ahcpd" rel="nofollow">/etc/config/ahcpd</a></td>
<td rowspan="1" colspan="1">Ad-Hoc Configuration Protocol (AHCP) server and forwarder configuration</td>
</tr>
<tr>
<td rowspan="1" colspan="1"><a title="doc:uci:aiccu" href="http://wiki.openwrt.org/doc/uci/aiccu">/etc/config/aiccu</a></td>
<td rowspan="1" colspan="1">AICCU client configuration</td>
</tr>
<tr>
<td rowspan="1" colspan="1"><a title="doc:uci:dhcp6c" href="http://wiki.openwrt.org/doc/uci/dhcp6c">/etc/config/dhcp6c</a></td>
<td rowspan="1" colspan="1">WIDE-DHCPv6 client</td>
</tr>
<tr>
<td rowspan="1" colspan="1"><a title="doc:uci:dhcp6s" href="http://wiki.openwrt.org/doc/uci/dhcp6s" rel="nofollow">/etc/config/dhcp6s</a></td>
<td rowspan="1" colspan="1">WIDE-DHCPv6 server</td>
</tr>
<tr>
<td rowspan="1" colspan="1"><a title="doc:uci:gw6c" href="http://wiki.openwrt.org/doc/uci/gw6c" rel="nofollow">/etc/config/gw6c</a></td>
<td rowspan="1" colspan="1">GW6c client configuration</td>
</tr>
<tr>
<td rowspan="1" colspan="1"><a title="doc:uci:radvd" href="http://wiki.openwrt.org/doc/uci/radvd">/etc/config/radvd</a></td>
<td rowspan="1" colspan="1">Router Advertisement (radvd) configuration</td>
</tr>
<tr>
<th style="text-align: center;" rowspan="1" colspan="2">Другое</th>
</tr>
<tr>
<td rowspan="1" colspan="1"><a title="doc:uci:bbstored" href="http://wiki.openwrt.org/doc/uci/bbstored">/etc/config/bbstored</a></td>
<td rowspan="1" colspan="1">Конфигурация сервера резервного копирования BoxBackup</td>
</tr>
<tr>
<td rowspan="1" colspan="1"><a title="doc:uci:etherwake" href="http://wiki.openwrt.org/doc/uci/etherwake">/etc/config/etherwake</a></td>
<td rowspan="1" colspan="1">Wake-on-Lan: etherwake</td>
</tr>
<tr>
<td rowspan="1" colspan="1"><a title="doc:uci:fstab" href="http://wiki.openwrt.org/doc/uci/fstab">/etc/config/fstab</a></td>
<td rowspan="1" colspan="1">Точки монтирования и раздел подкачки</td>
</tr>
<tr>
<td rowspan="1" colspan="1"><a title="doc:uci:hd-idle" href="http://wiki.openwrt.org/doc/uci/hd-idle">/etc/config/hd-idle</a></td>
<td rowspan="1" colspan="1">Another idle-daemon for attached hard drives</td>
</tr>
<tr>
<td rowspan="1" colspan="1"><a title="doc:uci:httpd" href="http://wiki.openwrt.org/doc/uci/httpd">/etc/config/httpd</a></td>
<td rowspan="1" colspan="1">Установки веб-серввера (Busybox httpd, устарело)</td>
</tr>
<tr>
<td rowspan="1" colspan="1"><a title="doc:uci:luci" href="http://wiki.openwrt.org/doc/uci/luci" rel="nofollow">/etc/config/luci</a></td>
<td rowspan="1" colspan="1">Основные настройки LuCI</td>
</tr>
<tr>
<td rowspan="1" colspan="1"><a title="doc:uci:luci_statistics" href="http://wiki.openwrt.org/doc/uci/luci_statistics" rel="nofollow">/etc/config/luci_statistics</a></td>
<td rowspan="1" colspan="1">Настройка пакета статистики</td>
</tr>
<tr>
<td rowspan="1" colspan="1"><a title="doc:uci:mini_snmpd" href="http://wiki.openwrt.org/doc/uci/mini_snmpd">/etc/config/mini_snmpd</a></td>
<td rowspan="1" colspan="1">Настройки SNMP демона mini_snmpd</td>
</tr>
<tr>
<td rowspan="1" colspan="1"><a title="doc:uci:minidlna" href="http://wiki.openwrt.org/doc/uci/minidlna">/etc/config/minidlna</a></td>
<td rowspan="1" colspan="1">Настройки MiniDLNA</td>
</tr>
<tr>
<td rowspan="1" colspan="1"><a title="doc:uci:mjpg-streamer" href="http://wiki.openwrt.org/doc/uci/mjpg-streamer" rel="nofollow">/etc/config/mjpg-streamer</a></td>
<td rowspan="1" colspan="1">Настройки потокового вещания для Linux-UVC совместимых веб-камер</td>
</tr>
<tr>
<td rowspan="1" colspan="1"><a title="doc:uci:mountd" href="http://wiki.openwrt.org/doc/uci/mountd">/etc/config/mountd</a></td>
<td rowspan="1" colspan="1">Настройки демона автомонтирования OpenWrt</td>
</tr>
<tr>
<td rowspan="1" colspan="1"><a title="doc:uci:mroute" href="http://wiki.openwrt.org/doc/uci/mroute" rel="nofollow">/etc/config/mroute</a></td>
<td rowspan="1" colspan="1">Конфигурационные файлы для маршрутов мульти-<acronym title="Wide Area Network">WAN</acronym></td>
</tr>
<tr>
<td rowspan="1" colspan="1"><a title="doc:uci:multiwan" href="http://wiki.openwrt.org/doc/uci/multiwan">/etc/config/multiwan</a></td>
<td rowspan="1" colspan="1">Конфигурация простого мульти-<acronym title="Wide Area Network">WAN</acronym></td>
</tr>
<tr>
<td rowspan="1" colspan="1"><a title="doc:uci:ntpclient" href="http://wiki.openwrt.org/doc/uci/ntpclient">/etc/config/ntpclient</a></td>
<td rowspan="1" colspan="1">Настройки NTP клиента синхронизации времени</td>
</tr>
<tr>
<td rowspan="1" colspan="1"><a title="doc:uci:p910nd" href="http://wiki.openwrt.org/doc/uci/p910nd">/etc/config/p910nd</a></td>
<td rowspan="1" colspan="1">Настройки для без-буферного демона печати <a title="doc:howto:p910nd.server" href="http://wiki.openwrt.org/doc/howto/p910nd.server">p910nd.server</a></td>
</tr>
<tr>
<td rowspan="1" colspan="1"><a title="doc:uci:pure-ftpd" href="http://wiki.openwrt.org/doc/uci/pure-ftpd">/etc/config/pure-ftpd</a></td>
<td rowspan="1" colspan="1">Конфигурация сервера Pure-FTPd</td>
</tr>
<tr>
<td rowspan="1" colspan="1"><a title="doc:uci:qos" href="http://wiki.openwrt.org/doc/uci/qos">/etc/config/qos</a></td>
<td rowspan="1" colspan="1">Реализация <acronym title="Quality of Service">QoS</acronym> для <em>upload</em></td>
</tr>
<tr>
<td rowspan="1" colspan="1"><a title="doc:uci:racoon" href="http://wiki.openwrt.org/doc/uci/racoon">/etc/config/racoon</a></td>
<td rowspan="1" colspan="1">Настройки сервиса IPsec <em>racoon</em></td>
</tr>
<tr>
<td rowspan="1" colspan="1"><a title="doc:uci:samba" href="http://wiki.openwrt.org/doc/uci/samba">/etc/config/samba</a></td>
<td rowspan="1" colspan="1">Настройки сервера SAMBA для шаринга файлов и принтеров сетей Microsoft</td>
</tr>
<tr>
<td rowspan="1" colspan="1"><a title="doc:uci:snmpd" href="http://wiki.openwrt.org/doc/uci/snmpd">/etc/config/snmpd</a></td>
<td rowspan="1" colspan="1">Настройки SNMP демона SNMPd</td>
</tr>
<tr>
<td rowspan="1" colspan="1"><a title="doc:uci:sshtunnel" href="http://wiki.openwrt.org/doc/uci/sshtunnel">/etc/config/sshtunnel</a></td>
<td rowspan="1" colspan="1">Установки пакета <code>sshtunnel</code></td>
</tr>
<tr>
<td rowspan="1" colspan="1"><a title="doc:uci:stund" href="http://wiki.openwrt.org/doc/uci/stund">/etc/config/stund</a></td>
<td rowspan="1" colspan="1">Настройки сервера STUN</td>
</tr>
<tr>
<td rowspan="1" colspan="1"><a title="doc:uci:transmission" href="http://wiki.openwrt.org/doc/uci/transmission">/etc/config/transmission</a></td>
<td rowspan="1" colspan="1">Настройки BitTorrent</td>
</tr>
<tr>
<td rowspan="1" colspan="1"><a title="doc:uci:uhttpd" href="http://wiki.openwrt.org/doc/uci/uhttpd">/etc/config/uhttpd</a></td>
<td rowspan="1" colspan="1">Настройки веб-сервера (uHTTPd)</td>
</tr>
<tr>
<td rowspan="1" colspan="1"><a title="doc:uci:miniupnpd" href="http://wiki.openwrt.org/doc/uci/miniupnpd">/etc/config/upnpd</a></td>
<td rowspan="1" colspan="1">Настройки UPnP сервера miniupnpd</td>
</tr>
<tr>
<td rowspan="1" colspan="1"><a title="doc:uci:users" href="http://wiki.openwrt.org/doc/uci/users">/etc/config/users</a></td>
<td rowspan="1" colspan="1">База данных пользователей для различных сервисов</td>
</tr>
<tr>
<td rowspan="1" colspan="1"><a title="doc:uci:ushare" href="http://wiki.openwrt.org/doc/uci/ushare">/etc/config/ushare</a></td>
<td rowspan="1" colspan="1">Настройки сервера UPnP uShare</td>
</tr>
<tr>
<td rowspan="1" colspan="1"><a title="doc:uci:vblade" href="http://wiki.openwrt.org/doc/uci/vblade">/etc/config/vblade</a></td>
<td rowspan="1" colspan="1">vblade userspace AOE target</td>
</tr>
<tr>
<td rowspan="1" colspan="1"><a title="doc:uci:vnstat" href="http://wiki.openwrt.org/doc/uci/vnstat" rel="nofollow">/etc/config/vnstat</a></td>
<td rowspan="1" colspan="1">vnstat downloader settings</td>
</tr>
<tr>
<td rowspan="1" colspan="1"><a title="doc:uci:wifitoggle" href="http://wiki.openwrt.org/doc/uci/wifitoggle">/etc/config/wifitoggle</a></td>
<td rowspan="1" colspan="1">Скрипт для вкл. WiFi кнопкой</td>
</tr>
<tr>
<td rowspan="1" colspan="1"><a title="doc:uci:wol" href="http://wiki.openwrt.org/doc/uci/wol">/etc/config/wol</a></td>
<td rowspan="1" colspan="1">Wake-on-Lan: wol</td>
</tr>
<tr>
<td rowspan="1" colspan="1"><a title="doc:uci:wshaper" href="http://wiki.openwrt.org/doc/uci/wshaper" rel="nofollow">/etc/config/wshaper</a></td>
<td rowspan="1" colspan="1">wondershaper qos script settings</td>
</tr>
<tr>
<td rowspan="1" colspan="1"><a title="doc:uci:znc" href="http://wiki.openwrt.org/doc/uci/znc">/etc/config/znc</a></td>
<td rowspan="1" colspan="1">ZNC bouncer configuration</td>
</tr>
</tbody>
</table>

<a name="u5"></a>

## Примеры использования UCI

## **Изменение системного имени**

По умолчанию системное имя (hostname) - OpenWrt, его можно изменить, для чего необходимо внести исправление в файл /etc/config/system. С UCI эта процедура сводится к следующему:

```
uci set system.@system[0].hostname='MyRouter'
uci commit system
echo $(uci get system.@system[0].hostname) > /proc/sys/kernel/hostname
```

Теперь роутер будет называться ***MyRouter***.

## **Изменение часового пояса**

```
uci set system.@system[0].zonename='Asia/Novosibirsk'
uci set system.@system[0].timezone='NOVT-7'
uci commit system
timezone=$(uci get system.@system[0].timezone); [ -z "$timezone" ] && timezone=UTC; echo "$timezone" > /tmp/TZ
```

Примерный список временных зон можно найти в [wiki](http://wiki.openwrt.org/doc/uci/system#time.zones).

*Ссылки:*

- [http://wiki.openwrt.org/ru/doc/uci](http://wiki.openwrt.org/ru/doc/uci)
- [http://wiki.openwrt.org/doc/uci](http://wiki.openwrt.org/doc/uci)

