OVH Cloud OVH Cloud

[NetBSD 1.6.1] L'installation des programmes pré-compilés

3 réponses
Avatar
Neky
Bonjour,
Il y a une chose que je pige pas. J'ai voulu installé bash et perl
l'autre fois. En utilisant les pkgtools, j'ai donc tapé :
# pkg_add ftp://blabla/All/bash
Et idem pour perl. Le problème, c'est qu'avec ces commandes, les
programmes sont installés dans /usr/bin/pkg ! Et non dans /bin/bash et
/usr/bin/perl comme ça l'aurait fais sous Linux.

Je sais que je suis sur un BSD et non un linux, mais j'aimerais
comprendre comment je dois faire puisque :

(1) Si je change de shell via chsh, je dois mettre "Shell :
/usr/bin/pkg/bash" ce qui me semble un peu bizarre, même si ça marche.

(2) J'ai installé un script perl en tant que user. Voila ce que j'ai tapé :
$ cd rep_avec_le_script_perl
$ ./script_perl
bash: ./script_perl: /usr/bin/perl: bad interpreter: No such file or
directory.
Et évidemment, mon perl est installé, mais il n'est pas au bont endroit !

Donc, qu'est ce que je dois faire ? Est-ce que je dois pas déplacer moi
même le binaire bash dans /bin et perl dans /usr/bin ?

Voila, si on pouvait m'éclaircir là dessus parce que la doc n'en parle
pas du tout et moi, je trouve ça bien étrange !

3 réponses

Avatar
manu
Neky wrote:

Il y a une chose que je pige pas. J'ai voulu installé bash et perl
l'autre fois. En utilisant les pkgtools, j'ai donc tapé :
# pkg_add ftp://blabla/All/bash
Et idem pour perl. Le problème, c'est qu'avec ces commandes, les
programmes sont installés dans /usr/bin/pkg ! Et non dans /bin/bash et
/usr/bin/perl comme ça l'aurait fais sous Linux.


Le système de package essaye tant bien que mal d'eviter de mélanger le
système de base et les packages. Donc par défaut, tout va dans /usr/pkg
et /usr/X11R6.

(1) Si je change de shell via chsh, je dois mettre "Shell :
/usr/bin/pkg/bash" ce qui me semble un peu bizarre, même si ça marche.

(2) J'ai installé un script perl en tant que user. Voila ce que j'ai tapé :
$ cd rep_avec_le_script_perl
$ ./script_perl
bash: ./script_perl: /usr/bin/perl: bad interpreter: No such file or
directory.
Et évidemment, mon perl est installé, mais il n'est pas au bont endroit !


Soit tu modifie le script pour indiquer la bonne position de
l'interpeteur perl, soit tu fais un lien symbolique de /usr/bin/perl
vers /usr/pkg/bin/perl.

Donc, qu'est ce que je dois faire ? Est-ce que je dois pas déplacer moi
même le binaire bash dans /bin et perl dans /usr/bin ?


Tu peux faire ca, mais cette methode a ses limites. Si tu déplace les
fichiers de librairies de perl de /usr/pkg/lib vers /usr/lib, il y a
fort à parier qu'il ne marchera plus. En plus, tu ne pourra plus
desinstaller par le système de package.

Si tu tiens à mettre les choses dans / ou dans /usr, n'utilise pas les
packages binaires précompilés, et passe par le pkgsrc. Le pkgsrc va te
recompiler automatiquement ton package, mais avec les options de ton
choix. Et par exemple tu peux lui dire d'installer relativement à un
autre endroit que /usr/pkg

--
Emmanuel Dreyfus
Un bouquin en français sur BSD:
http://www.eyrolles.com/php.informatique/Ouvrages/9782212112443.php3


Avatar
Neky
Emmanuel Dreyfus wrote:
Des choses qui répondent à mes questions


Merci !

Avatar
Jyce
"Neky" a écrit dans le message de
news:s%Pob.1479$
Bonjour,
Il y a une chose que je pige pas. J'ai voulu installé bash et perl
l'autre fois. En utilisant les pkgtools, j'ai donc tapé :
# pkg_add ftp://blabla/All/bash
Et idem pour perl. Le problème, c'est qu'avec ces commandes, les
programmes sont installés dans /usr/bin/pkg ! Et non dans /bin/bash et
/usr/bin/perl comme ça l'aurait fais sous Linux.

Je sais que je suis sur un BSD et non un linux, mais j'aimerais
comprendre comment je dois faire puisque :

(1) Si je change de shell via chsh, je dois mettre "Shell :
/usr/bin/pkg/bash" ce qui me semble un peu bizarre, même si ça marche.

(2) J'ai installé un script perl en tant que user. Voila ce que j'ai tapé
:

$ cd rep_avec_le_script_perl
$ ./script_perl
bash: ./script_perl: /usr/bin/perl: bad interpreter: No such file or
directory.


Tu peux mettre: #!/usr/bin/env perl sinon.

Et évidemment, mon perl est installé, mais il n'est pas au bont endroit !

Donc, qu'est ce que je dois faire ? Est-ce que je dois pas déplacer moi
même le binaire bash dans /bin et perl dans /usr/bin ?

Voila, si on pouvait m'éclaircir là dessus parce que la doc n'en parle
pas du tout et moi, je trouve ça bien étrange !