42 votos

¿Qué es el estándar para os x sistema de ficheros? por ejemplo, /opt/ vs /usr/

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 /Users/ - ¿cuál es el propósito ahora?

Hay un manual o guía de lo que todos los de la incorporada en los directorios deben ser utilizados? Como lo es /home/o /net/?

60voto

Phill Puntos 126

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

0voto

Tim Puntos 11

Cuando leí /opt (a menudo asociada con /opt/local de MacPorts) y de 'estándar' de los usos de las rutas, creo que también de Fink, que ha existido por lo menos desde 2001. Fink popularlised uso de la ruta de acceso siguiente:

/sw

Un ejemplo de la utilización negligente de un no estándar de la parte de la jerarquía del sistema de archivos en Mac OS X

2003-02-06

Virex 7.2, gratis para todos .Mac miembros, tristemente sobrescribió Fink bibliotecas:

Esto es muy malo. Fink los usuarios, no instale este ...

/Volumes/Virex 7.2.dmg/Virex 7.2.pkg 328 % lsbom Contents/Resources/Virex\ 7.2.bom | grep sw
./sw    40775   0/80
./sw/lib        40775   0/80
./sw/lib/libcrypto.0.9.6.dylib  100644  0/80    945416  3192711062
./sw/lib/libcurl.2.0.2.dylib    100644  0/80    634480  510417796
./sw/lib/libcurl.2.dylib        100644  0/80    634480  510417796
./sw/lib/libdl.0.dylib  100644  0/80    15124   4193639260
./sw/lib/libssl.0.9.6.dylib     100644  0/80    261776  3001832603

Otras discusiones sobre el incidente, incluyendo el respeto por la concesión de licencias, incluidas:

2003-04-16

Una Fink noticias elemento:

Virex problema resuelto

McAfee ha publicado Virex 7.2.1, que ya no sobrescribe el principal Fink directorio /sw. Fink los usuarios deben seguir para evitar Virex 7.2.

Los informes iniciales indican que la mejora en la Virex de 7.2 7.2.1 todavía deja algunos problemas sin embargo. Si actualiza Virex con Fink no se instala, y posteriormente desea instalar Fink, tendrá que eliminar la /sw directorio a mano antes de la instalación. Y si actualiza Virex con Fink ya instalado, usted debe ejecutar inmediatamente fink vuelva a instalar openssl-shlibs dlcompat-shlibs curl-ssl-shlibs para restaurar los archivos que el Virex actualización de haber eliminado.

2003-05

Notas de la versión de McAfee Virex Versión 7.2.1 , no hizo mención de los problemas causados a los usuarios de Fink.

Como una nota del lado ...

2004-08-31

Las observaciones que Virex 7.5 ya no estaba disponible .Mac miembros.


BSD relacionados con la

... OS X ... Mi entendimiento es que /usr/ solía ser para los directorios de los usuarios ...

Eso sigue siendo cierto para los sistemas operativos tales como FreeBSD y PC-BSD.

Mientras /usr/home/ no es explícita en https://www.freebsd.org/cgi/man.cgi?query=hier&sektion=7&manpath=FreeBSD+10.2-la LIBERACIÓN de la ruta se pone de manifiesto en documentos tales como:

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X