Jest nieco pospieszny, ale dość niezawodny sposób na zrobienie tego, z którego korzystałem od dłuższego czasu w skrypcie automatycznej instalacji.
Najpierw utwórz katalog /root/fake, który zawiera na przykład dowiązania symboliczne do /bin/truewywoływanych:
initctl
invoke-rc.d
restart
start
stop
start-stop-daemon
service
deb-systemd-helper
Możesz także zmusić je do skasowania skryptów, które nic nie robią i zwracają sukces.
Następnie dołącz ten katalog z przodu $PATHpodczas instalowania pakietów:
PATH=/root/fake:$PATH apt-get install whatever
Zapobiega to tylko uruchamianiu / restartowaniu demonów, podczas gdy takie rzeczy jak tworzenie initramfs są nadal wykonywane.
Wyjaśnienie
Skrypty, które są uruchamiane podczas instalacji i usuwania pakietu, wykonują invoke-rc.dlub inne z wymienionych komend, aby uruchomić i zatrzymać usługi. Nie nazywają ich jednak absolutnymi ścieżkami (przynajmniej nie spotkałem takiej, która to robi).
Tak więc wstawiając fałszywe polecenia „brak operacji” na początku $PATH, prawdziwe polecenia nigdy nie zostaną wywołane.
Ponieważ fałszywe są tylko polecenia używane do uruchamiania / zatrzymywania usług, wszystko inne, w szczególności ważne zadania, takie jak aktualizacja / tworzenie obrazów initramfs, nadal działa.