Hay un manual o guía de lo que todos los de la incorporada en los directorios deben ser utilizados? Como lo que es /home/, o /net/?
Echa un vistazo a el Sistema de Archivos de Guía de Programación para la mayoría de arriba-a-fecha de la información, y a man hier
en el Terminal, que proporciona un "bosquejo histórico" de la jerarquía del sistema de archivos (no se incluye al final de esta respuesta para referencia).
Un comentario a tu pregunta menciona el Estándar de Jerarquía de sistema de Ficheros. Usted probablemente va a llegar a la conclusión, después de leer el Archivo de Sistema de Guía de Programación y man hier
, que OS X no sigue el estándar FHS, que más de un Linux cosa. Por supuesto, hay similitudes entre el FHS y la disposición de archivos en OS X, ya que el común de UNIX origen, pero las diferencias son notables. OS X no usar alguna de estas:
-
/boot
-> Kernel es en /
(/mach_kernel
)
-
/home
-> OS X utiliza /Users
lugar
-
/root
-> OS X utiliza /var/root
lugar
y /opt
no se menciona una vez en cualquier documento ( /opt
a continuación).
Una mayor distincion entre OS X y un FHS-compatible con OS es el uso de /private
, por ejemplo /etc
es un enlace simbólico a /private/etc
.
Acerca de la /net
: es un mapa de automontador (enumerados en /etc/auto_master
), ver Wikipedia para más información.
Lo que hace y debe ir en /opt/ y lo que deben o no ir en /usr/? Mi entendimiento es que /usr/ solía ser para los directorios de los usuarios, pero desde que existe en /Usuarios/ - ¿cuál es el propósito ahora?
Aunque /usr
fue utilizado en el pasado para colocar los directorios home de los usuarios, que no es el caso.
Hoy en día, /usr
contiene comandos de usuario (en /usr/bin
para los usuarios normales y /usr/sbin
de usuarios administrativos, como root
), bibliotecas compartidas (/usr/lib
), las páginas man (/usr/share/man
), ejecutables que no debería ser ejecutado directamente por los usuarios (/usr/libexec
) y otras cosas.
También ofrece un subdirectorio, /usr/local
, para colocar programas, bibliotecas y otros archivos que no vienen con el sistema operativo base.
/opt
tiene un rol muy similar a /usr/local
y parecen intercambiables. Sin embargo, desde mi experiencia de trabajo con Linux/UNIX administradores de sistemas, parece ser que hay una preferencia por /usr/local
en BSD UNIX basado en OSs.
Así que esta es mi opinión sobre ella: OS X es basados en BSD y, en consecuencia, yo uso la /usr/local
. Tenga en cuenta que puede crear un directorio de programa y, a continuación, un enlace simbólico a los comandos de a /usr/local/bin
, etc, por ejemplo:
/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
Esto solía ser una práctica habitual en Linux y UNIX también, pero el FHS explícitamente prohíbe : si desea instalar paquetes de terceros en su propia jerarquía de directorios debe utilizar/opt/<package>
lugar. Tenga en cuenta que FHS-cumplimiento requiere poner los archivos de configuración en /etc/opt/<package>
y archivos de variables en /var/opt/<package>
.
Así, en OS X, me gustaría recomendar que se adhieren a /usr/local
como se describió anteriormente.
Soy consciente de software adicional, como Cisco VPN y XQuartz que instalar en /opt
, de modo que las distinciones de inicio de desenfoque.
man hier
Como se mencionó anteriormente este es man hier
:
A historical sketch of the filesystem hierarchy. The modern OS X 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