Impossible d'exécuter les commandes du terminal: "la commande 'sudo' est disponible dans '/ usr / bin / sudo'"

13

J'utilise Ubuntu 12.04 depuis un certain temps et je n'ai jamais eu de problème comme ça. J'essaie d'installer python 3.2 sur mon système Ubuntu et chaque fois que j'exécute le code pour compiler la source python, j'obtiens cette erreur:

'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'

J'ai également essayé d'exécuter la gksudocommande pour voir ce que mon environnement montre, mais j'obtiens à peu près la même erreur.

user188283
la source
Je parie que vous obtiendrez probablement la même erreur lorsque vous essayez d'exécuter vos applications via la ligne de commande. Quelle est la sortie de cat /etc/environment?
Alaa Ali
Pourriez-vous nous dire quel programme essayez-vous d'exécuter? Certains programmes modifient la variable PATH, mais sans le nom, nous ne pouvons pas être sûrs.
Braiam

Réponses:

24

Comme le dit l'erreur, vous devez ajouter un /usr/binrépertoire à votre variable d'environnement PATH. Pour ce faire, exécutez la commande suivante dans le terminal:

export PATH=$PATH:/usr/bin

Après avoir utilisé sudo, vous pouvez modifier le /etc/environmentfichier pour rendre la modification permanente, alors, exécutez dans le terminal:

sudo nano /etc/environment

pour modifier le fichier. Assurez-vous que le chemin d'accès ressemble à ceci:

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

Enregistrez et fermez le fichier avec Ctrl+ Xet appuyez sur Ylorsque vous y êtes invité.

Voir aussi: Comment ajouter un répertoire au PATH?

Radu Rădeanu
la source
Ce n'est pas permanent cependant, non? S'il redémarre, il disparaîtra à nouveau.
Alaa Ali
1
Oui. Les réglages permanents pour votre utilisateur sont probablement ~/.profile, ~/.bashrc, ~/.pam_environmentou ~/.xsessionrc. Paramètres pour tous les utilisateurs sont probablement /etc/profile, /etc/profile.d/*, /etc/environment, /etc/bash/bashrc, /etc/lightdm/xsession. L'un de vos fichiers utilisateur remplace probablement les paramètres par défaut du système. Si vous avez un autre utilisateur ou le compte invité activé, essayez avec l'autre utilisateur et voyez si le problème existe également pour cet autre utilisateur. Sinon, vérifiez vos propres fichiers de script de démarrage des utilisateurs.
soulsource
1
Cela a parfaitement fonctionné. Merci beaucoup! Mais, pourriez-vous s'il vous plaît ajouter plus d'informations sur la façon de rendre ce changement permanent ??? Merci d'avance.
OscaRoCa
J'ai eu cette erreur: MY_USER_NAME n'est pas dans le fichier sudoers. Cet incident sera signalé. , Je ne suis pas l'administrateur .. ce que je dois faire ..
Ghanem
6

J'ai eu le problème et l'ai résolu en modifiant mon fichier .bashrc

  1. Ouvrez votre fichier .bashrc en utilisant nano

    $ sudo nano ~/.bashrc
    
  2. Ajoutez la ligne suivante au fichier bashrc

    export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:   /usr/local/games"
    
  3. Appuyez sur Ctrl + X pour enregistrer le fichier

  4. Il vous demandera de modifier le fichier, appuyez sur y et Entrée

Vous avez terminé.

user3721406
la source
1
Ne pas manipuler des fichiers dans votre répertoire personnel ( ~) à l' aide sudo. Cela peut créer plus de problèmes qu'il n'en peut résoudre.
Melebius
1

Lorsque vous souhaitez ajouter une nouvelle valeur à la PATHvariable système, vous le plus probablement ajouter une nouvelle ligne ~/.bashrcou les ~/.bash_profilefichiers.

Par exemple, si vous souhaitez ajouter /opt/netbeans/binà PATH, vous devez ajouter cette ligne à la fin du ~/.bashrcfichier:

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

Brisons cette ligne.

  • export PATH- Nous nous référons ici à la PATHvariable
  • =- Nous voulons lui affecter une nouvelle valeur en utilisant l' =opérateur (Le reste de la chaîne est la valeur qui sera stockée dans le PATH)
  • $PATH- Nous affectons la variable PATHà la valeur qui était dans la variable avant la commande en cours
  • : - Nous ajoutons un séparateur pour la nouvelle valeur
  • /opt/netbeans/bin - Et ajoutez une nouvelle valeur au PATH

Vous devez voir toutes vos références à la PATHvariable dans les fichiers ~/.bashrcou ~/.bash_profileet assurez-vous que vous développez -

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

et pas écraser comme ça -

export PATH=/opt/netbeans/bin

la PATHvariable

Vous devez vous assurer, dans chaque référence à PATHvotre utilisation $PATH:et à votre valeur supplémentaire après


Si cela ne fonctionne pas, vous pouvez faire quelque chose comme ceci:

  • Assurez-vous qu'il existe quelque chose comme la variable suivante dans le /etc/environmentfichier et qu'elle n'a jamais été redéfinie dans ce fichier:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
  • Ajoutez les chemins manquants de la PATHvariable ci-dessus à votre PATHvariable située dans le/etc/environment

Avant de tester après chaque modification des fichiers, n'oubliez pas de mettre à jour vos configurations.

Par exemple pour le ~/.bashrcfichier:

source `~/.bashrc`
fedotsoldier
la source