Comment # 13 on bug 1177461 from
(In reply to Thomas Blume from comment #12)
> (In reply to Fabian Vogt from comment #11)
> > Dracut just needs to install /usr/etc/{services,nsswitch.conf,protocols}
> > next to the ones from /etc/
> 
> Thanks, now I got it.
> But only including the files doesn't seem to be enough.
> ...
> I still get:
> 
> -->
> c475:/tmp # journalctl -axb | grep rpcbind
> Apr 12 09:50:42 localhost rpcbind[269]: cannot get local address for udp:
> Servname not supported for ai_socktype
> Apr 12 09:50:42 localhost rpcbind[269]: cannot get local address for tcp:
> Servname not supported for ai_socktype
> Apr 12 09:50:42 localhost rpcbind[269]: cannot get local address for udp6:
> Servname not supported for ai_socktype
> Apr 12 09:50:42 localhost rpcbind[269]: cannot get local address for tcp6:
> Servname not supported for ai_socktype
> Apr 12 09:50:45 localhost rpcbind[270]: cannot open file =
> /run/rpcbind/rpcbind.xdr for writing
> Apr 12 09:50:45 localhost rpcbind[270]: cannot save any registration
> Apr 12 09:50:45 localhost rpcbind[270]: cannot open file =
> /run/rpcbind/portmap.xdr for writing
> Apr 12 09:50:45 localhost rpcbind[270]: cannot save any registration
> --<
> 
> Is rpcbind itself aware of /usr/etc?

Files from /usr/etc/ are read through libnss_usrfiles, which is enabled in
(/usr)/etc/nsswitch.conf.

I can reproduce the issue. Actually, even outside of the initrd...
The cause is that rpcbind explicitly overrides nsswitch.conf, presumably to
avoid deadlocks due to recursion.
src/rpcbind.c:183 __nss_configure_lookup("services", nss_modules);

It looks like RH had a similiar issue years ago and sent a patch:
https://sourceforge.net/p/libtirpc/mailman/message/33015641/

Should I open a separate report? Apparently you're bugowner of rpcbind as well.


You are receiving this mail because: