Impossibile eseguire i comandi del terminale: "il comando 'sudo' è disponibile in '/ usr / bin / sudo'”


13

Ho usato Ubuntu 12.04 per un bel po 'e non ho mai avuto problemi venirmi di punto in bianco in questo modo. Sto cercando di installare Python 3.2 sul mio sistema Ubuntu e ogni volta che eseguo il codice per compilare il sorgente Python, ottengo questo errore:

'Command 'sudo' is available in '/usr/bin/sudo'
The command could not be located because '/usr/bin' is not included in the PATH environment variable.
sudo: command not found'

Ho anche provato a eseguire il gksudocomando per visualizzare ciò che mostra il mio ambiente ma ho praticamente lo stesso errore.


Scommetto che probabilmente otterrai lo stesso errore quando provi a eseguire le tue applicazioni dalla riga di comando. Qual è l'output di cat /etc/environment?
Alaa Ali,

Potresti dirci quale programma stai cercando di eseguire? Alcuni programmi cambiano la variabile PATH, ma senza il nome non possiamo esserne sicuri.
Braiam,

Risposte:


24

Come dice l'errore, è necessario aggiungere la /usr/bindirectory alla variabile di ambiente PATH. Per fare ciò, eseguire il seguente comando nel terminale:

export PATH=$PATH:/usr/bin

Dopo averlo utilizzato sudo, puoi modificare il /etc/environmentfile per rendere permanente la modifica, quindi esegui nel terminale:

sudo nano /etc/environment

per modificare il file. Assicurati che il percorso sia simile al seguente:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"

Salvare e chiudere il file con Ctrl+ Xe premere Yquando viene richiesto.

Vedi anche: Come aggiungere una directory al PERCORSO?


Questo non è permanente, giusto? Se si riavvia, andrà di nuovo via.
Alaa Ali,

1
Sì. Le impostazioni permanenti per l'utente sono probabilmente in ~/.profile, ~/.bashrc, ~/.pam_environmento ~/.xsessionrc. Le impostazioni per tutti gli utenti sono probabilmente in /etc/profile, /etc/profile.d/*, /etc/environment, /etc/bash/bashrc, /etc/lightdm/xsession. Probabilmente uno dei file degli utenti sovrascrive le impostazioni predefinite a livello di sistema. Se hai abilitato un altro utente o l'account ospite, prova con l'altro utente e verifica se il problema esiste anche per quell'altro utente. In caso contrario, controlla i file di script di avvio dei tuoi utenti.
Fonte anime

1
Ha funzionato perfettamente. Grazie mille! Ma potresti aggiungere ulteriori informazioni su come rendere permanente questa modifica ??? Grazie in anticipo.
OscaRoCa

Ho ricevuto questo errore: MY_USER_NAME non è nel file sudoers. Questo incidente verrà segnalato. , Non sono l'amministratore .. cosa devo fare ..
Ghanem,

6

Ho riscontrato il problema e risolto modificando il mio file .bashrc

  1. Apri il tuo file .bashrc usando nano

    $ sudo nano ~/.bashrc
    
  2. Aggiungi la seguente riga al file bashrc

    export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:   /usr/local/games"
    
  3. Premi Ctrl + X per salvare il file

  4. Chiederà di modificare il file, premere ye Invio

Hai finito.


1
Non manipolare i file nella home directory ( ~) utilizzando sudo. Può creare più problemi di quanti ne possa risolvere.
Melebio,

1

Quando vuoi aggiungere un nuovo valore alla PATHvariabile di sistema, molto probabilmente aggiungi una nuova linea ~/.bashrco ~/.bash_profilefile.

Ad esempio, se si desidera aggiungere /opt/netbeans/bina PATH, è necessario aggiungere questa riga alla fine del ~/.bashrcfile:

export PATH=$PATH:/opt/netbeans/bin

Abbattiamo questa linea.

  • export PATH- Qui ci riferiamo alla PATHvariabile
  • =- Vogliamo assegnargli un nuovo valore usando l' =operatore (Il resto della stringa è il valore che sarà memorizzato nel PATH)
  • $PATH- Assegniamo la variabile PATHal valore che era nella variabile prima del comando corrente
  • : - Aggiungiamo un separatore per il nuovo valore
  • /opt/netbeans/bin - E aggiungi un nuovo valore a PATH

Devi vedere tutti i tuoi riferimenti alla PATHvariabile nei file ~/.bashrco ~/.bash_profilee assicurarti di espandere -

export PATH=$PATH:/opt/netbeans/bin

e non sovrascrivere in questo modo -

export PATH=/opt/netbeans/bin

la PATHvariabile

Devi assicurarti, in ogni riferimento a quello PATHche usi $PATH:e al tuo valore aggiuntivo dopo di esso


Se non funziona, puoi fare qualcosa del genere:

  • Assicurati che ci sia qualcosa come la prossima variabile nel /etc/environmentfile e non è mai stata ridefinita in questo file:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
  • Aggiungi i percorsi mancanti dalla PATHvariabile sopra alla PATHvariabile che si trova in/etc/environment

Prima di eseguire il test dopo ogni modifica ai file, non ricordare di aggiornare le tue configurazioni.

Ad esempio per il ~/.bashrcfile:

source `~/.bashrc`
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.