Es gibt eine etwas hackige, aber sehr zuverlässige Methode, die ich seit einiger Zeit in einem automatisierten Installationsskript verwende.
Erstellen Sie zunächst ein Verzeichnis, das beispielsweise /root/fakeSymlinks zu /bin/trueaufgerufenen enthält :
initctl
invoke-rc.d
restart
start
stop
start-stop-daemon
service
deb-systemd-helper
Sie können sie auch dazu bringen, Skripte zu schlagen, die nichts bewirken und zum Erfolg führen.
Fügen Sie dieses Verzeichnis beim $PATHInstallieren von Paketen an der Vorderseite ein :
PATH=/root/fake:$PATH apt-get install whatever
Dies verhindert nur, dass Daemons gestartet / neu gestartet werden, während Dinge wie das Erstellen eines Initramfs noch durchgeführt werden.
Erläuterung
Die Skripte, die bei der Installation und Deinstallation invoke-rc.ddes Pakets ausgeführt werden, oder andere der genannten Befehle zum Starten und Beenden von Diensten. Sie nennen sie jedoch nicht mit absoluten Pfaden (zumindest habe ich keinen gefunden, der dies tut).
Wenn Sie also zu Beginn die gefälschten "no operation" -Befehle einfügen $PATH, werden die echten Befehle nie aufgerufen.
Da nur die Befehle zum Starten / Beenden von Diensten gefälscht werden, funktionieren alle anderen, insbesondere wichtigen Aufgaben wie das Aktualisieren / Erstellen von initramfs-Images, noch.