Automatisch startende Services bei apt upgrade / apt install paket-mit-service im changeroot
Hallo Liste,
$FRUEHER war es keine gute Idee, in einem Changeroot "einfach so" ein
apt upgrade oder ein apt install $PAKETNAME auszuführen, wenn in dem
chroot dadurch ein Daemon starten oder neu starten würde.
Man musste irgendwie dafür sorgen, dass der start-stop-daemon nicht
losrennt, wenn man nur die Pakete installieren, aber keine Daemons
starten wollte (z.B. weil das chroot ein Template sein soll).
Jetzt lese ich, dass Systemd das sowieso nicht out of the box erlaubt,
dass Daemons in einem chroot starten. D.h. für Systemd-basierte
Templates müssten keine Vorbereitungen getroffen werden.
Für sysvinit und andere Init-Systeme wäre angeblich
echo '#!/bin/bash' > /usr/sbin/policy-rc.d
echo 'exit' 101 >> /usr/sbin/policy-rc.d
chmod +x /usr/sbin/policy-rc.d
im changeroot notwendig und der empfohlene Weg.
Nur: Ich habe eben auf einem Debian Buster mit sysvinit ein changeroot
angelegt, in dem ebenfalls nur sysvinit drin ist, und dort per
apt install --no-install-recommends openssh-server
den OpenSSH-Server installieren versucht.
OHNE diese obige Datei angelegt zu haben.
/proc und /dev/pts waren dabei per bind-mount eingehängt.
Und ich bekomme nur während der Installation einen Hinweis
invoke-rc.d: could not determine current runlevel
aber die Installation läuft sauber durch, und der Daemon startet nicht
(was ja so gewünscht ist).
Auf dem Host lief ein SSH-Daemon, aber auf einem anderen Port, dass der
Daemon nicht hochkam, lag also nicht daran, dass der Port schon belegt war.
Ist der Weg über /usr/sbin/policy-rc.d also gar nicht mehr notwendig,
bringt apt mittlerweile diese Funktionalität selbst mit?
Gruß
Stefan
Reply to: