A opção de edição do Augeas se existir, adicione o contrário - ao referenciar o nó recém-criado

1

Eu quero fazer algo nos moldes de:

set /files/etc/exports/dir[. = '/export/home'][client = '10.0.0.0/8'] /export/home
set /files/etc/exports/dir[. = '/export/home'][client = '10.0.0.0/8']/client 10.0.0.0/8

O que acontece se eu executar o acima é que o segundo comando cria mais um novo nó, sem qualquer valor de dir definido. Meu desafio é que / export / home share não é um diretório único, pois os clientes são adicionados em novas linhas para facilitar a leitura. Eu preciso das opções de pesquisa dir e client para encontrar um nó exclusivo.

Como posso referenciar o nó (talvez) recém-criado no comando 1, de modo que o resultado final seja:

/export/home 10.0.0.0/8()
    
por Jon Skarpeteig 26.11.2013 / 16:20

1 resposta

1

Os Augeas têm algo chamado defnode que fazem um comando set e armazenam o nó resultante na variável especificada.

Solução para o meu problema:

defnode newdir /files/etc/exports/dir[. = '/export/home' and client = '10.0.0.0/8'] /export/home
set $newdir/client 10.0.0.0/8
set $newdir/client/option[1] rw
set $newdir/client/option[2] async
set $newdir/client/option[3] no_subtree_check

* Editar :% de][ alterado para and para melhor legibilidade

    
por 26.11.2013 / 16:45