Índice
- Introdução
- Instalação
- LuCi - web interface de configuração
- Acesso
- Configuração de Sistema
- Sistema
- Configurações gerais
- Administração de sistema
- Cópia de segurança/gravar firmware
- Gerenciador de pacotes
- Rede
- Acesso por SSH
- UCI - Interface de Configurção Unificada
- Princípios comuns
- Arquivos de configuração
- Sintaxe de configuração
- Utilitário de linha de comando
- Configuração não tratada por UCI
- Gerenciador de pacotes opkg
- Roteador hard reset
- Bibliografia
Introdução ^

O LibreCMC GNU/Linux-libre é uma distribuição do sistema operacional Gnu/Linux dedicada a embarcados, especialmente roteadores, mas podendo ser utilizada de maneira geral, certificada pela Fundação de Software Livre como em conformidade com as Diretrizes para Distribuições de Sistemas Livres (GNU FSDG).
Instalação ^
O processo de instalação do LibreCMC não é muito complicado, mas exige atenção para não fazer seu dispositivo ficar inutilizável. Para a instalação, tenha em mente a lista oficial de modelos suportados. A instalação consiste em gravar a imagem do LibreCMC de fábrica específica do dispositivo através da página de atualização do firmware proprietário, geralmente na seção de administração do sistema.
Também é possível construir uma imagem LibreCMC você mesmo para algum firmware suportado. O sistema de construção é simples, basta seguir a documentação de compilação.
Caso queira, podemos fazer a instalação para você, enquanto nos ajuda a manter as atividades da Brigada. Entre em nossa página de equipamentos e veja como pedir um dispositivo com LibreCMC.

LuCi - Web interface de configuração ^
LuCi é a interface web de configuração de roteadores usada por LibreCMC. Desenvolvida com a poderosa, eficiente e leve linguagem de programação de script Lua, de origem brasileira e bastante popular.

Acesso ^
Para acessar LuCi, conecte seu computador (ou outro dispositivo) ao roteador e, pelo navegador, entre no endereço https://192.168.10.1, padrão do gateway. Sempre entre com as credenciais através de conexão criptografada (https) para não correr o risco de algum cliente malicioso pegar as suas credenciais.
Primeiro acesso ^
Caso seja o primeiro acesso, o usuário administrativo padrão é root e não existe senha, bastando apenas executar o botão Entrar.

Definição de senha ^
Na página inicial, defina uma senha executando o botão Ir para a configuração de senha. Ou pelo menu princial Sistema > Administração, aba Senha do Roteador.

Insira sua senha nos campos indicados e execute o botão Salvar.

Configuração de sistema ^
As configurações dos aspectos básicos do seu equipamento, como nome do dispositivo, fuso horário, atualiação, backup, etc. está localizado no menu superior denominado Sistema.

Sistema ^
Página localizada no menu Sistema > Sistema, onde está a configuração do nome do dispositivo, fuso horário, serviço de NTP e etc. A página é subdividida em abas apresentadas abaixo.
Configurações gerais
Nessa aba defina o Nome do equipamento e Fuso horário correto e execute o botão Salvar & Aplicar ou Salvar.

Sincronização de horário
Na Aba Sincronização de horário marque a caixa Ativar o cliente NTP e defina os Candidatos a servidor NTP para os sevidores de sua preferêcia. Nós sugerimos os servidores brasileiro do Nic.BR: a.ntp.br, b.ntp.br e c.ntp.br. Insira o candidato a servidor e execute o botão +. Após inserir todos os servidores NTP, execute o botão Salvar & Aplicar ou Salvar.

Administração de sistema ^
Na página de Administração, localizada no menu Sistema > Administração, estão as configurações de acesso ao LibreCMC como, por exemplo, configuração de senha, acesso SSH e HTTP(s). Após qualquer modificação na configuração lembre-se de executar o botão Salvar & Aplicar.

Cópia de segurança/gravar firmware ^
Essa página, localizada em Sistema > Cópia de Segurança/Gravar Firmware, contém funções de backup e restauração da configuração e das partições do sistema, bem como atualização do firmware. É muito importante manter uma cópia de segurança das partições do LibreCMC, bem como, após configurar o LibreCMC, fazer uma cópia das configurações do sistema para restaurar, caso precise resetar o sistema para as configurações padrões e restaurá-las após.

Hard reset do roteador ^
A seção Restauração da página Cópia de Segurança/Grava Firmware é destinada a fazer o hard reset do roteador. Para tanto, execute o botão Restaure as configurações iniciais.
Após, se desejar, restaure as configurações através do arquivo de backup das configurações.
Atualização do firmware ^
Diferentemente de firmwares proprietários, o LibreCMC lança novas versões com frequência. Então, é possível manter o roteador atualizado com LibreCMC.
Essa seção da página Cópia de Segurança/Grava Firmware é destinada a fazer instalação de imagens do firmware de fábrica ou de atualizações compatíveis com sysupgrade. Faça o download da imagem do seu dispositivo e do seu arquivo de verificação de integridade sha256sums ou faça a construção você mesmo. As imagens são nomeadas da seguinte forma:
librecmc-$BUILD_TARGET-generic-$TARGET_PROFILE-$VERSION-$FS_TYPE-factory.bin e librecmc-$BUILD_TARGET-generic-$TARGET_PROFILE-$VERSION-$FS_TYPE-sysupgrade.bin
Sendo $BUILD_TARGET = target (ex. ar71xx), $TARGET_PROFILE = dispositivo, $VERSION = versão do dispositivo.
A image cujo nome termina com factory.bin faz uma instalação limpa, geralmente utilizada para instalação à partir do firmware proprietário, enquanto a imagem com nome terminando com sysupgrade.bin faz uma instalação mantendo a configuração, geralmente utilizada para instalação de atualizações.
Faça a verificação da integridade das imagens com o comando sha256sum. Se o seu sistema operacional é Gnu/Linux, no terminal execute o comando a seguir:
sha256sum --ignore-missing -c sha256sums
Se a imagem estiver íntegra, a saída do comando será ok.
Execute o botão Imagem e selecione a imagem desejada para gravação e, após, execute o botão Gravar imagem. O processo deve demorar alguns minutos até a conclusão. Não deslique o dispositivo até que esteja concluído.
Gerenciador de pacotes ^
Essa página, localizada em Sistema > Software, gerencia os pacotes do LibreCMC. Faça a atualização da lista de pacotes executando o botão Atualizar lista. A Página contém abas com a lista de pacotes Disponível, Instalado e Atualizações. Antes de instalar qualquer pacote é importante considerar o Espaço livre do dispositivo e Tamanho do pacote. Para instalar, basta executar o botão Instalar

Rede ^
Esse menu contém as configurações das interfaces Lan e Wan do roteador, da rede sem fio, roteamento, DHCP, DNS e Firewall. Após qualquer alteração nessas configurações, execute o botão Salvar & Aplicar.

Interfaces ^
Localizada no menu Rede > Interfaces, a página contém as configurações das interfaces LAN (rede local) e WAN (rede pública). As configurações dessas interfaces é acessada executando seu respectivo botão Editar.

LAN
Executando o botão Editar da interface LAN (rede local). Uma caixa será aberta contendo as configurações da LAN. Na aba Configurações gerais, a configuração Endereço IPv4 define o endereço gateway do dispositivo, bem como a faixa de endereço IP local utilizada para atribuir automaticamente, através do protocolo DHCP, endereços IP aos dispotivos conectados. Além dela, a configuração Máscara de rede IPv4 para definir a sub-rede.

WAN
Para modificar a interface WAN (rede pública), execute o botão Editar da interface. Uma caixa com as configurações da interface WAN será aberta. Na aba Configurações gerais defina seu Protocolo. As opções são: Cliente DHCP, Cliente DHCPv6, Não gerenciado, PPP, PPPoE, Ponte por retransmissão e Endereço estático. As opções mais utilizadas pelos provedores de internet (IPS) são Cliente DHCP, PPPoE e Endereço estático. Se não sabe o protocolo correto para conectar o LibreCMC à rede pública, entre em contato com o seu ISP e peça auxílio.

Rede sem fio - Wi-Fi ^
Para ativar/desativar e configurar a rede sem fio Wi-Fi de 2.4GHz e 5GHz, entre na página Rede sem fio localizada no meu Rede.

Configuração
Na seção Visão Geral da Rede sem Fio é possível ativar/desativar as interfaces de rede sem fio (2.4GHz e/ou 5GHz) executando o botão Ativar ou Desativar.

Para realizar a configuração execute o botão Editar da respectiva interface de rede sem fio (2.4GHz e/ou 5GHz). A janela de configuração será aberta.

Na seção Configuração da interface, defina o Modo, sendo Ponto de Acesso (AP) utilizado para acesso à rede interna e internet via Wi-Fi (outros modos possíveis são Cliente, Ad-Hoc, Monitor, etc); e o ESSID para o nome de rede Wi-Fi desejado.

Na aba Segurança da Rede sem Fio escolha a chave de criptografia de conexão dos clientes. Sendo possíveis as chaves OWE (rede aberta), WPA-PSK, WPA2-PSK e WAP3-SAE com possibilidade de combinações de chaves.

Acesso por SSH ^
LibreCMC também pode ser acessado por SSH para realização de configuração e manutenção. Isso torna possível, por exemplo, instalar LibreCMC sem a interface web de configuração Luci instalado, liberando espaço para a instalação de programas.

Configuração do acesso SSH ^
O acesso por SSH é realizado através do programa Dropbear, um serviço de SSH muito leve, dedicado a embarcados, mas também usado em initramfs para acesso a máquinas antes mesmo do kernel ser carregado.
Na interface web Luci, a página de configuração do acesso por SSH está localizada em Sistema > Administração Aba Acesso SSH. Por questões de segurança remova a autenticação por senha e configure a autenticação por chave SSH na aba Chaves SSH adicionando sua chave pública SSH à configuração.

Se o seu sistema operacional é Gnu/Linux, sua chave pública geralmente é localizada em ~/.ssh/id_rsa.pub. Você pode simplesmente arrastar o arquivo do seu gerenciador de arquivos para o local indicado na janela da interface Luci ou copiar e colar o conteúdo da chave pública.

Acesso SSH ^
Para acessar o LibreCMC pelo SSH basta executar o comando no terminal:
ssh root@192.168.10.1
Atualização do firmware ^
Diferentemente de firmwares proprietários, o LibreCMC lança novas versões com frequência. Então, é possível manter o roteador atualizado com LibreCMC. O firmware pode ser atualizado tanto pela interface web Luci quanto pelo shell através do acesso SSH. Aqui trataremos do procedimento de atualização pelo shell.
Essa seção da página Cópia de Segurança/Grava Firmware é destinada a fazer instalação de imagens do firmware de fábrica ou de atualizações compatíveis com sysupgrade. Faça o download da imagem do seu dispositivo e do seu arquivo de verificação de integridade sha256sums ou faça a construção você mesmo. As imagens são nomeadas da seguinte forma:
librecmc-$BUILD_TARGET-generic-$TARGET_PROFILE-$VERSION-$FS_TYPE-factory.bin e librecmc-$BUILD_TARGET-generic-$TARGET_PROFILE-$VERSION-$FS_TYPE-sysupgrade.bin
Sendo $BUILD_TARGET = target (ex. ar71xx), $TARGET_PROFILE = dispositivo, $VERSION = versão do dispositivo.
A image cujo nome termina com factory.bin faz uma instalação limpa, geralmente utilizada para instalação à partir do firmware proprietário, enquanto a imagem com nome terminando com sysupgrade.bin faz uma instalação mantendo a configuração, geralmente utilizada para instalação de atualizações.
Faça a verificação da integridade das imagens com o comando sha256sum. Se o seu sistema operacional é Gnu/Linux, no terminal execute o comando a seguir:
Se a imagem estiver íntegra, a saída do comando será ok.
scp librecmc-$BUILD_TARGET-generic-$TARGET_PROFILE-$VERSION-$FS_TYPE-sysupgrade.bin sha256sums root@192.168.1.1:/tmp
Acesse o roteador pelo SSH:
ssh root@192.168.10.1:/tmp
Faça a verificação sha256 da integridade da imagem com o comando:
sha256sum --ignore-missing -c sha256sums
Se o resultado for OK, a imagem está íntegra e você pode fazer a atualização com segurança.
O processo de gração/atualização do novo firmware é demorado, então espere até que tudo esteja finalizado, senão você corre o risco de fazer tijolo do seu roteador. Faça a atualização executando o seguinte comando:
sysupgrade -v /tmp/librecmc-$BUILD_TARGET-generic-$TARGET_PROFILE-$VERSION-$FS_TYPE-sysupgrade.bin
UCI - Interface de Configuração Unificada ^
UCI é um sistema para centralizar a configuração dos serviços do LibreCMC. É a principal interface de configuração do sistema, incluindo a configuração principal de interface de rede, configurações sem fio, funcionalidade de registro e configuração de acesso remoto.
Muitos pacotes no repositório LibreCMC são compatíveis com o sistema UCI. As aplicações são feitas compatíveis simplesmente escrevendo o arquivo de configuração original (que é lido pelo programa) de acordo com as configurações escolhidas no arquivo UCI correspondente. Isso é feito ao executar os scripts de inicialização em /etc/init.d/. Assim, ao iniciar um daemon com tal script de inicialização compatível com UCI, você deve estar ciente de que o arquivo de configuração original do programa é substituído. Por exemplo, no caso do Samba/CIFS, o arquivo /etc/samba/smb.conf é substituído com configurações UCI do arquivo de configuração do UCI /etc/config/samba ao executar /etc/init.d/samba start. Além disso, o arquivo de configuração do aplicativo é frequentemente armazenado em RAM em vez de em flash, porque ele não precisa ser armazenado em memória não volátil e é reescrito após cada mudança, com base no arquivo UCI. Existem maneiras de desativar o UCI caso você queira ajustar as configurações no arquivo de configuração original não disponível através do UCI, em cifs.server você pode ver como desativar UCI para samba, por exemplo.
Para aqueles programas não compatíveis com UCI, existe uma lista conveniente de alguns arquivos de configuração não-UCI que você pode querer atender. Note que, para a maioria dos programas de terceiros, você deve consultar a própria documentação do programa.
Princípios comuns ^
A configuração central do LibreCMC está dividida em vários arquivos localizados no diretório /etc/config/. Cada arquivo se relaciona aproximadamente com a parte do sistema que ele configura. Você pode editar os arquivos de configuração com um editor de texto ou modificá-los com o programa utilitário de linha de comando UCI. Arquivos de configuração UCI também são modificáveis através de várias APIs de programação (como Shell, Lua e C), que também é como interfaces web como LuCI fazem alterações nos arquivos UCI.
Como exemplo de modificação da configuração do UCI, suponha que você queira alterar o endereço IP do dispositivo do padrão 192.168.1.1 para 192.168.2.1. Para fazer isso, usando qualquer editor de texto, como vi, altere a linha:
option ipaddr 192.168.1.1
No arquivo /etc/config/network para:
option ipaddr 192.168.2.1
Em seguida, commit as configurações executando
/etc/init.d/network restart
Neste caso, lembre-se que você tem que fazer login novamente usando o SSH como o dispositivo está agora acessível em seu novo endereço IP.
Arquivos de configuração UCI ^
Arquivo | Descrição |
---|---|
Básicas | |
/etc/config/dhcp | Dnsmasq e odhcpd configuração: DNS, DHCP, DHCPv6 |
/etc/config/dropbear | SSH configurações |
/etc/config/firewall | NAT, filtro de pacotes, encaminhamento de porta, etc. |
/etc/config/network | Configuração switch, rotas |
/etc/config/system | Conjunto de configurações de sistema, NTP, RNG, Watchcat |
/etc/config/wireless | Configurações da rede Wi-Fi |
Rede IPv6 | |
/etc/config/ahcpd | Configuração do servidor de encaminhamento Ad-Hoc, protocolo (AHCP) |
/etc/config/dhcp6c | Cliente WIDE-DHCPv6 |
/etc/config/dhcp6s | Servidor DHCPv6 |
/etc/config/gw6c | Configuração do cliente GW6c |
Outros | |
/etc/config/acme | Configuração do certificado via ACME |
/etc/config/babeld | Configuração babeld |
/etc/config/bbstored | Configuração do servidor BoxBackup |
/etc/config/cloudflared | Configuração do tunel Cloudflare |
/etc/config/ddns | Configuração de DNS dinâmico (ddns-scripts) |
/etc/config/dnscrypt-proxy | Configuração do DNSCrypt |
/etc/config/dockerd | Configuração do motor Docker CE |
/etc/config/emailrelay | E-MailRelay: servidor simples de SMTP e proxy com suport POP. Package emailrelay |
/etc/config/etherwake | Wake-on-Lan: etherwake |
/etc/config/freifunk_p2pblock | Usa iptables layer7-, ipp2p- e recentes módulos de bloqueio de tráfego p2p/filesharing |
/etc/config/fstab | Configuração de pontos de montagem e swap |
/etc/config/hd-idle | Outro servidor de discos |
/etc/config/httpd | Configuração de servidor Web (Busybox httpd, deprecated) |
/etc/config/ipset-dns | Configuração ipset-dns |
/etc/config/kadnode | KadNode p2p DNS |
/etc/config/luci | Configurações básicas da interface web de configuração LibreCMC LuCI |
/etc/config/luci_statistics | Configuração de obtenção de estatística de pacotes |
/etc/config/mini_snmpd | Configuração do servidor mini_snmpd |
/etc/config/minidlna | Configuração do servidor de mídia MiniDLNA |
/etc/config/mjpg-streamer | Aplicação de Streaming para webcams compatíveis com Linux-UVC |
/etc/config/mountd | Servidor automount LibreCMC |
/etc/config/mroute | Configuraão de arquivos para múltiplas rotas WAN |
/etc/config/multiwan | Configuração simples de multi WAN |
/etc/config/mwan3 | Configurção Multi-WAN com load balancing and mais |
/etc/config/nodogsplash | Configurção nodogsplash |
/etc/config/ntpclient | Sincronização de tempo através de cliente ntp |
/etc/config/nut_server | Controle da UPS (Uninterruptible Power Supply) e/ou completilhamento com outros hosts |
/etc/config/nut_monitor | Monitoramento de UPS (Uninterruptible Power Supply) de um remote host ou local nut-server |
/etc/config/nut_cgi | Web UI para NUT (visto somente em UCI) |
/etc/config/p910nd | Configuração para serviço de impressão non-spooling p910nd.server |
/etc/config/pure-ftpd | Configuração do serviço Pure-FTPd |
/etc/config/qos | Implementação do Quality of Service para upload |
/etc/config/racoon | Serviço racoon IPsec |
/etc/config/samba | Configuração para o Microsoft file e serviço de impressão |
/etc/config/snmpd | Configuração SNMPd |
/etc/config/sqm | Configuração SQM |
/etc/config/sshtunnel | Configuração para o pacote sshtunnel |
/etc/config/stund | Configuração para o seriço STUN |
/etc/config/tinc | Configuração do pacore tinc |
/etc/config/tor | Configuração Tor |
/etc/config/tor-hs | Configuração de serviços ocultos por Tor |
/etc/config/transmission | Configuração BitTorrent |
/etc/config/uhttpd | Configurações do Web server (uHTTPd) |
/etc/config/upnpd | Configuração do serviço miniupnpd UPnP |
/etc/config/users | Banco de dados de usuários para diferentes serviços |
/etc/config/ushare | Configurações do serviço uShare UPnP |
/etc/config/vblade | vblade userspace AOE target |
/etc/config/vnstat | Configurações do gerenciador de download vnstat |
/etc/config/wifitoggle | Configuração do botão Toggle WiFi |
/etc/config/wol | Wake-on-Lan: wol |
/etc/config/znc | Configuração do serviço ZNC bouncer (IRC) |
Sintaxe dos arquivos de configuração ^
Os arquivos de configuração UCI geralmente consistem em uma ou mais instruções de configuração, chamadas seções com uma ou mais instruções de opção definindo os valores reais.
A # começa comentários da maneira usual. Especificamente, se uma linha contém um # fora de uma string literal, ele e todos os caracteres após ele na linha são considerados um comentário e ignorados.
Abaixo está um exemplo de um arquivo de configuração simples:
package 'example'
config 'example' 'test'
option 'string' 'some value'
option 'boolean' '1'
list 'collection' 'first item'
list 'collection' 'second item'
- A configuração do pacote 'exemplo' define o início de uma seção com nome de 'teste'. Também pode ser chamado de seções anônimas com apenas um tipo, mas sem identificador de nome. O tipo é importante para que os programas de processamento decidam como tratar as opções fechadas.
- A opção 'string' 'algum valor' e 'boolean' '1' linhas definem valores simples dentro da seção. Observe que não há diferenças sintáticas entre as opções texto e booleano. Por convenção, as opções booleanas podem ter um dos valores '0', 'não', 'off', 'falso' ou 'desactivado' para especificar um valor falso ou '1', 'sim', 'on', 'true' ou ' habilitado' para especificar um valor verdadeiro.
- Nas linhas começando com uma palavra-chave lista uma opção com múltiplos valores é definida. Todas as declarações de lista que compartilham o mesmo nome, coleção em nosso exemplo, serão combinadas em uma única lista de valores com a mesma ordem que no arquivo de configuração.
- A indentação da opção e instruções de lista é uma convenção para melhorar a legibilidade do arquivo de configuração, mas não é sintaticamente necessária.
- Se uma opção estiver ausente e não for necessária, o valor padrão é assumido. Se estiver ausente e necessário, pode desencadear um erro na aplicação ou outro comportamento indesejado.
- Uma forma de desativar uma seção de configuração, que não tem uma opção habilitada para ser desabilitada, é renomear o identificador de seção de configuração (ou tipo, neste exemplo de caso) para um valor não reconhecido pelos processos que usam esses valores. Normalmente, um identificador_desativado como tipo/identificador de seção de configuração é suficiente.
Normalmente você não precisa anexar identificadores ou valores nas citações. As citações só são necessárias se o valor fechado contiver espaços ou abas. Também é legal usar aspas em vez de cotações simples ao digitar opções de configuração.
Todos os exemplos abaixo são sintaxe UCI válida:
option example value
option example "value"
option 'example' value
option 'example' "value"
option "example" 'value'
É importante saber que identificadores UCI e nomes de arquivos de configuração podem conter apenas os caracteres a-z, 0-9 e _. Por exemplo, não são permitidos hífens (-). Os valores de opção podem conter qualquer caractere (enquanto forem devidamente citados).
Utilitário de linha de comando UCI ^
Para ajustar as configurações, normalmente se muda os arquivos de configuração UCI diretamente. No entanto, para fins de script, toda a configuração do UCI também pode ser lida e alterada usando o utilitário de linha de comando uci. Para desenvolvedores que necessitam de processamento automático da configuração UCI, é, portanto, redundante, imprudente e ineficiente usar awk e grep para processar os arquivos de configuração do LibreCMC. O utilitário uci oferece toda a funcionalidade no que diz respeito a modificar e processar UCI.
Abaixo está o uso, bem como alguns exemplos úteis de como usar este utilitário poderoso.
Ao usar uci para escrever arquivos de configuração, os arquivos são sempre reescritos em comandos inteiros e os comandos não reconhecidos são omitidos. Isso significa que quaisquer linhas estranhas no arquivo são excluídas, como comentários. Se você tem arquivos de configuração UCI que você mesmo editou e deseja preservar seus próprios comentários e linhas em branco, você não deve usar o utilitário linha de comando, mas editar os arquivos normalmente. Note que alguns arquivos, como o arquivo de configuração uHTPd, já contêm muitos comentários quando o aplicativo é instalado pela primeira vez. Além disso, note que algumas aplicações como LuCI também usam o utilitário uci e, assim, podem reescrever arquivos de configuração UCI.
Quando existem várias seções do mesmo tipo em uma configuração, UCI suporta referências tipo array para elas. Se existem 8 servidores NTP definidos em /etc/config/system, UCI permitirá que você refira suas seções como system.@timeserver[0] para o primeiro ou system.@timeserver[7] para o último. Você também pode usar índices negativos, como system.@timeserver[-1]. “-1” significa o último, “-2” significa o segundo a último, e assim por diante. Isto é muito útil ao adicionar novas regras ao fim de uma lista. Veja os exemplos abaixo.
Uso ^
UCI segue a seguinte sintaxe de linha de comando:
Usage: uci [<options>] <command> [<arguments>]
A seguir tabela de comandos:
Comando | Alvo | Descrição |
---|---|---|
commit | [<config>] | Grava as alterações do ficheiro de configuração indicado, ou se não for indicado nenhum, todos os ficheiros de configuração, para o sistema de ficheiros. Todos os comandos "uci set", "uci add", "uci rename" e "uci delete" são encenados em um local temporário e escritos para flash imediatamente com "uci commit". Isso não é necessário depois de editar arquivos de configuração com um editor de texto, mas para scripts, GUIs e outros programas trabalhando diretamente com arquivos UCI. |
batch | - | Executa um script UCI de várias linhas que é tipicamente envolvido em uma sintaxe de documento aqui. |
export | [<config>] | Exporta a configuração em um formato legível por máquina. É usado internamente para avaliar arquivos de configuração como scripts shell. |
import | [<config>] | Importa arquivos de configuração na sintaxe UCI. |
changes | [<config>] | Lista as alterações encenadas para o ficheiro de configuração indicado ou, se não for indicado, todos os ficheiros de configuração. |
add | <config> <section-type> | Adicionar uma secção anónima do tipo de secção à configuração indicada. |
add_list | <config>.<section>.<option>=<string> | Adicionar o texto indicado a uma opção de lista existente. |
del_list | <config>.<section>.<option>=<string> | Remover o texto fornecido de uma opção de lista existente. |
show | [<config>[.<section>[.<option>]]] | Mostra a opção, secção ou configuração indicada na notação compactada. |
get | <config>.<section>[.<option>] | Obter o valor da opção indicada ou o tipo da secção indicada. |
set | <config>.<section>[.<option>]=<value> | Defina o valor da opção indicada, ou adicione uma nova seção com o tipo definido para o valor indicado. |
delete | <config>.<section>[.<option>] | Apagar a secção ou opção indicada. |
rename | <config>.<section>[.<option>]=<name> | Renomeie a opção ou seção indicada para o nome dado. |
revert | <config>[.<section>[.<option>]] | Reverter a opção indicada, seção ou arquivo de configuração. |
reorder | <config>.<section>=<position> | Mova uma secção para outra posição. |
Exemplos ^
Exemplos
Configurando um valor
Se queremos alterar a porta de escuta do servidor web uHTPd de 80 para 8080, alteramos a configuração em /etc/config/uhttpd:
uci set uhttpd.main.listen_http='8080'
uci commit uhttpd
/etc/init.d/uhttpd restart
Feito, agora o arquivo de configuração é atualizado e uHTTPd escuta na porta 8080.
Exportar uma configuração inteira
uci export configuration_name
As configurações comumente disponíveis são: defaults, dnsmasq, dropbear, firewall, fstab, net, qos, samba, system, wireless.
Mostrando uma configuração
uci show configuration_name
# uci show system
system.@system[0]=system
system.@system[0].hostname='LibreCMC'
system.@system[0].timezone='UTC'
system.ntp=timeserver
system.ntp.server='0.openwrt.pool.ntp.org' '1.openwrt.pool.ntp.org' '2.openwrt.pool.ntp.org' '3.openwrt.pool.ntp.org'
system.ntp.enabled='1'
system.ntp.enable_server='0'
Mostrar apenas o valor de uma opção
uci get httpd.@httpd[0].port
Adicionar um item a uma lista
uci add_list system.ntp.server='0.de.pool.ntp.org'
Substituir uma lista completamente
uci delete system.ntp.server
uci add_list system.ntp.server='0.de.pool.ntp.org'
uci add_list system.ntp.server='1.de.pool.ntp.org'
uci add_list system.ntp.server='2.de.pool.ntp.org'
Adicionando uma seção com nome à configuração
Para adicionar uma seção nomeada de um determinado tipo, deve ser usada a forma sem opção do comando uci set.
touch /etc/config/example
uci set example.this_name=blah
uci set example.this_name.xxx=yyy
uci set example.other_name=blah
uci set example.other_name.yyy=zzz
uci commit example
uci show example
example.this_name=blah
example.this_name.xxx=yyy
example.other_name=blah
example.other_name.yyy=zzz
cat /etc/config/example
config blah 'this_name'
option xxx 'yyy'
config blah 'other_name'
option yyy 'zzz'
Salvando valores modificados de uma única configuração
uci commit configuration_name
reload_config
Configuração de sistema não tratada por UCI ^
Muitas coisas podem (e, portanto, devem ser) configuradas com uci através de qualquer uma de suas interfaces. Esta página se preocupa com tudo o que está embutido no LibreCMC que não pode ser configurado com UCI. Note que a maioria das aplicações de terceiros, instaladas com opkg ou de outra forma, normalmente também têm seus próprios métodos de configuração. Usuários experientes com distribuição GNU/Linux saberão tudo isso de cor. Para iniciantes isso deve ser útil.
Arquivos de configuração não UCI ^
Configuração | Descripção |
---|---|
/etc/banner | Banner recepção de Login. |
/etc/crontabs | Cron |
/etc/dnsmasq.conf | Dnsmasq |
/etc/ethers | See: Dnsmasq |
/etc/firewall.user | Firewall |
/etc/apcupsd/apcupsd.conf | |
/etc/fstab | Um link simbólico para /tmp/fstab que está sendo criado e configurado pelo UCI em /etc/config/fstab. |
/etc/fw_env.config | |
/etc/group | Este é um arquivo ASCII que define os grupos aos quais os usuários pertencem. |
/etc/hosts | Dnsmasq |
/etc/hosts.allow | |
/etc/hosts.deny | |
/etc/hotplug.d | Hotplug |
/etc/init.d/rcS | Executado por init a cada início. |
/etc/inittab | Exemplos inittab |
/etc/iproute2/rt_tables | Configuração de tabelas de roteamento: iproute2 |
/etc/mtab | filesystems, flash.layout, procfs, sysfs, devpts |
/etc/opkg.conf | Opkg |
/etc/passwd | |
/etc/preinit | Em LibreCMC o Kernel é executado pelo bootloader com a opção init=/etc/preinit (em vez do init=/sbin/init usual). Assim, o Kernel executa /etc/preinit. Process.boot |
/etc/profile | |
/etc/protocols | |
/etc/rc.common | Parte do Shebang (Unix) de muitos scripts shell em /etc/init.d. Verifica os scripts iniciais por erros. Por exemplo, desde R27797 verifica se “start” e “stop” são definidos. |
/etc/rc.local | Este ficheiro é executado pelo /etc/rc.d/S95done em cada arranque. Você deve tratar este arquivo como um script de shell. |
/etc/resolv.conf | Um link simbólico para /tmp/resolv.conf. |
/etc/services | |
/etc/shells | |
/etc/sysctl.conf | /etc/sysctl.conf é chamado de cada inicialização por /etc/rc.d/S99sysctl. |
/etc/sysupgrade.conf | Este arquivo contém arquivos e diretórios que devem ser preservados durante uma atualização. Sysupgrade |
/etc/TZ | Um link simbólico para /tmp/TZ que está sendo criado e configurado com UCI em /etc/config/system |
Gerenciador de pacotes opkg ^
O gerenciador de pacotes do LibreCMC é chamado pelo comando opkg e por meio dele é possível instalar pacotes do seu repositório. Atualmente o repositório contém 2417 pacotes para serem instalados, sendo limitado apenas pelos recursos do seu dispositivo. A seguir comandos mais utilizados.
Comandos de manipulação de pacotes
Abaixo sequência de comando para obter informações sobre os pacotes.
Atualização do repositório:
opkg update
Atualizar pacote:
opkg upgrade <pacote>
**nunca atualize muitos bacotes ao mesmo tempo, pois existe change real de bricar o aparelho**
Remove pacote:
opkg remove <pacote>
Comandos para obter informações
Abaixo comando para obter informações sobre os pacotes.
Listar pacotes disponíveis:
opkg list
Listar pacotes instalados:
opkg list-installed
listar pacotes com atualizações:
opkg list-upgradable
Procurar pacotes a partir do nome ou descrição:
opkg find <pacote>
Procurar pacotes que tem o arquivo:
opkg search <arquivo>
Informmação sobre o pacote:
opkg info <pacote>
Router hard reset ^
Router hard reset físico ^
Segure o botão de reiniciar até o LED SYS piscar mais rápido. Solte o botão de reiniciar e espere até que o roteador reinicie.
Router hard reset pelo ^
Se conecte ao roteador por SSH e execute o comando firstboot:
ssh root@192.168.10.1
firstboot
Também é possível realizar o hard reset pela interface de configuração LuCi.
Bibliografia ^
- Página do projeto LibreCMC - https://librecmc.org
- Página da documentação openwrt sobre a interface Luci - https://openwrt.org/docs/guide-user/luci/start
- Wiki do projeto Luci - https://github.com/openwrt/luci/wiki
- Wiki do projeto OpenWRT para configuração completa - https://openwrt.org/docs/guide-user/start