GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Installare pacchetti senza avviare processi e servizi in background?

A volte l'installazione di alcune applicazioni avvierà un processo o un servizio dall'applicazione eseguita automaticamente al momento dell'installazione. Come installo senza avviarli?

Migliore risposta

C'è un modo leggermente hacker, ma abbastanza affidabile per farlo, che uso da un po' di tempo in uno script di installazione automatizzata.

Per prima cosa crea una directory, ad esempio /root/fake , che contiene collegamenti simbolici a /bin/true chiamato:

initctl
invoke-rc.d
restart
start
stop
start-stop-daemon
service
deb-systemd-helper

Potresti anche fare in modo che bash script che non fanno nulla e restituiscano il successo.

Quindi includi quella directory all'inizio di $PATH durante l'installazione dei pacchetti:

PATH=/root/fake:$PATH apt-get install whatever

Questo impedisce solo l'avvio/riavvio dei demoni, mentre cose come la creazione di un initramfs sono ancora in corso.

Spiegazione

Gli script che vengono eseguiti durante l'installazione e la rimozione del pacchetto eseguono invoke-rc.d o altri dei comandi citati per avviare e interrompere i servizi. Tuttavia non li chiamano con percorsi assoluti (almeno non ne ho incontrato uno che lo faccia).

Quindi inserendo i falsi comandi "nessuna operazione" all'inizio di $PATH , i veri comandi non vengono mai chiamati.

Poiché solo i comandi utilizzati per avviare/arrestare i servizi vengono falsificati, tutto il resto, in particolare attività importanti come l'aggiornamento/creazione di immagini initramfs, funziona ancora.


Ubuntu
  1. Come abilitare Snap su Linux Mint 20 e installare i pacchetti Snap

  2. Installa i pacchetti RPM su Ubuntu 11.10 e Ubuntu 11.04

  3. Come installare Nagios su Ubuntu 13.04

  4. Installa Node.js in Ubuntu e Debian

  5. Esecuzione di comandi Linux in background e in primo piano

Installa e configura Fail2ban su Ubuntu 20.04

Installa e usa Linuxbrew nel sistema operativo Linux

5 comandi divertenti da usare in Linux e Terminal

Comandi per installare Pantheon Desktop su Debian Buster e Stretch

Come installare e gestire i pacchetti RPM sul sistema Ubuntu/Debian

Come installare EPEL Repo su CentOS e RHEL 7?