From a84fe9fe7c680a9de488ed58f85debf08432cbdd Mon Sep 17 00:00:00 2001 From: Satwik Sai Prakash Sahoo Date: Tue, 28 Jul 2026 14:25:30 +0530 Subject: [PATCH] lib/tmpfiles.d: Symlink networks, protocols, rpc and services to /etc glibc resolves these through the usrfiles NSS module, so nothing in /etc is needed for getprotobyname() and friends to work. Anything that reads the paths directly still breaks though: statically linked binaries open /etc/protocols themselves, and a hostPath volume of type File keeps kubelet from starting the pod at all when the file is missing, which is what azure-npm hits on Flatcar. Link them from /usr/share/baselayout the same way /etc/nsswitch.conf already is. tmpfiles leaves an existing path alone, so a copy the user put there keeps winning. Fixes flatcar/Flatcar#1852 Signed-off-by: Satwik Sai Prakash Sahoo --- lib/tmpfiles.d/baselayout-etc.conf | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/tmpfiles.d/baselayout-etc.conf b/lib/tmpfiles.d/baselayout-etc.conf index 39ac424..d009748 100644 --- a/lib/tmpfiles.d/baselayout-etc.conf +++ b/lib/tmpfiles.d/baselayout-etc.conf @@ -2,6 +2,10 @@ d /etc - - - - - L /etc/inputrc - - - - ../usr/share/baselayout/inputrc L /etc/motd - - - - ../run/flatcar/motd L /etc/nsswitch.conf - - - - ../usr/share/baselayout/nsswitch.conf +L /etc/networks - - - - ../usr/share/baselayout/networks +L /etc/protocols - - - - ../usr/share/baselayout/protocols +L /etc/rpc - - - - ../usr/share/baselayout/rpc +L /etc/services - - - - ../usr/share/baselayout/services L /etc/lsb-release - - - - ../usr/share/flatcar/lsb-release L /etc/profile - - - - ../usr/share/baselayout/profile d /etc/profile.d 0755 root root - -