Mam zamiar zainstalować „leiningen”, który jest skryptem bash dla języka programowania clojure z dużą użytecznością ... ... ale nie jestem pewien, gdzie właściwe jest -put- skrypt wykonywalny w systemie Linux system, aby był stale i stabilnie dostępny.
Nie sądzę, żeby gdziekolwiek w / home miało sens, ale nie wiem, który katalog / katalogi powinny być do tego użyte.
/ usr / share?
Odpowiedzi:
(Uwaga:
~
tłumaczy jak/home/user
w tym poście)Osobiście umieszczam wszystkie niestandardowe skrypty systemowe
/usr/local/bin
i wszystkie osobiste skrypty bash~/bin
. Bardzo niewiele programów, które instaluję, umieszcza się w/usr/local/bin
katalogu, więc nie jest zbyt zagracone i było już w$PATH
zmiennej na większości moich komputerów.Aby dodać
/usr/local/bin
do ścieżki systemowej (jeśli jeszcze jej nie ma), dodaj to do/etc/profile
:Aby dodać
~/bin
do ścieżki użytkownika, dodaj to do~/.bash_profile
:Czasami domyślny
.bash_profile
plik będzie mieć if który automatycznie dodaje~/bin
się$PATH
, jeśli istnieje, więc utworzyć~/bin
i otworzyć nowy terminal, aby zobaczyć, czy twoje już to robi.źródło
export
wielokrotnego wprowadzania zmiennej (i prawdopodobnie twój system jest już oznaczonyPATH
do eksportu, więc nie musisz tego robić sam)./ usr / local / to naprawdę właściwe miejsce, podczas gdy / opt jest naprawdę przeznaczony do aplikacji innych firm; „/ opt jest zarezerwowany do instalacji dodatkowych pakietów aplikacji”. Jest to część standardu hierarchii systemów plików.
Zobacz http://www.pathname.com/fhs/pub/fhs-2.3.html w celu omówienia / opt.
W przypadku / usr / local / służy do „użytku przez administratora systemu”. Tylko nie zapomnij o rzeczach tam zawartych - udokumentuj to.
źródło
/usr/local
- jak sama nazwa wskazuje - jest dla lokalnego administratora i/opt
dla rzeczy, które nie są oficjalnie dystrybuowane, takich jak komercyjne oprogramowanie innych firm, które jest zarządzane w podobny sposób (może zostać zastąpione lub usunięte z aktualizacji z upstream), ale nie zarządzany przez menedżera pakietów dystrybucji, lub być może faktycznie dystrybuowany jako RPM lub.deb
pakiety, ale nie zorganizowany i spakowany zgodnie ze wszystkimi zasadami i konwencjami dystrybucji./usr/local
dalszej części dokumentu znajduje się osobna sekcja .Historycznie używałbyś czegoś takiego jak / opt. Wszystko jest w porządku, o ile jest aktualizowane w $ PATH dla użytkowników, którzy powinni je mieć (stąd wszystko w / home jest złym pomysłem).
źródło
/usr/share/clojure
wydaje się być powszechnym miejscem do umieszczania plików binarnych i bibliotek clojure - dlaczego nie wiem, wydaje się to naturalne/usr/local/share/clojure
- dlatego tworzeniesite
podkatalogu dla tych skryptów bash wydaje się w porządku.Chodzi o to, że bardziej sensowne jest organizowanie skryptów według funkcji, a nie wszystkie skrypty bash w tym samym miejscu.
źródło
/usr/share
tego. Przede wszystkimshare
oznacza pliki niezależne od architektury (tj. Współdzielone między architekturami). Z tego powodu biblioteki i pliki wykonywalne nie należą doshare
katalogu. Po drugie, z wyjątkiem/usr/local
niczego innego, niż menedżer pakietów dystrybucyjnych powinien kiedykolwiek pisać/usr
./usr/local
, Uważam, że istnieje pewne zamieszanie w znaczeniu „lokalny”.Jak rozumiem, „lokalny” nie oznacza „pochodzący z / z lokalnego komputera”, ale, mówiąc prościej, „specyficzny dla lokalnego komputera”, który może, ale nie musi, pochodzić z / z lokalnego komputera.
źródło