Re: [debutant] question intelligente : PATH de root
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
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
||~ || 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";