[Pkg-libvirt-maintainers] Bug#787973: Please don't use systemctl status in postinst
Michael Biebl
biebl at debian.org
Sun Jun 7 09:04:45 UTC 2015
Package: libvirt-daemon-system
Version: 1.2.16-2
Severity: normal
Hi,
I noticed the following in postinst:
# Force virtlockd to reexec if enabled
if [ -d /run/systemd/system ] && systemctl status virtlockd.service >/dev/null; then
systemctl reload virtlockd.service
fi
using systemctl status is bad, since it accesses the journal, which can
be quite costly.
If you only want to test if a service is active, you can use
systemctl is-active -q virtlockd.service, which is much more
lightweight.
The -q makes sure, you don't need to suppress stdout.
if [ -d /run/systemd/system ] && systemctl is-active -q virtlockd.service ; then
systemctl reload virtlockd.service
fi
Or even simpler for your use case
if [ -d /run/systemd/system ] ; then
systemctl reload-or-try-restart -q virtlockd.service
fi
I think reload-or-try-restart does already exactly what you want.
Cheers,
Michael
-- System Information:
Debian Release: stretch/sid
APT prefers unstable
APT policy: (500, 'unstable'), (500, 'stable'), (200, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 4.0.0-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=de_DE.utf8, LC_CTYPE=de_DE.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
Versions of packages libvirt-daemon-system depends on:
ii adduser 3.113+nmu3
ii gettext-base 0.19.4-1
ii init-system-helpers 1.23
ii libapparmor1 2.9.2-3
ii libaudit1 1:2.4-1+b1
ii libavahi-client3 0.6.31-5
ii libavahi-common3 0.6.31-5
ii libblkid1 2.26.2-6
ii libc6 2.19-18
ii libcap-ng0 0.7.6-1
ii libdbus-1-3 1.8.18-1
ii libdevmapper1.02.1 2:1.02.90-2.2
ii libgnutls-deb0-28 3.3.15-5
ii libnl-3-200 3.2.24-2
ii libnl-route-3-200 3.2.24-2
ii libnuma1 2.0.10-1
ii librados2 0.80.9-2
ii librbd1 0.80.9-2
ii libsasl2-2 2.1.26.dfsg1-13
ii libselinux1 2.3-2
ii libssh2-1 1.5.0-2+b1
ii libsystemd0 220-5~test0
ii libvirt-clients 1.2.16-2
ii libvirt-daemon 1.2.16-2
ii libvirt0 1.2.16-2
ii libxen-4.4 4.4.1-9
ii libxml2 2.9.2+dfsg1-3
ii libyajl2 2.1.0-2
ii logrotate 3.8.7-2
ii policykit-1 0.105-8
Versions of packages libvirt-daemon-system recommends:
ii bridge-utils 1.5-9
ii dmidecode 2.12-4
ii dnsmasq-base 2.72-3.1+b1
ii ebtables 2.0.10.4-3
ii iproute2 3.16.0-2
ii iptables 1.4.21-2+b1
ii parted 3.2-7
pn pm-utils <none>
Versions of packages libvirt-daemon-system suggests:
pn apparmor <none>
pn auditd <none>
ii nfs-common 1:1.2.8-9
ii radvd 1:2.11-1
ii systemd 220-5~test0
pn systemtap <none>
-- Configuration Files:
/etc/libvirt/qemu.conf [Errno 13] Keine Berechtigung: u'/etc/libvirt/qemu.conf'
/etc/libvirt/qemu/networks/default.xml [Errno 13] Keine Berechtigung: u'/etc/libvirt/qemu/networks/default.xml'
-- no debconf information
More information about the Pkg-libvirt-maintainers
mailing list