Systemd e Servizi
Failed to start ...: Unit ... service not found – Linux UNIT_NOT_FOUND
L'errore systemctl Unit not found indica che systemd non riesce a caricare l'unità richiesta con quel nome. Il servizio può essere scritto male, non installato, presente in un percorso non ancora ricaricato o rappresentato da un template che richiede un'istanza. La diagnosi usa systemctl list-unit-files, status e cat per distinguere nome, installazione, stato e percorso del file.
Cosa significa questo errore?
L'errore systemctl Unit not found indica che systemd non riesce a caricare l'unità richiesta con quel nome. Il servizio può essere scritto male, non installato, presente in un percorso non ancora ricaricato o rappresentato da un template che richiede un'istanza. La diagnosi usa systemctl list-unit-files, status e cat per distinguere nome, installazione, stato e percorso del file.
Messaggio originale
Failed to start ...: Unit ... service not foundContesto e parole chiave
Alias
- systemctl Unit not found
- Unit not found
Messaggi alternativi
- File unit mancante o nome errato
- Servizio systemd non trovato
Prodotti
- systemd / systemctl
Piattaforme
- Debian
- Fedora
- RHEL / AlmaLinux
- Ubuntu
Parole chiave
- linux service not found
- systemctl unit not found
- systemd daemon reload
Cause possibili
Nome del servizio o suffisso errato
Il comando usa un nome diverso da quello del file unit o dimentica l'istanza richiesta da un template.
molto comuneUnità aggiunta ma manager non ricaricato
Un file appena creato o modificato non è ancora stato riletto dal manager systemd.
comuneDiagnosi
Unità installate e nome canonico
Elencare i file unit e cercare il servizio senza affidarsi solo all'autocompletamento della shell.
Come leggere il risultato. Il nome restituito deve corrispondere esattamente all'unità usata nel comando.
systemctl list-unit-files --type=service | grep -i nomePercorso e contenuto dell'unità
Usare status, cat e daemon-reload dopo una modifica.
Come leggere il risultato. Se cat non trova l'unità, il file non è nel percorso atteso o il nome è errato.
sudo systemctl daemon-reload && systemctl cat nome.serviceRisoluzione
Correzione del nome e ricarica di systemd
Usare il nome reale del file unit e ricaricare il manager dopo averlo installato o modificato.
- Individuare il file .service.
- Correggere nome e suffisso nel comando.
- Eseguire daemon-reload.
- Avviare e controllare status.
sudo systemctl daemon-reload && sudo systemctl start nome.service && systemctl status nome.serviceInstallazione o abilitazione del pacchetto corretto
Installare il pacchetto che fornisce l'unità oppure usare il nome previsto dal vendor.
- Identificare quale pacchetto dovrebbe fornire il servizio.
- Verificare l'elenco dei file installati dal pacchetto.
- Installare o ripristinare il pacchetto.
- Ricaricare systemd e ripetere il test.
Domande frequenti
daemon-reload installa un servizio mancante?
No. Rilegge le unità già presenti; se il file o il pacchetto non esiste, occorre installarlo o correggere il percorso prima del reload.
Approfondimenti
- systemctl(1) - Linux manual page manuale_sistema