59 votes

commande non trouvée lors de l'utilisation de sudo

Il y a quelques questions sur le site qui semblent liées à mon problème mais je n'ai pu trouver de solution dans aucune d'entre elles.

Mon système d'exploitation est Ubuntu 12.04. J'ai mvn installé dans /tools/noarch/apache-maven-3.1.1 et j'ai ajouté les lignes suivantes à la fin de mon fichier /etc/profile :

export M2_HOME=/tools/noarch/apache-maven-3.1.1
export PATH=$M2_HOME/bin:$PATH

Après cela, j'exécute source /etc/profile .

Mon problème est le suivant : lorsque je lance mvn --version la commande réussit et mvn exécutable est trouvé, alors que si j'exécute : sudo mvn --version J'obtiens le résultat : sudo: mvn: command not found . Je sais que PATH peut être différent lorsque j'exécute une commande avec sudo et c'est pourquoi j'ai essayé ça :

$>sudo echo $PATH
/tools/noarch/apache-maven-3.1.1/bin:... some other stuff ...

Une autre chose que j'ai essayé est d'exécuter sudo su - puis tapez mvn --version . Dans ce cas mvn est trouvé avec succès et la commande réussit. Que se passe-t-il ici ?

1voto

MariusMatutiae Points 45233

Vous devez modifier la variable PATH de root exactement comme vous l'avez fait pour vous-même, c'est-à-dire en ajoutant ces deux lignes dans le profil de sudo, qui se trouve dans /root/.bashrc, puis le source.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X