¿Qué distribuciones tienen $ HOME / .local / bin en $ PATH?

43

Ejemplo: en Ubuntu, siempre hay un .localdirectorio en el directorio de inicio e .profileincluye esta línea:

PATH="$HOME/bin:$HOME/.local/bin:$PATH"

$HOME/.local/binno existe de forma predeterminada, pero si se crea ya está en $PATHy se pueden encontrar ejecutables dentro.

Esto no se menciona exactamente en la especificación del directorio XDG pero parece derivado de él.

Lo que me pregunto es si esto es lo suficientemente común como para suponer que existe en las distribuciones de usuarios finales más comunes. ¿Es, por ejemplo, en todos los derivados de Debian, o al menos los de Ubuntu? ¿Qué tal el ecosistema Red Hat / Fedora / CentOS? Y así sucesivamente con Arch, Suse y lo que la gente usa hoy en día.

Para ser más claro, esto es solo para $HOME/.local/bin, no $HOME/bin .

Por curiosidad, siéntase libre de incluir BSD, OS / X y otros si tiene la información. :)

Stoffe
fuente
He visto esta pregunta antes, pero no he encontrado un sistema que haga esto. Para hacer que la pregunta sea tópica en lugar de opinión , puede eliminar las consideraciones de "lo suficientemente común" y simplemente preguntar de dónde viene y ejemplos de sistemas que hacen esto para nuevas cuentas de usuario. Fedora "reciente" hace esto, por ejemplo.
Thomas Dickey
Puedo reformular para preguntar simplemente "qué" hacerlo, seguro. Es un poco difícil formular la pregunta, ya que lo que busco no es una respuesta definitiva, sino más bien una idea de si esto se puede suponer razonablemente en la mayoría de los casos 2016.
Stoffe
1
No lo tengo en mi camino, y ciertamente no lo pondré allí. (Debian, pero xdm / fvwm, ni Gnome ni KDE como escritorio).
dirkt
1
Revisé un sistema que pudiera tenerlo. Ninguna de mis cuentas de desarrollo usa bash , y los empaquetadores simplemente no son lo suficientemente exhaustivos como para darse cuenta a menos que haga una verificación especial (ver newpath ).
Thomas Dickey
1
IIRC Ubuntu realiza /etc/skel/.profilehasta al menos 14.04 pruebas de la presencia de un usuario $HOME/biny lo agrega a PATHsi existe; en contraste, 16.04 parece agregar ambos $HOME/bine $HOME/.local/binincondicionalmente. No recuerdo haber agregado Ubuntus anteriormente $HOME/.local/bin, pero no veo nada relevante en el bashregistro de cambios del paquete (que supuestamente posee /etc/skel/.profile).
steeldriver

Respuestas:

42

Los ~/.localdirectorios son parte de la especificación de jerarquía de archivos systemd y es una extensión de la especificación de directorios de usuario xdg

Puede ser confuso ya que los paquetes derivados de Debian bashperdieron el ~/.localcamino cuando volvieron a bash en bash 4.3 y lo tenían en bash 4.2.

Es un error , y un parche ha estado en el sistema Debian por un tiempo.

Este error es la razón por la que Ubuntu 16.04 tenía ~ / .local en la ruta y Ubuntu 17.04 no.

Si se ejecuta systemd-pathcomo usuario y verá que está destinado a estar en la ruta.

$ systemd-path user-binaries
/home/foo/.local/bin

En teoría, la respuesta a su consulta es Cualquier distribución que use systemd o quiera mantener la compatibilidad con systemd.

Hay más información en file-hierarchy(7)

gdahlm
fuente
1
¡Gracias! Por pura curiosidad, ¿fue este también el caso durante los tiempos iniciales? Solo pregunto porque mi memoria dice que estaba allí antes que systemd, ¡pero es igualmente probable que lo recuerde mal!
Stoffe
Dudaría que fuera antes de systemd, para siempre la convención fue ~ / bin.
pfalcon
Arrgh, este error parece haber llegado también en 16.04 por cortesía de un bash con respaldo 4.3
Adrian
Funciona en Ubuntu 18.04.
Daniel
1

En distribuciones basadas en RPM, la situación parece ser así

  • RHEL 7: lo agrega al final de PATH; consulte https://bugzilla.redhat.com/show_bug.cgi?id=1583227 cuando usa un shell de inicio de sesión. Funcionará con, sudo su -l johndoepero no funcionará si no utiliza el -linterruptor.
  • CentOS 7: vea RHEL, siempre sigue a RHEL.
  • Fedora 28 (probablemente también más antiguo): igual que RHEL / CentOS, agregado al final de PATH

Si desea ver esos errores ordenados, no olvide votar / comentar sobre ellos, ya que esto resaltaría la importancia del problema.

Sorin
fuente