Wie Sie wahrscheinlich wissen, wird dieser Dienst standardmäßig aktiviert und automatisch gestartet, wenn Sie ein Paket auf einem Debian- oder Ubuntu-basierten System installieren, wenn das Paket einen Dienst enthält.
Das ist ein Problem für mich.
Ich musste Vorlagen zum Erstellen von LXC-Containern verwalten. Es gibt mehrere Container, die jeweils einer Debian- oder Ubuntu-Version entsprechen. (Es gibt auch Red Hat-basierte Container, die hier jedoch nicht relevant sind.)
/var/lib/libvirt/filesystems/debian6_template
/var/lib/libvirt/filesystems/debian7_template
/var/lib/libvirt/filesystems/ubuntu1004_template
/var/lib/libvirt/filesystems/ubuntu1204_template
Gelegentlich stelle ich fest, dass die Vorlagen ein fehlendes Paket haben oder eine andere Änderung benötigen, sodass ich mich in sie einarbeiten werde, um das Paket zu installieren. Wenn ich das tue, werden leider mehrere Kopien des Paketdienstes ausgeführt!
Ich habe zum Beispiel festgestellt, dass die Vorlagen keinen Syslog-Daemon haben, also habe ich einen installiert:
for template in /var/lib/libvirt/filesystems/{debian,ubuntu}*_template; do
chroot $template apt-get install rsyslog
done
Und schnell mit vier Kopien von rsyslog beendet. Ganz zu schweigen von zwei Kopien von exim4. Hoppla!
Ich habe irgendwo gelesen (obwohl ich es jetzt nicht wieder finde), dass es keine Dienste starten soll, wenn es in einer Chroot läuft, aber das passiert hier eindeutig nicht.
Ein potenziell realisierbarer böser Hack erfordert das vorübergehende Ersetzen der verschiedenen Befehle, mit denen die Dienste tatsächlich gestartet werden, z. B. start-stop-daemon
und initctl
, obwohl dies viel mehr Arbeit ist, als ich eigentlich wollte. Wenn ich aber keine andere Wahl habe ...
Die ideale Lösung wäre hier, wenn Debian-basierte Systeme diesen Mist nicht mehr machen, aber wenn dies nicht gelingt, vielleicht eine undurchsichtige oder undokumentierte Befehlszeilenoption für apt-get
?
Falls es nicht klar war, möchte ich alles, was mit der Verwaltung der Vorlagen zu tun hat, nach Möglichkeit außerhalb der Vorlagen belassen.