GNU/Linux >> Znalost Linux >  >> Linux

Které distribuce mají $home/.local/bin v $path?

Příklad:v Ubuntu je vždy .local adresář v domovském adresáři a .profile obsahuje tento řádek:

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

$HOME/.local/bin ve výchozím nastavení neexistuje, ale pokud je vytvořen, je již v $PATH a spustitelné soubory uvnitř.

Toto není přesně uvedeno ve specifikaci adresáře XDG, ale zdá se, že je z ní odvozeno.

Zajímalo by mě, zda je to natolik běžné, že by se dalo obvykle předpokládat, že existuje v nejběžnějších distribucích koncových uživatelů. Je to například ve všech derivátech Debianu, nebo alespoň v těch Ubuntu? Co říkáte na ekosystém Red Hat/Fedora/CentOS? A tak dále s Archem, Suse a tím, co lidé dnes používají.

Aby bylo jasno, toto je pouze pro $HOME/.local/bin , ne $HOME/bin .

Ze zvědavosti klidně zahrňte BSD, OS/X a další, pokud máte informace. 🙂

Přijatá odpověď:

~/.local adresáře je součástí specifikace systemd file-hierarchy spec a je rozšířením specifikace xdg user-dirs

Může to být matoucí, protože balíčky odvozené z Debianu pro bash ztratili ~/.local když přešli na bash 4.3, měli to v bash 4.2.

Je to chyba a v systému Debian už nějakou dobu sedí patch.

Tato chyba je důvodem, proč Ubuntu 16.04 mělo v cestě ~/.local a Ubuntu 17.04 nikoli.

Pokud spustíte systemd-path jako uživatel a uvidíte, že má být v cestě.

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

Teoreticky je odpověď na váš dotaz Jakákoli distribuce, která používá systemd nebo chce zachovat kompatibilitu s systemd.

Více informací je v file-hierarchy(7)


Linux
  1. Jak Linux zpracovává více po sobě jdoucích oddělovačů cest (/home////username///soubor)?

  2. Kde by měl být umístěn místní spustitelný soubor?

  3. Není důvod mít Shebang ukazující na /bin/sh spíše než /bin/bash?

  1. Linux – sloučení /usr/bin A /usr/sbin do /bin (gnu/linux)?

  2. Změňte adresář a spusťte soubor jedním příkazem

  3. Kdy mám použít /dev/shm/ a kdy /tmp/?

  1. Kdy musím použít #!/bin/bash a kdy #!/bin/sh?

  2. Rozdíl mezi /bin a /usr/bin

  3. #!/bin/sh vs #!/bin/bash pro maximální přenositelnost