Re: [debutant] question intelligente : PATH de root

2002-01-18 Par sujet jipe

Le Vendredi 18 Janvier 2002 11:33, vous avez écrit :
> ||~
> || gwe dixit :
>
> [...]
>
> || P.S. : Y aurais pas quelqu'un qui auraient des questions interressantes
> || sur le sujet histoire de me rassurer parce que la le doute me prend
> || "suis je sur la liste de rigolez.com ou celle de linux-debutant ??"
>
> Je vais tenter très prétentieusement de satisfaire ta demande :
>
> tout d'abord, merci pour toutes les réponses concernant la modif de
> variables d'environnement. Mais le pb est tjrs là... Lorsque je tente de
> lancer l'exécutable TestCat, voici le message de retour :
> [spir@localhost CatFontes]$ ./TestCat
> ./TestCat: error while loading shared libraries: libqtintf-6.5-qt2.3.so:
> cannot open shared object file: No such file or directory
>
> Voici le PATH actuel :
> [spir@localhost CatFontes]$ echo $PATH
> /usr//bin:/bin:/usr/bin::/usr/local/bin:/usr/X11R6/bin:/usr/games:/home/spi
>r/bin:/usr/local/kylix2/bin:/usr/local/kylix2/lib
>
> Or libqtintf-6.5-qt2.3.so se trouve dans /usr/local/kylix2/bin,
> [root@localhost CatFontes]# slocate libqtintf
> /usr/local/kylix2/bin/libqtintf-6.5.0-qt2.3.so
> /usr/local/kylix2/bin/libqtintf-6.5-qt2.3.so
> Pourquoi le shell ne trouve-t-il pas la librairie en question ?
>
>
> Vous avez peut-être noté que pour le slocate j'ai dû passer en root, vu que
> le dossier /usr/local/kylix2 est propriété de root. Donc je me suis dit que
> j'allais essayer de lancer TestCat  en tant que root, en ayant au préalable
> mis le chemin en question dans le PATH de root (et redémarré, pour être sûr
> que le nouveau PATh soit actif). Voici donc le contenu de
> /root/bash_profile : [root@localhost CatFontes]# cat /root/.bash_profile
> # .bash_profile
> # Get the aliases and functions
> if [ -f ~/.bashrc ]; then
> . ~/.bashrc
> fi
> mesg n
> PATH=$PATH:/usr/local/kylix2/bin:/usr/local/kylix2/lib
> export PATH
>
> Et voici le PATH sous root après reboot :
> [root@localhost CatFontes]# echo $PATH
> /sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin
>
> Là, je pige plus ! Il semble que le bash_profile de root ne soit pas pris
> en compte. Le résultat est que je ne peux pas non plus lancer TestCat en
> tant que root, même résultat que sous l'utilisateur lambda :
> [root@localhost CatFontes]# ./TestCat
> ./TestCat: error while loading shared libraries: libqtintf-6.5-qt2.3.so:
> cannot open shared object file: No such file or directory
>
> Du coup, j'ai décidé d'employer le marteau-piqueur et de modifier carrément
> /etc/profile, bien que ce soit pas la bonne méthode, vu que seul
> l'utilisateur 'spir' a besoin que les chemins des librairies de kylix2
> soient dans son PATH. Voici donc la fin du nouveau /etc/profile :
> # Mandrake-Security : if you remove this comment, remove the next line too.
> PATH=$PATH:/usr/X11R6/bin:/usr/games:/usr/local/kylix2/bin:/usr/local/kylix
>2/lib # Mandrake-Security : if you remove this comment, remove the next line
> too. export PATH
>
> Voici le résultat après reboot :
> [spir@localhost spir]$ echo $PATH
> /usr//bin:/bin:/usr/bin::/usr/local/bin:/usr/X11R6/bin:/usr/games:/usr/loca
>l/kylix2/bin:/usr/local/kylix2/lib:/home/spir/bin:/usr/local/kylix2/bin:/usr
>/local/kylix2/lib [spir@localhost spir]$ su
> Password:
> [root@localhost spir]# echo $PATH
> /sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin
> [root@localhost spir]#
>
> Le PATH de 'spir' contient les dossiers ajoutés en double (logique !), mais
> celui de root ne les contient pas du tout !!
>
>
> Donc, je me suis dit qu'au lieu de lancer mes exécutables en root, j'allais
> chercher pourquoi 'spir' ne peut accéder aux dossiers de librairies bien
> qu'ils soient dans son PATH. Les permissions sont les suivantes :
> [root@localhost kylix2]# ls -ld bin
> drwxr-xr-x2 root root 4096 jan 10 00:37 bin/
> Logiquement, vu que le flag 'x' est positionné, 'spir' accéder au
> librairies contenuses dans ces dossiers, non ? Sinon à quoi sert ce bit ?
> Je vais quand même permettre aux 'others' de lire et écrire les fichiers de
> ces dossiers. Après application de chmod, voici le résultat :
> [root@localhost kylix2]# ls -ld bin
> drwxr-xrwx2 root root 4096 jan 10 00:37 bin/
>
> D'où, je repasse en mode utilisateur lambda pour tenter à nouveau de lancer
> mon prog TestCat :
> [spir@localhost CatFontes]$ ./TestCat
> ./TestCat: error while loading shared libraries: libqtintf-6.5-qt2.3.so:
> cannot open shared object file: No such file or directory
>
> Là, je laisse béton... ?
> A vot' bon coeur !
>
> denis
>
> PS : question subsidiare : peut-on indiquer dans le PATH un dossier et tous
> ses sous-dossiers, évidemment sans les nommer explicitement ? en fait,
> c'est pour lancer mes essais de prog depuis la ligne de commande ou la
> fenêtre "lancer" sans avoir à indiquer le chemin, ni me positionner dans le
> dossier de l'exécutable, ni écrire "./".
> denis le feignant qu'aime pas trop perdre son temps

tu veux faire pointer PATH vers une librairies? cette variable sert à 
pos

Re: [debutant] question intelligente : PATH de root

2002-01-18 Par sujet Bernard Lheureux

On Friday 18 January 2002 11:33, you wrote:
Essayes une fois de taper en console "ldconfig -v" (en root)
et re-essayes ta commande...
> [spir@localhost CatFontes]$ ./TestCat
> ../TestCat: error while loading shared libraries: libqtintf-6.5-qt2.3.so:
> cannot open shared object file: No such file or directory

-- 
(°-   Bernard Lheureux Gestionnaire des MailingLists ML, TechML, LinuxML
//\   http://www.bbsoft4.org/Mailinglists.htm ** MailTo:[EMAIL PROTECTED]
v_/_  http://www.bbsoft4.org/ << * >> http://www.portalinux.org/



Vous souhaitez acquerir votre Pack ou des Services MandrakeSoft?
Rendez-vous sur "http://www.mandrakestore.com";



Re: [debutant] question intelligente : PATH de root

2002-01-18 Par sujet spir

||~
|| gwe dixit : 
[...]
|| P.S. : Y aurais pas quelqu'un qui auraient des questions interressantes
|| sur le sujet histoire de me rassurer parce que la le doute me prend
|| "suis je sur la liste de rigolez.com ou celle de linux-debutant ??"

Je vais tenter très prétentieusement de satisfaire ta demande :

tout d'abord, merci pour toutes les réponses concernant la modif de variables 
d'environnement. Mais le pb est tjrs là... Lorsque je tente de lancer 
l'exécutable TestCat, voici le message de retour :
[spir@localhost CatFontes]$ ./TestCat
./TestCat: error while loading shared libraries: libqtintf-6.5-qt2.3.so: 
cannot open shared object file: No such file or directory

Voici le PATH actuel :
[spir@localhost CatFontes]$ echo $PATH
/usr//bin:/bin:/usr/bin::/usr/local/bin:/usr/X11R6/bin:/usr/games:/home/spir/bin:/usr/local/kylix2/bin:/usr/local/kylix2/lib

Or libqtintf-6.5-qt2.3.so se trouve dans /usr/local/kylix2/bin, 
[root@localhost CatFontes]# slocate libqtintf
/usr/local/kylix2/bin/libqtintf-6.5.0-qt2.3.so
/usr/local/kylix2/bin/libqtintf-6.5-qt2.3.so
Pourquoi le shell ne trouve-t-il pas la librairie en question ?


Vous avez peut-être noté que pour le slocate j'ai dû passer en root, vu que 
le dossier /usr/local/kylix2 est propriété de root. Donc je me suis dit que 
j'allais essayer de lancer TestCat  en tant que root, en ayant au préalable 
mis le chemin en question dans le PATH de root (et redémarré, pour être sûr 
que le nouveau PATh soit actif). Voici donc le contenu de /root/bash_profile :
[root@localhost CatFontes]# cat /root/.bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
mesg n
PATH=$PATH:/usr/local/kylix2/bin:/usr/local/kylix2/lib
export PATH

Et voici le PATH sous root après reboot :
[root@localhost CatFontes]# echo $PATH
/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin

Là, je pige plus ! Il semble que le bash_profile de root ne soit pas pris en 
compte. Le résultat est que je ne peux pas non plus lancer TestCat en tant 
que root, même résultat que sous l'utilisateur lambda :
[root@localhost CatFontes]# ./TestCat
./TestCat: error while loading shared libraries: libqtintf-6.5-qt2.3.so: 
cannot open shared object file: No such file or directory

Du coup, j'ai décidé d'employer le marteau-piqueur et de modifier carrément 
/etc/profile, bien que ce soit pas la bonne méthode, vu que seul 
l'utilisateur 'spir' a besoin que les chemins des librairies de kylix2 soient 
dans son PATH. Voici donc la fin du nouveau /etc/profile :
# Mandrake-Security : if you remove this comment, remove the next line too.
PATH=$PATH:/usr/X11R6/bin:/usr/games:/usr/local/kylix2/bin:/usr/local/kylix2/lib
# Mandrake-Security : if you remove this comment, remove the next line too.
export PATH

Voici le résultat après reboot :
[spir@localhost spir]$ echo $PATH
/usr//bin:/bin:/usr/bin::/usr/local/bin:/usr/X11R6/bin:/usr/games:/usr/local/kylix2/bin:/usr/local/kylix2/lib:/home/spir/bin:/usr/local/kylix2/bin:/usr/local/kylix2/lib
[spir@localhost spir]$ su
Password: 
[root@localhost spir]# echo $PATH
/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin
[root@localhost spir]# 

Le PATH de 'spir' contient les dossiers ajoutés en double (logique !), mais 
celui de root ne les contient pas du tout !!


Donc, je me suis dit qu'au lieu de lancer mes exécutables en root, j'allais 
chercher pourquoi 'spir' ne peut accéder aux dossiers de librairies bien 
qu'ils soient dans son PATH. Les permissions sont les suivantes :
[root@localhost kylix2]# ls -ld bin
drwxr-xr-x2 root root 4096 jan 10 00:37 bin/
Logiquement, vu que le flag 'x' est positionné, 'spir' accéder au librairies 
contenuses dans ces dossiers, non ? Sinon à quoi sert ce bit ? Je vais quand 
même permettre aux 'others' de lire et écrire les fichiers de ces dossiers. 
Après application de chmod, voici le résultat :
[root@localhost kylix2]# ls -ld bin
drwxr-xrwx2 root root 4096 jan 10 00:37 bin/

D'où, je repasse en mode utilisateur lambda pour tenter à nouveau de lancer 
mon prog TestCat :
[spir@localhost CatFontes]$ ./TestCat
./TestCat: error while loading shared libraries: libqtintf-6.5-qt2.3.so: 
cannot open shared object file: No such file or directory

Là, je laisse béton... ?
A vot' bon coeur !

denis

PS : question subsidiare : peut-on indiquer dans le PATH un dossier et tous 
ses sous-dossiers, évidemment sans les nommer explicitement ? en fait, c'est 
pour lancer mes essais de prog depuis la ligne de commande ou la fenêtre 
"lancer" sans avoir à indiquer le chemin, ni me positionner dans le dossier 
de l'exécutable, ni écrire "./".
denis le feignant qu'aime pas trop perdre son temps




Vous souhaitez acquerir votre Pack ou des Services MandrakeSoft?
Rendez-vous sur "http://www.mandrakestore.com";