[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [augeas-devel] Calling augtool from a script



On 24/04/13 13:56, Graham Leggett wrote:
> On 24 Apr 2013, at 4:20 AM, Ian Mortimer <i mortimer uq edu au> wrote:
> 
>> Here's a very simple example from a centos kickstart %post:
>>
>> augtool -s <<-EOF
>> set /files/etc/pam.d/system-auth-ac/*[module = 'pam_mkhomedir.so']/argument[1] umask=0077
>> set /files/etc/pam.d/password-auth-ac/*[module = 'pam_mkhomedir.so']/argument[1] umask=0077
>> rm /files/etc/ntp.conf/server[. =~ regexp('.*\.centos\.pool\.ntp\.org')]
>> EOF
> 
> Extending the above, I tried the following:
> 
> augtool -s <<-EOF
> set /files/etc/fstab/1[file='/home/monica/minfrin']/spec "/dev/vg001/home-monica-minfrin2"

This should be /files/etc/fstab/*[file= .... and not "1".  See the
example in my last e-mail.

What's happening is you're specifying that you want to change a node
that is:

1. the first entry in the file (the "1")
2. *and* has the path /home/manica/minfrin

I'm guessing your entry probably isn't the first in fstab, so it doesn't
match.  This causes a new node to be created, which now only has the
"spec" given.  When you save it's not a full entry (with every field in
the fstab) so it's causing the error.

Use "print" as suggested in my e-mail to have a look at the tree as you
modify it.  It's really the best way to learn and see what's going on
without stabbing away in the dark.  You would see by running "print
/fiels/etc/fstab" after running your set command that you haven't in
fact changed the "spec" of your entry.

-- 
Dominic Cleal
Red Hat Engineering


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]