Come risolvere l'errore "SystemCTL Not Found"

L'errore "comando systemctl non trovato" si verifica in genere quando si esegue un sistema operativo Linux che utilizza Un altro sistema di configurazione Esempi includono runit, SystemV, ecc. Il sistema di configurazione SystemV è comunemente utilizzato nelle vecchie distribuzioni Linux, in particolare nelle versioni di Ubuntu precedenti alla 15.04. Tuttavia, alcune distribuzioni Linux moderne utilizzano sistemi di configurazione non systemd, come Artix Linux, che è basato su Arch Linux ma utilizza altri sistemi di configurazione come runit, dinit, ecc. al posto di systemd.

Che cos'è un sistema di inizializzazione?

Il sistema di inizializzazione è il primo processo eseguito dopo l'avvio del kernel di sistema. Esistono diversi sistemi kernel Linux, ma il più comune è systemd, utilizzato in molte delle principali distribuzioni Linux. systemd è un insieme di processi in background (daemon) e librerie che controllano tutti gli altri processi e librerie in background, come l'avvio, l'arresto, l'abilitazione o la disabilitazione di un processo in background. Un daemon in Linux è l'equivalente di un servizio in Windows che viene eseguito in background.

Come risolvere l'errore "comando systemctl non trovato" nelle distribuzioni Linux:

Per correggere questo errore, hai due opzioni.

  • Installa systemd e sostituisci la tua configurazione attuale con systemd. L'errore "comando systemctl non trovato" si verifica perché systemd non è installato sul sistema.
  • Utilizza il sistema di configurazione della tua distribuzione Linux per gestire i vari processi/servizi in background. Questa soluzione è per coloro che non hanno systemd installato ma non vogliono installarlo sui propri computer, oppure se systemd non è disponibile nei repository della loro distribuzione.

1. Installare systemd (se non è già installato):

Se si utilizza un sistema operativo basato su Debian/Ubuntu, è possibile digitare un comando per verificare se systemd è installato o meno.

Digitare questo comando se si utilizzano sistemi operativi basati su Ubuntu o Debian e premere Invio.

sudo dpkg -l | grep systemd.

Per le distribuzioni Arch Linux, utilizzare questo comando:

pacman -Qs systemd

Se vedi del testo come risultato, significa che systemd è installato sul tuo sistema e potrebbe essere danneggiato.

Quindi è necessario reinstallare systemd affinché il comando systemctl funzioni.

Per farlo, scrivi questo La questione è al terminal. واضغط ج Enter.

sudo apt-get install --reinstall systemd.

In questo modo verrà reinstallato systemd utilizzando il gestore di pacchetti apt utilizzato dalle distribuzioni basate su Debian/Ubuntu.

Per le distribuzioni Arch Linux o i loro derivati, utilizzare questo comando:

sudo pacman -S systemd

Se non ottieni alcun risultato dal comando sudo dpkg -l | grep systemd Sopra, questo significa che systemd non è installato nella tua distribuzione.

In un simile scenario, puoi Utilizza il sistema di configurazione della tua distribuzione. أو Installa systemd.

Per installare systemd sulle distribuzioni Debian/Ubuntu, digitare questo comando nel terminale e premere Invio:

sudo apt-get install systemd

Per la distribuzione Arch Linux, digitare pacman -S systemd come utente root o utilizzando sudo.
Questo installerà systemd sul tuo sistema operativo. Ora potrai usare il comando systemctl senza errori.

2. Utilizzare il sistema init della distribuzione:

Un'altra soluzione, e preferibilmente la migliore per questo errore, è Utilizza il sistema di inizializzazione di tua proprietà Distribuzione Linux Già tuo Per la gestione dei servizi/operazioni backend (daemon).
Per scoprire quale sistema di inizializzazione ha il tuo computer, puoi digitare questo comando nel terminale e premere Invio.

ls -l /sbin/init

quella /sbin/init è un collegamento simbolico. Per il sistema di inizializzazione utilizzato dalla tua distribuzione Linux. Se vedi il collegamento simbolico a /sbin/init puntando a /lib/sysvinit/initCiò significa che la tua distribuzione utilizza un sistema sysv initDovrai usare il comando INSTALLAZIONE invece di systemctl Per la gestione di servizi o processi back-end (daemon).
Anche la formula del sistema sysv init per la gestione dei servizi è molto semplice:

servizio [nome_servizio] [azione]

È quindi possibile avviare un servizio digitando service [nome_servizio] start
Esempio:
ا كنت ترغب في Avvio di un servizio/processo Bluetooth in backgroundPuoi digitare il comando:

sudo service bluetooth start

Quindi, per verificare se funziona senza errori, puoi digitare il comando:

stato del servizio sudo bluetooth

Se si desidera riavviare o arrestare un servizio, è possibile utilizzare i comandi. "riavvio del servizio [nome-servizio]" E "servizio [nome-servizio] stop" Dritto.
Ad esempio, se desideri Disattiva il servizio BluetoothPuoi scrivere:

sudo service bluetooth stop

Il tuo sistema di inizializzazione probabilmente non è sysvinitSi tratta piuttosto di un sistema di configurazione diverso. Pertanto, è sufficiente effettuare una semplice ricerca su Google sull'output del collegamento simbolico per /sbin/initDopodiché potrai utilizzare i comandi applicati al sistema di inizializzazione sul tuo dispositivo.
Molti sistemi di inizializzazione (sistemi init) contengono in genere gli stessi comandi di avviare, arrestare e riavviareTuttavia, i comandi per eseguirli differiscono, poiché contengono sysvinit sul comando di servizio Per avviare o arrestare i servizi, systemd contiene comando systemctl Così.
Se le soluzioni sopra menzionate non funzionano, continua a leggere l'articolo perché la soluzione menzionata di seguito potrebbe funzionare.

Come risolvere l'errore "comando systemd-resolve non trovato"?

Un altro errore correlato all'errore "systemctl status command not found" è Errore "systemd-resolve command not" essere trovatoGli utenti potrebbero erroneamente credere che `systemd` non sia installato, motivo per cui `systemd-resolve` non funziona. Tuttavia, nelle versioni `systemd` 239 e successive, il comando è stato modificato. systemd-risoluzione per me resolvectl.

Puoi quindi utilizzare “resolvectl” Per interagire con lo strumento systemd-resolve nelle tue distribuzioni Linux.

I commenti sono chiusi.