On 31/03/16 00:10, Benjamin Lefoul wrote:
> But sed -i ALSO changes the inode, and as I said it doesn't work:
> 
> root@hoptop:~# touch a
> root@hoptop:~# ls -i a
> 9700011 a
> root@hoptop:~# sed -i 's/q/a/g' a
> root@hoptop:~# ls -i a
> 9700013 a
> 

I've not looked into the NM code.  But it wouldn't surprise me that much
if inotify is used.  But it might be it doesn't catch all the events
which sed would trigger, but only modification triggered by editors.

Can you also check what happens to the inode on a file if you use vim/emacs?


-- 
kind regards,

David Sommerseth



> ________________________________________
> From: [log in to unmask] <[log in to unmask]> on behalf of Tom H <[log in to unmask]>
> Sent: 30 March 2016 23:00
> To: SL Users
> Subject: Re: How does NetworkManager monitor the connection files?
> 
> On Wed, Mar 30, 2016 at 3:49 PM, Benjamin Lefoul
> <[log in to unmask]> wrote:
>>
>> I have set monitor-connection-files=true in my
>> /etc/NetworkManager/NetworkManager.conf
>>
>> It works fine (in fact, instantly) if I edit
>> /etc/sysconfig/network-scripts/ifcfg-eth0 with emacs or vi (for instance,
>> changing the IP).
>>
>> It fails miserably if I use sudoedit, or sed:
>>
>> # grep 100 /etc/sysconfig/network-scripts/ifcfg-eth0
>> IPADDR=192.168.4.100
>>
>> # sed -i 's/100/155/g' /etc/sysconfig/network-scripts/ifcfg-eth0
>>
>> Even though all stats (access modify and change) are renewed.
>>
>> It's worse than that: even nmcli con reload afterwards fails.
>>
>> In fact, the only way to get the ip to change is by entering the file with
>> vi, not touching it, and leave with ":wq" (not just ":q").
>>
>> Why is that? What is going on here?
>>
>> I know, I know, I can use nmcli in scripts, and not string-manipulation
>> tools, but say I don't want to... :)
>>
>> And still, during operations, I'd rather edit the files with sudoedit...
> 
> "sudo -e ifcfg-file" doesn't change the inode. Can you use "sudo vi
> ifcfg-file"? (Or whichever editor you prefer.)
>