Come correggere il comando SystemCtl non trovato errore in Linux

Come correggere il comando SystemCtl non trovato errore in Linux

Linux ha diversi comandi per eseguire compiti diversi. Tuttavia, a volte gli utenti incontrano errori durante l'esecuzione dei comandi. Uno degli errori comuni è "comando systemctl non trovato". Questo errore si verifica quando il sistema trova il comando SystemCtl mancante. Questo articolo copre il comando SystemCtl non trovato in dettaglio.

Cos'è il comando SystemCtl

SystemCtl è un'utilità di linea di comando in Linux che controlla i servizi di System. È uno strumento essenziale che consente agli amministratori di sistema di gestire i servizi e le risorse del sistema. Il comando SystemCtl consente agli utenti di iniziare, terminare, abilitare, disabilitare e riavviare i servizi sul sistema Linux.

Cosa causa l'errore "SystemCtl Command non trovato"

L'errore "SystemCtl non trovato" si verifica quando il sistema trova il sistema mancante. Il motivo principale per l'errore di SystemCtl è l'uso della vecchia versione Linux. Le vecchie versioni Linux hanno solo supporto per Sysvinit anziché per l'utilità Systemd.

Poiché l'utilità SystemD manca in alcune versioni precedenti di Linux. SystemCtl è compatibile con questa utilità. Ma se si utilizza SystemCtl con configurazioni Linux più vecchie come Sysvinit o Upstart si verificherà il comando di errore non trovato.

Ecco un elenco di possibili motivi per cui si verifica:

  • Il pacchetto SystemCtl non è installato
  • La variabile dell'ambiente del percorso non è impostata correttamente
  • Il comando SystemCtl non è eseguibile
  • Il sistema non esegue un sistema iniziale basato su SystemD

Come correggere l'errore "SystemCtl Command non trovato"

Se si utilizza la versione Linux che non utilizza SystemD come utilità di gestione centrale, ecco alcune correzioni rapide per questo errore.

  • Installa il pacchetto SystemCtl
  • Controlla la variabile dell'ambiente del percorso
  • Rendere eseguibile il comando systemctl
  • Controlla il sistema INIT
  • Sostituzione di SystemCtl con il comando di servizio

1: Installa il pacchetto SystemCtl

Se il pacchetto SystemCtl non è installato sul sistema, il primo passo è installarlo. È possibile installare il pacchetto SystemCtl utilizzando Linux Package Manager.

L'installazione del pacchetto SystemD può risolvere il problema, ma non è una soluzione garantita. È necessario prima verificare se il SystemD Il pacchetto è già installato sul tuo sistema.

Esegui il comando seguente per verificare se SystemCtl I pacchetti sono installati o no:

sudo dpkg -l | Grep Systemd

Se i pacchetti sono già installati, verrà visualizzato il seguente output che mostra che SystemD è già installato:

Nel caso in cui i pacchetti non siano installati, possiamo installarli utilizzando i passaggi seguenti.

Ad esempio, per installarlo su Sistemi con sede a Ubuntu e Debian, Esegui comandi forniti per installare il pacchetto SystemCtl.

Primi pacchetti di aggiornamento:

Sudo Apt Aggiornamento

Esegui comando sotto per installare SystemD:

SUDO APT Installa SystemD

SU Sistemi basati su Red Hat Usa il comando:

sudo yum install systemd

Se stai ancora riscontrando un errore nonostante abbia installato SystemD, potresti prendere in considerazione la reinstallazione utilizzando il comando seguente.

SUDO APT Installa

Installando l'utilità SystemD, questo dovrebbe risolvere il problema.

2: Controlla la variabile dell'ambiente del percorso

Se la variabile dell'ambiente del percorso non è impostata correttamente, il sistema potrebbe non essere in grado di trovare il comando systemctl. È possibile controllare la variabile dell'ambiente del percorso eseguendo il comando seguente:

Echo $ Path

L'output dovrebbe contenere il percorso della directory in cui si trova il comando SystemCtl. Se non è presente, è possibile aggiungere la directory alla variabile dell'ambiente del percorso usando il seguente comando:

Export Path = $ Path:/usr/bin/systemctl

3: Rendi eseguibile il comando SystemCtl

Se il comando SystemCtl non è eseguibile, rendilo eseguibile usando CHMOD. Utilizzare il comando sotto per rendere eseguibile il comando SystemCtl:

sudo chmod +x/usr/bin/systemctl

4: Controlla il sistema INIT

Uno dei motivi principali per cui SystemCtl Il comando non funziona è se il sistema non esegue un sistema Init basato su SystemD, è possibile incontrare "Comando SystemCtl non trovato"Errore. Per verificare se il tuo sistema è in esecuzione a Sistema Init basato su SystemD, Puoi eseguire il seguente comando:

PS -P 1 -O Comm =

Se l'output è "SystemD“. Se l'output non è "SystemD", potrebbe essere necessario passare a un sistema iniziale basato su SystemD per utilizzare il comando SystemCtl.

5: Sostituzione di SystemCtl con il comando di servizio

Una soluzione facile per correggere il "Sudo: SystemCtl: comando non trovato"L'errore è utilizzare il comando di servizio al posto di SystemCtl. Il comando di servizio può essere utilizzato per eseguire il Script di sistema V init, che è supportato dalle versioni precedenti di Linux.

Nel caso in cui non desideri installare SystemD utilità, quindi questa soluzione è una soluzione semplice ed efficace. Utilizzando il comando di servizio, è possibile gestire facilmente i servizi di sistema, senza dover utilizzare il comando SystemCtl.

Si noti che il comando di servizio potrebbe non essere disponibile per tutti i servizi e alcuni servizi potrebbero richiedere l'uso di SystemCtl.

La sintassi seguente sarà seguita dal comando di servizio:

Sudo Service [Service_name] [Azione]

Puoi anche utilizzare altri comandi con il comando di servizio, come stop, riavvio, stato e ricaricare, a seconda di cosa si desidera fare con il servizio.

Ad esempio, per eseguire lo stesso comando con l'utilizzo del servizio UFW:

sudo servizio UFW avvia

Per identificare ed elencare i nomi dei servizi per gestire l'uso:

SystemCtl Elenco unità

Questo visualizzerà un elenco di tutti i servizi attualmente in esecuzione sul sistema:

Conclusione

IL "Comando SystemCtl non trovato"L'errore è un errore comune in Linux. Può essere causato da diversi motivi, incluso il SystemCtl pacchetto non installato, la variabile dell'ambiente del percorso non è impostata correttamente, il SystemCtl Il comando non è eseguibile e il sistema non esegue un sistema iniziale basato su SystemD. L'uso del comando di servizio al posto del SystemCtl comando Possiamo facilmente correggere questo errore per i vecchi Distri Linux.