W co wchodzi /opt/
i co powinno się wchodzić /usr/
? Rozumiem, że /usr/
kiedyś były to katalogi domowe użytkowników, ale skoro istnieją w /Users/
- jaki jest teraz cel?
Czy istnieje instrukcja lub przewodnik do tego, do czego należy używać wszystkich wbudowanych katalogów? Jak co to jest /home/
lub /net/
?
macos
folders
filesystem
unix
DilithiumMatrix
źródło
źródło
Odpowiedzi:
Czy istnieje instrukcja lub przewodnik do tego, do czego należy używać wszystkich wbudowanych katalogów? Jak co to jest / home / lub / net /?
Zajrzyj do Przewodnika programowania systemu plików, aby uzyskać najbardziej aktualne informacje oraz
man hier
w Terminalu, który zawiera „historyczny szkic” hierarchii systemu plików (znajduje się na końcu tej odpowiedzi w celach informacyjnych).Komentarz do twojego pytania wspomina o Standardie Hierarchii Systemów Plików . Prawdopodobnie dojdziesz do wniosku, po przeczytaniu Przewodnika po programowaniu systemu plików i
man hier
, że macOS nie postępuje zgodnie z FHS , to raczej kwestia Linuksa. Oczywiście istnieją podobieństwa między FHS a układem systemu plików w systemie macOS ze względu na wspólne pochodzenie systemu UNIX, ale różnice są uderzające. macOS nie używa żadnego z tych:/boot
folder -> używa/System/Library/Kernels
zamiast tego macOS (w starszych wersjach macOS był folder zawierający jądro/
)/home
folder -> używa/Users
zamiast tego macOS/root
folder -> używa/var/root
zamiast tego macOSi
/opt
nie jest wspomniany ani razu w żadnym dokumencie (więcej/opt
poniżej).Dalszą distiction pomiędzy Macos i FHS zgodny OS jest stosowanie
/private
, na przykład/etc
jest dowiązanie się/private/etc
.O
/net
: Jest to mapa automountera (wymieniona w/etc/auto_master
), więcej informacji w Wikipedii .Co powinien i powinien przejść do / opt / a co powinien / powinien przejść do / usr /? Rozumiem, że / usr / było kiedyś dla katalogów domowych użytkowników, ale skoro istnieje w / Users / - jaki jest teraz cel?
Chociaż
/usr
w przeszłości był używany do umieszczania katalogów domowych użytkowników , to już nie jest przypadek.Obecnie
/usr
zawiera polecenia użytkownika (/usr/bin
dla zwykłych użytkowników i/usr/sbin
administracyjnych, takich jakroot
), biblioteki współdzielone (/usr/lib
), strony podręcznika man (/usr/share/man
), pliki wykonywalne, które nie powinny być uruchamiane bezpośrednio przez użytkowników (/usr/libexec
) i inne rzeczy.Oferuje także podkatalog
/usr/local
do umieszczania programów, bibliotek i innych plików, które nie są dostarczane z podstawowym systemem operacyjnym./opt
ma bardzo podobną rolę/usr/local
i wydają się wymienne. Jednak z mojego doświadczenia w pracy z innych administratorów Linux / UNIX, nie wydaje się być korzystne dla/usr/local
w BSD UNIX systemów operacyjnych.To jest moje zdanie na ten temat: macOS jest oparty na BSD i dlatego użyłbym go
/usr/local
. Pamiętaj, że możesz utworzyć katalog programu, a następnie polecenia dowiązania symbolicznego do/usr/local/bin
itp., Na przykład:Kiedyś było to zwykłą praktyką także w Linuksie i UNIX, ale FHS wyraźnie zabrania tego: jeśli chcesz instalować pakiety stron trzecich w ich własnej hierarchii katalogów, powinieneś użyć
/opt/<package>
zamiast tego. Należy pamiętać, że zgodność z FHS wymaga umieszczenia plików konfiguracyjnych/etc/opt/<package>
i plików zmiennych/var/opt/<package>
.Tak więc w macOS zalecam trzymanie się
/usr/local
jak opisano powyżej.Wiem o dodatkowym oprogramowaniu, takim jak Cisco VPN i XQuartz, które się instalują
/opt
, więc powyższe różnice zaczynają się zacierać.man hier
Jak wspomniano powyżej, jest to
man hier
:źródło
/usr/X11/
nie jest zalecane?man hier
): strona podręcznikaKiedy czytam o
/opt
(często kojarzonych z/opt/local
MacPortami ) i „standardowych” zastosowaniach ścieżek, myślę też o Fink, który istnieje już od co najmniej 2001 roku . Fink spopularyzował użycie następującej ścieżki:/sw
Przykład nieostrożnego użycia niestandardowej części hierarchii systemu plików w systemie Mac OS X.
2003-02-06
Virex 7.2, bezpłatny dla wszystkich członków .Mac, niesławnie nadpisał biblioteki Fink :
Inne dyskusje na temat incydentu, w tym poszanowanie licencji, obejmowały:
2003-04-16
Fink aktualności pozycja:
2003-05
Informacje o wersji programu McAfee Virex w wersji 7.2.1 nie zawierały wzmianki o problemach spowodowanych przez użytkowników Fink.
Na marginesie…
2004-08-31
Obserwacje, że Virex 7.5 nie był już dostępny dla członków .Mac .
Związane z BSD
Dotyczy to nadal systemów operacyjnych takich jak FreeBSD i PC-BSD.
Chociaż
/usr/home/
nie jest to jednoznaczne na https://www.freebsd.org/cgi/man.cgi?query=hier&sektion=7&manpath=FreeBSD+10.2-RELEASE ścieżka jest przedstawiona w dokumentach takich jak:źródło