Ne pas cliquer
Parrain-Linux
a demandé beaucoup de travail
Écrire un nouveau message
Page : 1
[clos] Ordre du PATH - Provenance
Avatar
loufy
utilisateur
Mixte
Inscrit le : 05/11/2012
Messages : 81
Point(s) : 496
Localisation :
Quimper, Finistère, France
Posté le 15/06/2018 à 15:13:16
Citer

Bonjour à tous :)


Je rencontre un souci dont je ne comprend pas l’origine.
Ça concerne une (Arch) Manjaro KDE à jour. La machine d'un pote.

Tout allait bien jusqu'à ce que je découvre (ce que j'estime être) une anomalie dans le PATH de ses variables environnementales.
Anomalie qui n'existait pas la dernière fois que j'ai posé les mains dessus, et qui ne vient pas d'une intervention volontaire de sa part (à priori même aucune intervention de sa part).


printenv | grep PATH

Chez moi :
PATH=/usr/local/bin : /usr/bin : /bin : /usr/local/sbin:[⋅⋅⋅]

Chez lui c'est inversé :
PATH=/bin : /usr/bin : /usr/local/bin : /usr/local/sbin:[⋅⋅⋅]


Une vérification des fichiers /etc/profile ; et équivalents locaux ne donne aucune différence.
(/etc/profile.d/ contient la même liste de fichiers) - (Le printenv est identique en root (via sudo -i / -s) comme sous son utilisateur)


Outre le fait que ça soit intriguant, et si ça n'était que ça je viendrais déranger personne ^_^
Ça rend caduc firejail en l’occurrence, car /usr/local/bin doit être le premier dans le PATH.


Aussi j'aurais 2 questions :

1) L'un de vous aurait-il une idée susceptible d'expliquer le chamboulement des variables ?

2) Comment — sans altérer des fichiers gérés par des paquets, et si possible sans avoir de doublons dans le PATH — serait-il possible de forcer l'ordre des emplacements indiqués (à minima faire en sorte que /usr/local/bin soit tjs en première position) ?


Est-ce que je passe complètement à côté de quelque-chose d'évident ?
D'avance merci pour votre aide :)

Dernière édition le 19/06/2018 à 16:14:34
Remonter Descendre Permalien du message
Avatar
linette
utilisateur
Marraine
Inscrit le : 21/01/2014
Messages : 498
Point(s) : 3291
Localisation :
Avignon, Vaucluse, France
Posté le 15/06/2018 à 17:59:26
Citer

Salut :)

Quelle est la distribution avec laquelle tu as comparé la manjaro?

J'ai le souvenir que archlinus a regroupé ou les rep comprenant les binaires, pezut être ça ^_^ En tout cas ce qui me vient à l'esprit en premier ;)

[EDIT] les path ont une priorité definie par la distribution, pourquoi ne pas faire un lien des executables dans le bon rep choisi plutot que modifier les path?

Dernière édition le 15/06/2018 à 18:01:11
Remonter Descendre Permalien du message
Avatar
loufy
utilisateur
Mixte
Inscrit le : 05/11/2012
Messages : 81
Point(s) : 496
Localisation :
Quimper, Finistère, France
Posté le 15/06/2018 à 19:30:18
Citer

Merci pour ta réponse linette, alors c'est comparé avec une manjaro identique à part le gestionnaire de fenêtres.

Sur Arch (en tout cas Manjaro) /bin et /sbin et /usr/sbin pointent sur /usr/bin/


Normalement la priorité (PATH) est /usr/local/bin/ puis le reste dans l'ordre indiqué 'chez moi' dans le message. C'était ainsi sur sa machine jusqu'à une date assez récente et inconnue.

Dans /etc/profile on trouve ça :
Code:
# Append our default paths
appendpath () {
case ":$PATH:" in
  *:"$1":*)
;;
  *)
PATH="${PATH:+$PATH:}$1"
esac
}

appendpath '/usr/local/sbin'
appendpath '/usr/local/bin'
appendpath '/usr/bin'
unset appendpath

export PATH


Bêtement je ne sais pas où se règle l'ordre dans lequel ça se range par priorités ensuite.

Je n'ai pas tout à fait compris le sens de ta dernière question :)  Il se trouve que firejail utilise /usr/local/bin/ pour lancer les applications lui-même. Ça sont des liens vers /usr/bin/firejail

Je coup je vois pas trop l'alternative possible ; Et si l'on souhaite lancer une appli sans passer par firejail il suffit alors de l'appeler par un chemin explicite qui n'est pas /usr/local/bin/
Donc toute la mécanique repose sur cet ordre du PATH je crois :)

Remonter Descendre Permalien du message
Avatar
loufy
utilisateur
Mixte
Inscrit le : 05/11/2012
Messages : 81
Point(s) : 496
Localisation :
Quimper, Finistère, France
Posté le 19/06/2018 à 16:14:05
Citer

Dans la mesure où il est impossible de connaître la provenance des valeurs fournies à variable (ce qui ici peut correspondre à n'importe quel fichier exécuté avec des droits d'admin suffisants) c'est purement et simplement insoluble.

Les seules solutions logiques étant soit de vérifier chaque fichier, soit de réinstaller le système.

À moins que je n'ai pas su trouver comment déterminer la provenance de ces valeurs (ce qui reste assez hardcore à trouver comme info sur le net).

Sujet clos merci encore :)

Remonter Descendre Permalien du message
Écrire un nouveau message
Page : 1
Page générée en 0.0629 seconde(s).