udhcpc: support resolv.conf symlinks
Often it is desirable to have /etc/ be on read-only storage (well, the whole rootfs) but have things like /etc/resolv.conf be symlinks to a writable location. Tweak the simple script to support that. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
This commit is contained in:
parent
40b97fb31e
commit
39b8fb41c5
@ -34,13 +34,17 @@ case "$1" in
|
||||
fi
|
||||
|
||||
echo "Recreating $RESOLV_CONF"
|
||||
echo -n > $RESOLV_CONF-$$
|
||||
[ -n "$domain" ] && echo "search $domain" >> $RESOLV_CONF-$$
|
||||
# If the file is a symlink somewhere (like /etc/resolv.conf
|
||||
# pointing to /run/resolv.conf), make sure things work.
|
||||
realconf=$(realpath "$RESOLV_CONF" 2>/dev/null || echo "$RESOLV_CONF")
|
||||
tmpfile="$realconf-$$"
|
||||
> "$tmpfile"
|
||||
[ -n "$domain" ] && echo "search $domain" >> "$tmpfile"
|
||||
for i in $dns ; do
|
||||
echo " Adding DNS server $i"
|
||||
echo "nameserver $i" >> $RESOLV_CONF-$$
|
||||
echo "nameserver $i" >> "$tmpfile"
|
||||
done
|
||||
mv $RESOLV_CONF-$$ $RESOLV_CONF
|
||||
mv "$tmpfile" "$realconf"
|
||||
;;
|
||||
esac
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user