[résolu] openbsd+export path

Salut à tous,
je sais que ça n’a rien à voir avec debian mais je me suis lancé dans openbsd car on en y dit que du bien aussi.
Mais je suis tombé sur un petit problème de débutant.
Voilà, pour installer c pkg_add mais avant il faut mettre les path des sources avec :

et seulement ensuite je peut faire un pkg_add …

mai sle problème c que le path n’est enregistré nul part car lorsque j’éteint putty et que je le rallume et lorsque je veux installer un packages il faut que je refasse un :

Comment faire pour enregistrer le path en dur ? est-ce qu’il faut le placer dans .profile ? est-ce qu’il faut l’enregistrer dans un fichier spécifique ?

Voilà si quelqu’un a une idée…

sans doutes dans .bashrc ?
(j’ai déplacé le fil)

Dans profile (soit /etc/profile pour tout le monde ou ~/.profile), il y a les variables d’environnement, qu’il ne faut setter qu’une fois; exemple le path.
Bashrc est executé a chaque nouveau shells (shell qui hérite du shell appelant)
Donc si tu mets ca dans profile, tous tes shells en hériteront une et une seule fois, c’est donc seulement dans ce fichier qu’il faut placer les export.
Par extension il ne devrait y avoir aucun export dans les fichier bashrc.
De plus, bashrc n’est pas executé par défaut pour les shells de login donc ca peut ne pas marcher. (en pratique certains ont un appel à /etc/bash.bashrc à partir de /etc/profile mais ce n’est pas tjrs le cas)

Merci les amis,
c’était bien dans ./profile /root/.profile

comme indiqué ici :

[code]Making things easy: PKG_PATH

You can make things really easy by using the PKG_PATH environment variable. Just point it to your favorite location, and pkg_add(1) will automatically look there for any package you specify, and also fetch and install the necessary dependencies of this package automatically.

A list of possible locations to fetch packages from is given in the following section.

Example 1: fetching from your CDROM, assuming you mounted it on /mnt/cdrom

$ export PKG_PATH=/mnt/cdrom/4.0/packages/`machine -a`/

Example 2: fetching from a nearby FTP mirror

$ export PKG_PATH=ftp://your.ftp.mirror/pub/OpenBSD/4.0/packages/`machine -a`/

It’s usually a good idea to add a line similar to the above examples to your ~/.profile. As with the classic PATH variable, you can specify multiple locations, separated by colons. HOWEVER, every path in the PKG_PATH variable MUST end in a slash (/). That way, pkg_add(1) can split the path correctly even if it holds URL schemes containing colons. If the first entry in PKG_PATH fails, the next one will be tried, and so on, until the package is found. If all entries fail, an error is produced.

Notice the use of machine(1) in the above command lines. This automatically substitutes your installed OpenBSD “application architecture”, which is usually, but not always, your platform name. Of course, if you are using snapshots, you will replace “4.0” with “snapshots”.[/code]

Je ne me souviens jamais lequel est sourcé quand :blush:

Alors…

Lorsque bash est lancé comme shell de connexion interactif, ou comme shell non-interactif avec l’option --login, il lit et exécute tout d’abord les commandes se trouvant dans le fichier /etc/profile s’il existe. Après lecture de ce fichier, il recherche ~/.bash_profile, ~/.bash_login, et ~/.profile, dans cet ordre, et exécute les commandes se trouvant dans le premier fichier existant et accessible en lecture. L’option --noprofile peut être utilisée au démarrage du shell pour empêcher ce comportement.

Si bash est invoqué sous le nom sh, il essaye d’imiter le comportement de démarrage des versions historiques de sh autant que possible, tout en restant conforme aux spécifications POSIX. Lorsqu’il est invoqué comme shell de connexion interactif (ou non-interactif avec l’option --login), il essaye d’abord d’exécuter les commandes se trouvant dans /etc/profile et ~/.profile, dans cet ordre.

Quand un shell interactif démarre sans être un shell de connexion, bash lit et exécute les commandes se trouvant dans ~/.bashrc s’il existe. Ce comportement peut être inhibé à l’aide de l’option --norc. L’option --rcfile fichier forcera bash à exécuter les commandes dans fichier plutôt que dans ~/.bashrc.

Quand bash est démarré de manière non-interactive, pour lancer un script shell par exemple, il recherche la variable BASH_ENV dans l’environnement, développe son contenu si elle existe, et considère cette valeur comme le nom d’un fichier à lire et exécuter. Bash se comporte comme si la commande suivante se trouvait en début de script :
if [ -n “$BASH_ENV” ]; then . “$BASH_ENV”; fi
mais la valeur de la variable PATH n’est pas utilisée pour rechercher le fichier.

   /etc/profile
          Le fichier d’initialisation globale, exécutée par les shells de login.
   /etc/bash.bashrc
          The systemwide per-interactive-shell startup file
   ~/.bash_profile
          Le fichier d’initialisation personnalisée, exécutée par les shells de login.
   ~/.bashrc
          Le fichier de démarrage personnel, pour les shells interactifs.

Extrait du man bash