Ricevi un errore "sudo: comando non trovato" su Linux? Ecco una soluzione semplice
Punti chiave
- Diventa root (usando "su -") e installa sudo usando il comando "apt install sudo" su Debian e Ubuntu.
- Aggiungi il tuo utente al gruppo sudo utilizzando i comandi "usermod -aG sudo nomeutente" (Debian/Ubuntu) o "usermod -aG wheel nomeutente" (altre distribuzioni) come utente root.
- Se sudo è installato ma non funziona, aggiungi la sua directory alla variabile PATH modificando il file "/etc/profile" come utente root.
Hai provato a utilizzare il tuo primo comando Linux come superutente e hai ricevuto l'errore "sudo: comando non trovato"? Questo è uno dei problemi più comuni che i nuovi utenti Linux devono affrontare dopo una nuova installazione. Ecco come risolvere questo problema e iniziare a utilizzare nuovamente il comando sudo.
Per questo tutorial, dimostrerò tutto su Debian 12. Tuttavia, troverai i comandi necessari per correggere l'errore "sudo: comando non trovato" anche su altre distribuzioni Linux.
Cos'è il comando sudo?
Il comando sudo su Linux, contrazione della frase "superuser do", è una potente utility che consente agli utenti di eseguire comandi con i privilegi di un altro utente, tipicamente root. Con sudo, gli utenti autorizzati possono eseguire attività amministrative senza dover accedere come utente root.
Il modo per usare sudo è iniziare un altro comando con la parola "sudo". Ciò consente di eseguire il comando con privilegi elevati. Quindi il comando sudo ti consente di avere le autorizzazioni richieste di un utente diverso ed eseguire un comando sensibile. Puoi saperne di più sul comando sudo dalla sua pagina man.
Perché ricevi questo errore?
Di solito ci sono due possibili ragioni per l'errore "sudo: comando non trovato" su Linux. È perché sudo non è installato o la directory sudo non è presente nella variabile PATH del tuo sistema.
Alcune distribuzioni Linux potrebbero non avere il pacchetto sudo installato per impostazione predefinita. Questo è vero per Arch e Gentoo Linux. Su Debian, se imposti una password di root durante l'installazione, dovrai affrontare lo stesso problema.
Il secondo motivo è che sudo è installato, ma la sua directory non è inclusa nella variabile PATH. PATH è una variabile d'ambiente utilizzata dal sistema Linux per individuare un comando senza specificarne il percorso completo.
Quando si digita un comando nel terminale, il sistema cerca nelle directory elencate nella variabile PATH e tenta di trovare il file eseguibile corretto. Se il comando sudo non è presente nella variabile PATH, il sistema non lo troverà e non sarà in grado di utilizzarlo.
Ecco come risolvere l'errore "sudo: comando non trovato".
Se non hai sudo installato, installarlo e aggiungere l'utente al gruppo sudo/wheel dovrebbe essere sufficiente per risolvere il problema. Per assicurarti di avere sudo installato, esegui:
sudo -V
Se non hai installato sudo, dovresti vedere un output simile, nel qual caso procedi con il metodo seguente.
Installa sudo su Linux
Per installare il pacchetto sudo, devi prima diventare root. Per diventare un utente root, apri il tuo terminale ed esegui:
su -
Digita la password di root e premi Invio. In caso di successo, dovresti vedere il prompt della shell diventare bianco e la parola "root" scritta all'inizio del prompt.
Come utente root, puoi installare qualsiasi pacchetto software, incluso sudo. Per installare sudo, esegui questo comando sulle distribuzioni basate su Debian:
apt install sudo
Per i sistemi basati su RHEL, utilizzare questo comando:
yum install sudo
Su Arch Linux, esegui:
pacman -S sudo
Se stai usando Gentoo, usa questo comando:
emerge --ask app-admin/sudo
Aggiungi il tuo utente al gruppo sudo
Una volta installato il comando sudo, devi aggiungere il tuo utente non root al gruppo sudo. Questo perché vuoi dare a quell'utente i privilegi di superutente. Quindi il tuo utente non root può utilizzare il comando sudo per ottenere privilegi elevati.
Per aggiungere un utente al gruppo sudo, esegui questo comando su una distribuzione basata su Debian:
usermod -aG sudo username
Assicurati di sostituire "nome utente" nel comando con il nome utente corretto.
Se utilizzi Arch Linux, Fedora o altre distribuzioni basate su RHEL, utilizza il seguente comando:
usermod -aG wheel username
Infine, torna all'utente non root con:
su username
Ora puoi provare un comando che inizia con sudo per verificare se funziona. Ad esempio, proviamo ad aggiornare i pacchetti sul sistema. Per fare ciò, usa:
sudo apt update
Funziona come previsto.
Prova ad aggiungere sudo alla variabile PATH
Se hai già installato sudo, ma continua a non funzionare, devi aggiungere sudo alla variabile PATH. Determiniamo innanzitutto la posizione del comando sudo.
which sudo
Come puoi vedere, è nella directory "/usr/bin/". Ora controlliamo se la directory è nella variabile PATH o meno. Esegui questo comando:
echo $PATH
Nel mio caso, la posizione del comando sudo è presente nella variabile PATH. Nel caso non lo fosse, puoi aggiungerlo con questo comando:
export PATH=$PATH:/usr/bin
Tuttavia, ciò aggiungerà solo temporaneamente la directory del comando sudo. Dopo aver terminato la sessione terminale, le cose torneranno come prima.
Per aggiungere permanentemente la directory, aprire il file "/etc/profile" in un editor di testo. Per aprirlo nell'editor di testo nano, diventa prima root digitando su - e usa questo comando:
nano /etc/profile
Modifica la riga che dichiara la variabile PATH. Aggiungi i due punti (:) e quindi aggiungi il percorso a sudo ("/usr/bin" in questo caso.)
Salvare il file utilizzando Ctrl+O e quindi uscire dall'editor utilizzando Ctrl+X. Ora prova a utilizzare il comando sudo per vedere se funziona.
Ciò dovrebbe risolvere il tuo problema e consentirti di utilizzare il comando sudo senza errori. Ricorda che solo gli utenti aggiunti al gruppo sudo potranno utilizzarlo. Se desideri concedere i privilegi sudo a più utenti, consulta la nostra guida sul controllo dell'accesso sudo su Linux.