Quindi stai seguendo alcuni tutorial su Internet e hai usato un comando systemd come sudo systemctl start
.
Con tua sorpresa, il comando genera un errore come questo:
System has not been booted with systemd as init system (PID 1). Can't operate.
Motivo:il tuo sistema Linux non utilizza systemd
Il motivo è che stai cercando di utilizzare il comando systemd per gestire i servizi su Linux ma il tuo sistema non utilizza systemd e (molto probabilmente) utilizza il classico sistema SysV init (sysvinit).
Ma come è possibile? Stai usando Ubuntu e il tutorial è anche per la stessa versione di Ubuntu. Come mai non funziona per te?
Se stai usando Ubuntu all'interno di Windows usando WSL, avrai SysV invece di systemd e il tuo sistema si lamenterà quando esegui il comando systemctl (destinato ai sistemi Linux con systemd init system).
Come sapere quale sistema init stai utilizzando? Puoi utilizzare questo comando per conoscere il nome del processo associato al PID 1 (il primo processo che viene eseguito sul tuo sistema):
ps -p 1 -o comm=
Dovrebbe mostrare init o sysv (o qualcosa del genere) nell'output. Se vedi init, il tuo sistema non sta usando systemd e dovresti usare i comandi init come spiegato nella prossima sezione.
Come correggere l'errore "Il sistema non è stato avviato con systemd"?
La semplice risposta è non utilizzare il comando systemctl. Invece, usa il comando sysvinit equivalente.
Non è troppo complicato ed entrambi i comandi hanno una sintassi in qualche modo simile.
Questa tabella dovrebbe aiutarti.
Comando Systemd | Comando Sysvinit |
---|---|
systemctl avvia nome_servizio | servizio nome_servizio inizio |
systemctl interrompe nome_servizio | servizio nome_servizio arresto |
systemctl riavvia nome_servizio | servizio nome_servizio riavvio |
stato systemctl nome_servizio | servizio stato nome_servizio |
systemctl abilita service_name | chkconfig nome_servizio attivato |
systemctl disabilita service_name | chkconfig service_name disattivato |
Qualunque tutorial tu stia seguendo, prova a utilizzare i comandi equivalenti e non vedrai il messaggio "Il sistema non è stato avviato con systemd come sistema init (PID 1). Impossibile funzionare". errore più.
Fammi sapere se questo ti ha aiutato a sbarazzarti di questo errore o meno. Sarò felice di aiutarti.