[ale] Update ifcfg-eth0 file from command line? (need to re-ip 50 servers)
Phil Turmel
philip at turmel.org
Sat Mar 18 21:55:57 EDT 2017
Aaaaahhhhhhgggg!
Raj, Leam, y'all making me cringe with those procedures. For pity's
sake, use mktemp to safely make an empty temp file in the *same* folder,
stream from the original to the temp file with *one* instance of sed,
then 'mv' the temp file back over the original. At no point will you
have a partially configured network -- filesystems are required to
guarantee that renaming over file atomically replaces it. And at no
point will you have an unsecure temp file exposed.
Phil
On 03/18/2017 09:03 PM, Raj Wurttemberg wrote:
> Yeah, I was actually going to do a sed to just replace the old values and do most everything in one step:
>
> sed -i 's/IPADDR=.*/IPADDR=1.2.3.4/' /etc/sysconfig/network-scripts/ifcfg-eth0 2> /dev/null
> sed -i 's/BROADCAST=.*/BROADCAST=1.2.3.0/' /etc/sysconfig/network-scripts/ifcfg-eth0 2> /dev/null
> sed -i 's/GATEWAY=.*/GATEWAY=1.2.3.1/' /etc/sysconfig/network-scripts/ifcfg-eth0 2> /dev/null
>
> haha... yes, I noticed a long time ago that the RHEL tries to use any file in the /etc/sysconfig/network-scripts directory! Doh!
>
> Thanks,
> /Raj
>
>
> -----Original Message-----
> From: ale-bounces at ale.org [mailto:ale-bounces at ale.org] On Behalf Of Leam Hall
> Sent: Saturday, March 18, 2017 8:32 PM
> To: Atlanta Linux Enthusiasts <ale at ale.org>
> Subject: Re: [ale] Update ifcfg-eth0 file from command line? (need to re-ip 50 servers)
>
> Untested, and I tend to do things in multiple steps.
>
> cp /etc/sysconfig/network-scripts/ifcfg-eth0 /tmp
>
> cat /tmp/ifcfg-eth0 | egrep -iv "ipaddr|broadcast|gateway" >
> /etc/sysconfig/network-scripts/ifcfg-eth0
>
> echo "IPADDR=1.2.3.4" >> /etc/sysconfig/network-scripts/ifcfg-eth0
> echo "BROADCAST=1.2.3.0" >> /etc/sysconfig/network-scripts/ifcfg-eth0
> echo "GATEWAY=1.2.3.1" >> /etc/sysconfig/network-scripts/ifcfg-eth0
>
> service network restart
More information about the Ale
mailing list