Isso pode ser feito com lineinfile
, talvez, supondo que o formato do arquivo não seja alterado e defaults
esteja lá para restringir a correspondência, após o qual a opção nodev
e o restante da linha podem ser adicionado:
- hosts: localhost
tasks:
- lineinfile:
path: /tmp/fstab
regexp: '^(\S+\s+/home\s+\S+\s+defaults)'
line: ',nodev 1 2'
backrefs: yes
como testado com:
$ ansible-playbook lineinfile.yml
$ diff /tmp/fstab.orig /tmp/fstab
no entanto, para pontos de montagem, há o módulo de montagem que pode ser menor frágil do que a análise regular de fstab
. Por outro lado, o regex não se importará com o que é o UUID, enquanto uma entrada do módulo mount
pode precisar de algo específico que pode variar entre os hosts. Uma regra ou script adicional que testa que o dispositivo de sistema de arquivos apropriado está definido pode ser necessário para capturar as chances baixas, mas não zero, de que a regex falhe.