Automatisch startende Services bei apt upgrade / apt install paket-mit-service im changeroot

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Automatisch startende Services bei apt upgrade / apt install paket-mit-service im changeroot

Stefan Baur
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