GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come abilitare o disabilitare i servizi in Ubuntu Systemd/Upstart

Spesso è necessario abilitare o disabilitare i servizi temporaneamente o permanentemente sul nostro sistema Ubuntu. A volte, potremmo richiedere l'avvio automatico di determinati servizi all'avvio, ad esempio ssh o server Web, e talvolta potrebbe essere necessario disabilitare i servizi di cui non abbiamo più bisogno e che stanno monopolizzando la CPU e la RAM.

In questo tutorial, diamo un'occhiata a come abilitare e disabilitare i servizi su Ubuntu. Per fare ciò, dobbiamo prima capire che ci sono 3 principali sistemi di init per Ubuntu

  • Sistema
  • Ripartenza
  • SysV

Ogni sistema init ha un modo diverso di avviare e interrompere i servizi. Daremo un'occhiata a ciascuno di questi.

Come abilitare e disabilitare i servizi in Systemd init

Per avviare un servizio in systemd esegui il comando come mostrato:

systemctl start service-name

Ad esempio, per avviare il servizio Web Apache, esegui

systemctl start apache2

Per verificare che il servizio sia in esecuzione, esegui

systemctl status apache2

Risultato

● apache2.service - LSB: Apache2 web server
   Loaded: loaded (/etc/init.d/apache2; bad; vendor preset: enabled)
  Drop-In: /lib/systemd/system/apache2.service.d
           └─apache2-systemd.conf
   Active: active (running) since Thu 2018-03-15 17:09:05 UTC; 35s ago
     Docs: man:systemd-sysv-generator(8)
   CGroup: /system.slice/apache2.service
           ├─2499 /usr/sbin/apache2 -k start
           ├─2502 /usr/sbin/apache2 -k start
           └─2503 /usr/sbin/apache2 -k start

Mar 15 17:09:04 ip-172-31-41-251 systemd[1]: Starting LSB: Apache2 web server...
Mar 15 17:09:04 ip-172-31-41-251 apache2[2475]:  * Starting Apache httpd web ser
Mar 15 17:09:05 ip-172-31-41-251 apache2[2475]:  *
Mar 15 17:09:05 ip-172-31-41-251 systemd[1]: Started LSB: Apache2 web server.

Per interrompere il servizio servizio in esecuzione

systemctl stop apache2

Per confermare che il servizio non è in esecuzione, esegui

systemctl status apache2

Risultato

● apache2.service - LSB: Apache2 web server
   Loaded: loaded (/etc/init.d/apache2; bad; vendor preset: enabled)
  Drop-In: /lib/systemd/system/apache2.service.d
           └─apache2-systemd.conf
   Active: inactive (dead) since Thu 2018-03-15 17:19:47 UTC; 12s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 2822 ExecStop=/etc/init.d/apache2 stop (code=exited, status=0/SUCCESS
  Process: 2687 ExecStart=/etc/init.d/apache2 start (code=exited, status=0/SUCCE

Mar 15 17:10:11 ip-172-31-41-251 systemd[1]: Starting LSB: Apache2 web server...
Mar 15 17:10:11 ip-172-31-41-251 apache2[2687]:  * Starting Apache httpd web ser
Mar 15 17:10:12 ip-172-31-41-251 apache2[2687]:  *
Mar 15 17:10:12 ip-172-31-41-251 systemd[1]: Started LSB: Apache2 web server.
Mar 15 17:19:46 ip-172-31-41-251 systemd[1]: Stopping LSB: Apache2 web server...
Mar 15 17:19:46 ip-172-31-41-251 apache2[2822]:  * Stopping Apache httpd web ser
Mar 15 17:19:47 ip-172-31-41-251 apache2[2822]:  *
Mar 15 17:19:47 ip-172-31-41-251 systemd[1]: Stopped LSB: Apache2 web server.

Per abilitare il servizio apache2 all'avvio, esegui

systemctl enable apache2

Per disabilitare il servizio apache2 all'avvio, esegui

systemctl disable apache2

Per riavviare il servizio

systemctl restart apache2

Per verificare se il servizio è attualmente configurato per l'avvio al prossimo avvio

systemctl is-enabled apache2

Risultato

Executing /lib/systemd/systemd-sysv-install is-enabled apache2
enabled

Per verificare se il servizio è attivo

systemctl is-active apache2

Risultato

active

Come rimuovere completamente i servizi Systemd

Che cosa succede se hai installato un pacchetto e in seguito decidi che non ne hai più bisogno. Come si fa a rimuoverlo completamente? Segui i comandi seguenti.

Per prima cosa, interrompi il servizio

systemctl stop service-name

Quindi disabilita il servizio

systemctl disable service-name

Rimozione del servizio in systemd

rm /etc/systemd/system/service-name
rm /etc/systemd/system/service-name/[related symlinks]

Ricarica sistemad

systemctl daemon-reload

Finalmente corri,

systemctl reset-failed

Come abilitare e disabilitare i servizi in Upstart init

Il sistema init Upstart è stato presentato poco prima di systemd È stato utilizzato da Ubuntu 9.10 a Ubuntu 14.10. Successivamente è stato gradualmente eliminato aprendo la strada a systemd init in Ubuntu 15.04 e versioni successive. In questo esempio, vediamo come avviare e interrompere, abilitare e disabilitare i servizi in Ubuntu 14.04.

Upstart fa uso di file di configurazione per il controllo dei servizi. Questi file sono conservati nella directory /etc/init. Questi file sono costituiti da sezioni di testo normale organizzate in stanze e ciascuna stanza descrive un servizio e come funziona.

Per verificare se un servizio è in esecuzione o meno esegui il comando seguente

initctl status service-name

O

service service-name status

O

status service-name

In questo esempio, verificheremo lo stato di cups, un server di stampa Linux.

 initctl status cups

O

service cups status

O

status cups

Risultato

cups start/running, process 3029

Per interrompere il servizio esegui il comando seguente

initctl stop cups

O

service cups stop

O

stop cups

Risultato

cups stop/waiting

Per abilitare un servizio in Upstart init

Nel file /etc/init/*.conf troverai il file "respawn " direttiva che avvia un servizio in caso di arresto anomalo inaspettato o in caso di riavvio del sistema. Normalmente è abilitato per impostazione predefinita.

Ad esempio, nel file /etc/init/cups.conf di seguito,

il primo argomento (3) è il numero di tentativi che tenterà di riavviare e il secondo argomento (12) è l'intervallo di tempo tra i tentativi. Se non si riavvia automaticamente. verrà mantenuto in uno stato di arresto.

Per disabilitare un servizio in upstart init

esegui il comando seguente

echo manual >> /etc/init/service.override

Questo crea un file di override che disabilita un servizio senza alterare affatto la definizione del lavoro.
Per il servizio bicchieri, il comando sarà

echo manual >> /etc/init/cups.override

Al riavvio del sistema, le tazze saranno in uno stato di arresto. Se desideri riattivare il servizio, devi eliminare il file /etc/init/cups.override.

Strumento Sysv-rc-conf

Questa è una console basata su testo che offre una panoramica dei diversi servizi e runlevel per i quali è programmato l'avvio. Può essere installato utilizzando il seguente comando

apt-get install sysv-rc-conf

Per eseguire lo strumento, esegui

sysv-rc-conf

Strumento Jobs-Admin

Questa è un'altra funzionalità che consente di controllare servizi e processi in un ambiente GUI. Puoi installarlo eseguendo.

apt-get install jobs-admin

Come abilitare e disabilitare i servizi in SysV init

Per abilitare un servizio in SysV init esegui

update-rc.d enable service-name

Ad esempio, se desideri abilitare il server Web Apache, dovresti eseguire

update-rc.d enable apache2

Per disabilitare un servizio , esegui

update-rc.d disable service-name

Ad esempio

update-rc.d disable apache2

Quasi tutti i sistemi Linux funzionano su Systemd init Da Ubuntu, Debian, RHEL e CentOS. Scoprirai quindi che utilizzerai una parte maggiore del comando systemctl per avviare, interrompere, abilitare e disabilitare i servizi. Ti invitiamo a provare i comandi come mostrato in questo articolo. Grazie.

Leggi anche:

  • Comandi Systemctl per gestire il servizio Systemd in Linux

Ubuntu
  1. Come abilitare il servizio SSH in Ubuntu 22.04 LTS

  2. Come disabilitare/abilitare la connessione automatica al Wi-Fi?

  3. Come impostare un servizio?

  4. Come disabilitare un servizio in Ubuntu

  5. Come abilitare e disabilitare Wayland su Ubuntu

Come abilitare/disabilitare lo scorrimento dei bordi in Ubuntu 18.04 LTS

Come abilitare/disabilitare l'accesso automatico in Ubuntu 20.04 LTS

Come abilitare e disabilitare le interfacce di rete in Ubuntu 20.04

Come disabilitare/abilitare la segnalazione automatica degli errori in Ubuntu 20.04 LTS

Come avviare, arrestare o riavviare i servizi in Ubuntu

Come abilitare e disabilitare AppArmor su Ubuntu 20.04