User Tools

Site Tools


informatique:os:openwrt

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
informatique:os:openwrt [2022/11/11 09:29] pteuinformatique:os:openwrt [2023/01/29 12:59] – (dnsmasq) leases file in read-only pteu
Line 40: Line 40:
  
 **UCI** (Unified Configuration Interface) est la commande qui permet d'interagir avec la configuration d'OpenWRT. Cet outil permet d'unifier/centraliser la configuration du routeur et est utilisé depuis les versions Kamikaze. **UCI** (Unified Configuration Interface) est la commande qui permet d'interagir avec la configuration d'OpenWRT. Cet outil permet d'unifier/centraliser la configuration du routeur et est utilisé depuis les versions Kamikaze.
 +
 +On peut afficher la configuration sous plusieurs formats :
 <code bash> <code bash>
-uci show +# format natif, programmable 
-uci set +uci show system 
-uci get +system.@system[0]=system 
-! +system.@system[0].cronloglevel='8' 
-uci changes+system.@system[0].zonename='Europe/Paris' 
 +system.@system[0].timezone='CET-1CEST,M3.5.0,M10.5.0/3' 
 +system.@system[0].hostname='har' 
 + 
 +# paramètre précis 
 +uci get system.@system[0].zonename 
 +Europe/Paris 
 + 
 +# format lisible (human-readable) 
 +uci export system 
 +config system 
 +        option cronloglevel '8' 
 +        option zonename 'Europe/Paris' 
 +        option timezone 'CET-1CEST,M3.5.0,M10.5.0/3' 
 +        option hostname 'har' 
 +</code> 
 + 
 +''uci changes'' permet d'afficher les modifications encore non appliquées ; ''uci commit'' permet de sauvegarder ces modifs, et ''reload_config'' permet de le appliquer. 
 + 
 +Exemple de création d'une nouvelle section : 
 +<code bash> 
 +uci show sectionperso 
 +uci import sectionperso < /dev/null 
 +uci set sectionperso.myname=masectionperso 
 +uci add sectionperso blah
 uci commit uci commit
-! +uci show sectionperso 
-uci import +sectionperso.@blah[0]=blah 
-uci export+</code> 
 + 
 +=====UCI extras===== 
 + 
 +Pour éviter les erreurs de configuration, installer les [[https://openwrt.org/docs/guide-user/advanced/uci_extras|UCI extras]] : 
 +<code bash> 
 +opkg update 
 +opkg install diffutils 
 +uclient-fetch -O uci-extras.sh "https://openwrt.org/_export/code/docs/guide-user/advanced/uci_extras?codeblock=0" 
 +. ./uci-extras.sh 
 +</code> 
 + 
 +Cela permet d'ajouter les commandes ''uci validate'' et ''uci diff <section>'', qui permettent respectivement de valider la syntaxe et de voir les différences entre 2 confs. 
 + 
 +<code bash> 
 +uci validate 
 +uci diff dhcp 
 +</code> 
 + 
 +=====Liens utiles===== 
 + 
 +  * https://openwrt.org/docs/guide-user/base-system/uci 
 + 
 + 
 +======Problèmes====== 
 + 
 +=====(dnsmasq) leases file in read-only===== 
 + 
 +<code bash> 
 +dnsmasq[1]: cannot open or create lease file /tmp/dhcp.leases: Read-only file system 
 +</code> 
 +[[https://github.com/openwrt/openwrt/issues/9064|Soucis avec le paquet proc-ujail]] ; en modifiant l'emplacement du fichier de leases cela refonctionne : 
 +<code bash> 
 +touch /var/run/dnsmasq/dhcp.leases 
 +uci set dhcp.@dnsmasq[0].leasefile='/var/run/dnsmasq/dhcp.leases' 
 +service dnsmasq restart
 </code> </code>
 +
 +
informatique/os/openwrt.txt · Last modified: 2023/02/08 10:35 by pteu