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 hierw 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:
/bootfolder -> używa /System/Library/Kernelszamiast tego macOS (w starszych wersjach macOS był folder zawierający jądro /)
/homefolder -> używa /Userszamiast tego macOS
/rootfolder -> używa /var/rootzamiast tego macOS
i /optnie jest wspomniany ani razu w żadnym dokumencie (więcej /optponiżej).
Dalszą distiction pomiędzy Macos i FHS zgodny OS jest stosowanie /private, na przykład /etcjest 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 /usrzawiera polecenia użytkownika ( /usr/bindla zwykłych użytkowników i /usr/sbinadministracyjnych, takich jak root), 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/localdo umieszczania programów, bibliotek i innych plików, które nie są dostarczane z podstawowym systemem operacyjnym.
/optma bardzo podobną rolę /usr/locali wydają się wymienne. Jednak z mojego doświadczenia w pracy z innych administratorów Linux / UNIX, nie wydaje się być korzystne dla /usr/localw 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/binitp., Na przykład:
/usr/local/mysql
/usr/local/mysql/bin/mysqladmin
/usr/local/mysql/lib/libmysqlclient.so
/usr/local/bin/mysqladmin -> ../mysql/bin/mysqladmin
/usr/local/lib/libmysqlclient.so -> ../mysql/lib/libmysqlclient.so
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/localjak 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:
A historical sketch of the filesystem hierarchy. The modern macOS filesystem is documented in the
``File System Programming Guide'' available on Apple Developer.
/ root directory of the filesystem
/bin/ user utilities fundamental to both single-user and multi-user environments
/dev/ block and character device files
fd/ file descriptor files; see fd(4)
/etc/ system configuration files and scripts
/mach_kernel kernel executable (the operating system loaded into memory at boot time).
/sbin/ system programs and administration utilities fundamental to both single-user and multi-
user environments
/tmp/ temporary files
/usr/ contains the majority of user utilities and applications
bin/ common utilities, programming tools, and applications
include/ standard C include files
arpa/ C include files for Internet service protocols
hfs/ C include files for HFS
machine/ machine specific C include files
net/ misc network C include files
netinet/ C include files for Internet standard protocols; see inet(4)
nfs/ C include files for NFS (Network File System)
objc/ C include files for Objective-C
protocols/ C include files for Berkeley service protocols
sys/ system C include files (kernel data structures)
ufs/ C include files for UFS
lib/ archive libraries
libexec/ system daemons & system utilities (executed by other programs)
local/ executables, libraries, etc. not included by the basic operating system
sbin/ system daemons & system utilities (executed by users)
share/ architecture-independent data files
calendar/ a variety of pre-fab calendar files; see calendar(1)
dict/ word lists; see look(1)
web2 words from Webster's 2nd International
words common words
man/ manual pages
misc/ misc system-wide ascii text files
mk/ templates for make; see make(1)
skel/ example . (dot) files for new accounts
tabset/ tab description files for a variety of terminals; used in the term-
cap file; see termcap(5)
zoneinfo/ timezone configuration information; see tzfile(5)
/var/ multi-purpose log, temporary, transient, and spool files
at/ timed command scheduling files; see at(1)
backups/ misc. backup files
db/ misc. automatically generated system-specific database files
log/ misc. system log files
mail/ user mailbox files
run/ system information files describing various info about system since it was
booted
utmpx database of current users; see utmpx(5)
rwho/ rwho data files; see rwhod(8), rwho(1), and ruptime(1)
spool/ misc. printer and mail system spooling directories
mqueue/ undelivered mail queue; see sendmail(8)
tmp/ temporary files that are kept between system reboots
folders/ per-user temporary files and caches