[PKG-OpenRC-Debian] Bug#874790: /lib/rc/bin/lsb2rcconf: Boot dependency does not work for nfs-common
Palo M.
palo.gm at gmail.com
Sat Sep 9 15:48:20 UTC 2017
Package: openrc
Version: 0.23-1+b1
Severity: normal
File: /lib/rc/bin/lsb2rcconf
Dear Maintainer,
After switching to openrc, the daemons of package nfs-common (statd, idmapd,
gssd) do not start, because they depend on rpcbind (which is not started by
openrc before nfs-common).
When looking into source of lsb2rcconf I have found that it reads only file
/etc/insserv.conf to solve dependencies of legacy rc scripts.
However, the package rpcbind (which provides portmap service) installs its
info into /etc/insserv.conf.d/rpcbind (and with sysv-rc also files in
/etc/insserv.conf.d/ are read together with /etc/insserv.conf so it starts
as intended when sysv-rc is used).
So most likely lsb2rcconf should also read the files in /etc/insserv.conf.d/
to be able to solve all the dependencies. (Some other packages add their
files into /etc/insserv.conf.d/ too, for example dnsmasq or maradns.)
I tried the small workaround: I added content of /etc/insserv.conf.d/rpcbind
to the end of /etc/insserv.conf. Afterwards the rpcbind is indeed started
before nfs-common and all works fine.
Attached below are the files default_rc.log and default_checks.txt showing
the situation in default case (without workaround).
The files workaround_rc.log and workaround_checks.txt below show the
situation after workaround is applied.
Kind regards,
Palo M.
*** default_rc.log
rc sysinit logging started at Sat Sep 9 16:31:18 2017
OpenRC 0.23 is starting up Linux 4.9.0-3-amd64 (x86_64)
* /proc is already mounted
* /run/openrc: creating directory
* /run/lock: creating directory
* /run/lock: correcting owner
* Caching service dependencies ...
[ ok ]
[....] Starting the hotplug events dispatcher: systemd-udevdstarting version 232
[ ok .
[....] Synthesizing the initial hotplug events...[ ok done.
[....] Waiting for /dev to be fully populated...[ ok done.
[....] Setting up keyboard layout...[ ok done.
[....] Activating swap...[ ok done.
[....] Activating lvm and md swap...[ ok done.
[....] Checking file systems...fsck from util-linux 2.29.2
[ ok done.
[....] Cleaning up temporary files... /tmp[ ok .
[....] Mounting local filesystems...[ ok done.
[....] Activating swapfile swap...[ ok done.
[....] Cleaning up temporary files...[ ok .
[....] Setting kernel variables...[ ok done.
[....] Configuring network interfaces...ifup: interface eth0 already configured
[ ok done.
[....] Starting NFS common utilities: statd
[....] Not starting: portmapper is not running ...[warn (warning).
[....] Cleaning up temporary files...[ ok .
[....] Starting RPC port mapper daemon: rpcbind[ ok .
rc sysinit logging stopped at Sat Sep 9 16:31:18 2017
rc default logging started at Sat Sep 9 16:31:18 2017
[....] Setting up console font and keymap...[ ok done.
[....] Starting enhanced syslogd: rsyslogd[ ok .
[....] Starting periodic command scheduler: cron[ ok .
[....] Starting system message bus: dbus[ ok .
rc default logging stopped at Sat Sep 9 16:31:18 2017
*** default_checks.txt
# rpcinfo -p
program vers proto port service
100000 4 tcp 111 portmapper
100000 3 tcp 111 portmapper
100000 2 tcp 111 portmapper
100000 4 udp 111 portmapper
100000 3 udp 111 portmapper
100000 2 udp 111 portmapper
# ps -ef | grep 'rpc\.'
# /lib/rc/bin/lsb2rcconf /etc/init.d/rpcbind
description="RPC portmapper replacement"
depend () {
provide _all
use networking ifupdown mountall mountall-bootclean mountoverflowtmp
umountfs
}
# /lib/rc/bin/lsb2rcconf /etc/init.d/nfs-common
description="NFS support files common to client and server"
depend () {
provide _all
use hwclock
}
*** workaround.sh
#!/bin/sh
#
echo "\n# rpcbind workaround for openrc" >> /etc/insserv.conf
cat /etc/insserv.conf.d/rpcbind >> /etc/insserv.conf
*** workaround_rc.log
rc sysinit logging started at Sat Sep 9 16:35:36 2017
OpenRC 0.23 is starting up Linux 4.9.0-3-amd64 (x86_64)
* /proc is already mounted
* /run/openrc: creating directory
* /run/lock: creating directory
* /run/lock: correcting owner
* Caching service dependencies ...
[ ok ]
[....] Starting the hotplug events dispatcher: systemd-udevdstarting version 232
[ ok .
[....] Synthesizing the initial hotplug events...[ ok done.
[....] Waiting for /dev to be fully populated...[ ok done.
[....] Setting up keyboard layout...[ ok done.
[....] Activating swap...[ ok done.
[....] Activating lvm and md swap...[ ok done.
[....] Checking file systems...fsck from util-linux 2.29.2
[ ok done.
[....] Cleaning up temporary files... /tmp[ ok .
[....] Mounting local filesystems...[ ok done.
[....] Activating swapfile swap...[ ok done.
[....] Cleaning up temporary files...[ ok .
[....] Setting kernel variables...[ ok done.
[....] Configuring network interfaces...ifup: interface eth0 already configured
[ ok done.
[....] Starting RPC port mapper daemon: rpcbind[ ok .
[....] Starting NFS common utilities: statd idmapd gssd[ ok .
[....] Cleaning up temporary files...[ ok .
rc sysinit logging stopped at Sat Sep 9 16:35:36 2017
rc default logging started at Sat Sep 9 16:35:36 2017
[....] Setting up console font and keymap...[ ok done.
[....] Starting enhanced syslogd: rsyslogd[ ok .
[....] Starting periodic command scheduler: cron[ ok .
[....] Starting system message bus: dbus[ ok .
rc default logging stopped at Sat Sep 9 16:35:36 2017
*** workaround_checks.txt
# rpcinfo -p
program vers proto port service
100000 4 tcp 111 portmapper
100000 3 tcp 111 portmapper
100000 2 tcp 111 portmapper
100000 4 udp 111 portmapper
100000 3 udp 111 portmapper
100000 2 udp 111 portmapper
100024 1 udp 49743 status
100024 1 tcp 47091 status
# ps -ef | grep 'rpc\.'
statd 4882 1 0 16:35 ? 00:00:00 /sbin/rpc.statd
root 4905 1 0 16:35 ? 00:00:00 /usr/sbin/rpc.idmapd
root 4910 1 0 16:35 ? 00:00:00 /usr/sbin/rpc.gssd
# /lib/rc/bin/lsb2rcconf /etc/init.d/rpcbind
description="RPC portmapper replacement"
depend () {
provide _all
use networking ifupdown mountall mountall-bootclean mountoverflowtmp
umountfs
}
# /lib/rc/bin/lsb2rcconf /etc/init.d/nfs-common
description="NFS support files common to client and server"
depend () {
provide _all
use hwclock
need rpcbind
}
-- System Information:
Debian Release: 9.1
APT prefers stable
APT policy: (500, 'stable')
Architecture: amd64 (x86_64)
Kernel: Linux 4.9.0-3-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_NZ.UTF-8, LC_CTYPE=en_NZ.UTF-8 (charmap=UTF-8),
LANGUAGE=en_NZ:en (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: sysvinit (via /sbin/init)
Versions of packages openrc depends on:
ii init-system-helpers 1.48
ii insserv 1.14.0-5.4+b1
ii libaudit1 1:2.6.7-2
ii libc6 2.24-11+deb9u1
ii libeinfo1 0.23-1+b1
ii libpam0g 1.1.8-3.6
ii librc1 0.23-1+b1
ii libselinux1 2.6-3+b1
openrc recommends no packages.
Versions of packages openrc suggests:
pn policycoreutils <none>
ii sysvinit-core 2.88dsf-59.9
-- Configuration Files:
/etc/rc.conf changed:
rc_logger="yes"
rc_loopsolver_enable="YES"
rc_loopsolver_warnings="YES"
rc_tty_number=12
-- no debconf information
More information about the OpenRC-devel
mailing list