Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 28/06/2008, à 14:41

thierrybo

ajout au PATH pas reconnu en sudo

Bonjour,

voilà je m'arrache les cheveux avec ce problème. J'ai installé xampp d'apacheandfriends et n'utilise
donc pas les dépots pour apache et php. Pour pouvoir utiliser php et pear en ligne de commande j'ai
modifié le PATH comme ceci dans /etc/environment (les commandes sont sans /opt/lampp/bin):

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

Quand je tape

sudo echo $PATH

j'ai bien le PATH correct qui s'affiche

Pourtant il ne reconnaît toujours pas les commandes

sudo pear list

ou

sudo php -v

par exemple, alors que sans le sudo ça marche.

J'ai tout essayé, mettre le path dans /etc/profile, ~/.profile, ~/.bashrc etc..., rien n'y fait. Je sais je
pourrait rajouter un lien dans /usr/bin/ vers php et pear (c'est ce que j'ai fais d'ailleurs) mais j'aimerai
bien comprendre pourquoi çà ne marche pas ...

Dernière modification par thierrybo (Le 28/06/2008, à 14:43)

Hors ligne

#2 Le 28/06/2008, à 14:50

Seren

Re : ajout au PATH pas reconnu en sudo

Et si tu fais juste "echo $PATH" tu vois ce que tu as ajouté ou pas ?

Chaque utilisateur a des variables d'environnements qui lui sont propres.
Quand tu utilises "sudo", tu utilises le PATH du root, et, sans le sudo, le PATH de ton compte utilisateur, ce qui peut expliquer des différences.

Dans /etc/login.defs

#
# *REQUIRED*  The default PATH settings, for superuser and normal users.
#
# (they are minimal, add the rest in the shell startup files)
ENV_SUPATH      PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
ENV_PATH        PATH=/usr/local/bin:/usr/bin:/bin:/usr/games

Dernière modification par Seren (Le 28/06/2008, à 14:55)


"I am not young enough to know everything". Oscar Wilde

Hors ligne

#3 Le 28/06/2008, à 17:27

thierrybo

Re : ajout au PATH pas reconnu en sudo

Oui, j'avais omis de préciser dans le 'j'ai tout essayé', que j'avais essayé de mettre aussi dans /root/.profile et /root/.bashrc.

Actuellement, je suis revenu à la situation initiale (j'ai tout enlevé dans les fichiers .bashrc et .profile de root et home) et je n'ai laissé que /etc/environment. Là normalement c'est le niveau le plus élevé et çà s'applique à tout le monde et partout (!?).

Ah, je viens de trouver une petite différence. Je n'avais pas essayé en su Dans les 3 cas (normal, sudo et su) j'ai le PATH qui contient bien le chemin de php, mais contrairement à sudo, su marche ?? :

thierrybo@ubuntu-desktop:~$ echo $PATH
/home/thierrybo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/lampp/bin

thierrybo@ubuntu-desktop:~$ sudo echo $PATH
[sudo] password for thierrybo:
/home/thierrybo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/lampp/bin

thierrybo@ubuntu-desktop:~$ sudo pear list
sudo: pear: command not found

thierrybo@ubuntu-desktop:~$ sudo su

root@ubuntu-desktop:/home/thierrybo# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/lampp/bin

root@ubuntu-desktop:/home/thierrybo# pear list
Installed packages, channel pear.php.net:
=========================================
Package                                   Version    State
Archive_Tar                               1.3.2      stable
<snip>
XML_image2svg                             0.1        stable
root@ubuntu-desktop:/home/thierrybo#

La seule différence en su c'est qu'il n'inclut plus mon répertoire ~/bin dans le PATH.

Hors ligne

#4 Le 28/06/2008, à 18:41

thierrybo

Re : ajout au PATH pas reconnu en sudo

Bon j'ai quand même trouvé çà, avec la commande ENV, cette fois-ci le PATH n'est plus le même en SUDO :

thierrybo@ubuntu-desktop:~$ env

PATH=/home/thierrybo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/lampp/bin

thierrybo@ubuntu-desktop:~$ sudo env

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin

thierrybo@ubuntu-desktop:~$ sudo su
root@ubuntu-desktop:/home/thierrybo# env

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/lampp/bin

donc je ne peux pas me fier à sudo echo $PATH qui ne renvoie pas le vrai PATH. Maintenant d'ou vient ce paramétrage ??

Hors ligne