From ee18dd2b88d6767902d442baa92c95f7be69c265 Mon Sep 17 00:00:00 2001 From: Harald Hoyer Date: Fri, 17 Aug 2018 12:50:29 +0200 Subject: [PATCH] ifcfg/write-ifcfg.sh: aggregate resolv.conf The old code used /tmp/net.$netif.resolv.conf with $netif being randomly chosen. As it is not known which nameserver have which priority, just sort them and deduplicate. --- modules.d/45ifcfg/module-setup.sh | 1 + modules.d/45ifcfg/write-ifcfg.sh | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/modules.d/45ifcfg/module-setup.sh b/modules.d/45ifcfg/module-setup.sh index 6791985a..c89def3e 100755 --- a/modules.d/45ifcfg/module-setup.sh +++ b/modules.d/45ifcfg/module-setup.sh @@ -14,6 +14,7 @@ depends() { # called by dracut install() { + inst_binary sort inst_hook pre-pivot 85 "$moddir/write-ifcfg.sh" } diff --git a/modules.d/45ifcfg/write-ifcfg.sh b/modules.d/45ifcfg/write-ifcfg.sh index 25c81be3..3bf847a5 100755 --- a/modules.d/45ifcfg/write-ifcfg.sh +++ b/modules.d/45ifcfg/write-ifcfg.sh @@ -286,7 +286,10 @@ echo "files /etc/sysconfig/network-scripts" >> /run/initramfs/rwtab echo "files /var/lib/dhclient" >> /run/initramfs/rwtab { cp /tmp/net.* /run/initramfs/ - cp /tmp/net.$netif.resolv.conf /run/initramfs/state/etc/resolv.conf + for i in /tmp/net.*.resolv.conf; do + [ -f "$i" ] && cat "$i" + done | sort -u > /run/initramfs/state/etc/resolv.conf + [ -s /run/initramfs/state/etc/resolv.conf ] || rm -f /run/initramfs/state/etc/resolv.conf copytree /tmp/ifcfg /run/initramfs/state/etc/sysconfig/network-scripts cp /tmp/ifcfg-leases/* /run/initramfs/state/var/lib/dhclient } > /dev/null 2>&1