stringtranslate.com

Estándar de jerarquía del sistema de archivos

El estándar de jerarquía de sistemas de archivos ( FHS ) es una referencia que describe las convenciones utilizadas para el diseño de sistemas similares a Unix . Se ha hecho popular por su uso en distribuciones Linux , pero también lo utilizan otros sistemas similares a Unix. [1] Lo mantiene la Linux Foundation . La última versión es la 3.0, publicada el 3 de junio de 2015. [2]

Estructura del directorio

Jerarquía típica del sistema de archivos de Ubuntu

En el FHS, todos los archivos y directorios aparecen bajo el directorio raíz / , incluso si están almacenados en diferentes dispositivos físicos o virtuales. Algunos de estos directorios solo existen en un sistema en particular si se instalan ciertos subsistemas, como el X Window System .

La mayoría de estos directorios existen en todos los sistemas operativos tipo Unix y generalmente se utilizan de la misma manera; sin embargo, las descripciones aquí son las utilizadas específicamente para FHS y no se consideran autorizadas para plataformas distintas de Linux.

Cumplimiento de FHS

La mayoría de las distribuciones de Linux siguen el Estándar de Jerarquía del Sistema de Archivos y declaran que es su propia política mantener el cumplimiento del FHS. [14] [15] [16] [17] GoboLinux [18] y NixOS [19] proporcionan ejemplos de implementaciones de sistemas de archivos intencionalmente no compatibles.

Algunas distribuciones generalmente siguen el estándar, pero se desvían de él en algunas áreas. El FHS es un "estándar de seguimiento" y, por lo tanto, documenta prácticas comunes en un momento determinado. Por supuesto, los tiempos cambian y los objetivos y las necesidades de distribución exigen experimentación. Algunas desviaciones comunes incluyen:

Las distribuciones modernas de Linux incluyen un /rundirectorio como sistema de archivos temporal ( tmpfs ), que almacena datos volátiles en tiempo de ejecución, siguiendo la versión 3.0 de FHS. Según la versión 2.3 de FHS, dichos datos se almacenaban en /var/run, pero esto era un problema en algunos casos porque este directorio no siempre está disponible en el arranque temprano. Como resultado, estos programas han tenido que recurrir a trucos, como usar directorios /dev/.udev, /dev/.mdadm, /dev/.systemdo /dev/.mount, a pesar de que el directorio del dispositivo no está destinado a tales datos. [24] Entre otras ventajas, esto hace que el sistema sea más fácil de usar normalmente con el sistema de archivos raíz montado en solo lectura. Por ejemplo, a continuación se muestran los cambios que realizó Debian en su lanzamiento Wheezy de 2013: [25]

Historia

El nombre deusr

/usrEn un principio, significaba "usuario". [26] Esto era un artefacto de la programación temprana de Unix. Específicamente, cuando Ken Thompson y Dennis Ritchie estaban migrando Unix a un PDP-11, los /bin, /libdirectorios ..., que debían ser los primeros directorios que se montarían al iniciarse y que debían contener todos los elementos esenciales para que el sistema operativo funcionara, se volvieron más grandes que la unidad de disco RK05 . Por lo tanto, colocaron algunos de ellos en el primer RK05, incluidos los necesarios para cargar la segunda unidad RK05. El resto se colocaron en el /usrdirectorio. [27] Cuando obtuvieron una tercera unidad, los archivos de los usuarios se movieron a un nuevo directorio llamado /home. [28]

FHS fue creado como FSSTND (abreviatura de "Filesystem Standard" [29] ), basado en gran medida en estándares similares para otros sistemas operativos tipo Unix . Ejemplos notables son estos: la descripción hier(7) del diseño del sistema de archivos, [30] que ha existido desde el lanzamiento de la versión 7 de Unix (en 1979); [31] el sistema de archivos SunOS (7) [32] y su sucesor, el sistema de archivos Solaris (7) . [33] [34]

Historial de versiones

Véase también

Notas

  1. ^ Históricamente y estrictamente de acuerdo con el estándar, /usr/locales para datos que deben almacenarse en el host local (a diferencia de /usr, que pueden montarse a través de una red). La mayor parte del tiempo /usr/localse utiliza para instalar software/datos que no son parte de la distribución estándar del sistema operativo (en tal caso, /usrsolo contendría software/datos que son parte de la distribución estándar del sistema operativo). Es posible que el estándar FHS pueda cambiar en el futuro para reflejar esta convención de facto.

Referencias

  1. ^ "FHS". Wiki de la Fundación Linux . Consultado el 4 de enero de 2022 .
  2. ^ "lsb:fhs-30 [Wiki]". wiki.linuxfoundation.org . Consultado el 22 de febrero de 2023 .
  3. ^ "hier(7) - Página del manual de Linux". man7.org . Consultado el 6 de enero de 2021 .
  4. ^ J. DeFelicc (17 de marzo de 1972). "E.0". Publicación preliminar del documento de implementación de UNIX (PDF) . pág. 8. IMO.1-1 . Consultado el 6 de junio de 2024 .
  5. ^ "/etc : configuración del sistema específica del host". Estándar de jerarquía de sistemas de archivos 2.3 . Consultado el 18 de febrero de 2016 .
  6. ^ Definir - /etc?, publicado por Cliff, 3 de marzo de 2007 - Slashdot.
  7. ^ "/opt : Paquetes de software de aplicación complementarios". Estándar de jerarquía de sistemas de archivos 2.3 . Consultado el 18 de febrero de 2016 .
  8. ^ "/sys : Sistema de archivos virtual con información del núcleo y del sistema". Estándar de jerarquía de sistemas de archivos 3.0 . Consultado el 4 de junio de 2017 .
  9. ^ "Capítulo 4. La jerarquía /usr". Estándar de jerarquía del sistema de archivos 2.3 .
  10. ^ "Capítulo 4. La jerarquía /usr, Sección 4.1 Propósito". Estándar de jerarquía del sistema de archivos 3.0 .
  11. ^ "/var/run : Datos de variables de tiempo de ejecución". Estándar de jerarquía del sistema de archivos 2.3 .
  12. ^ "5.13. /var/run : Datos de variables de tiempo de ejecución". Estándar de jerarquía del sistema de archivos 3.0 .
  13. ^ "Estándar de sistemas de archivos" (PDF) . Linux Foundation. pág. 5.11.1.
  14. ^ Guía de referencia de Red Hat sobre la estructura del sistema de archivos.
  15. ^ Administración de SuSE Linux Enterprise Server, material educativo autorizado por Novell, por Jason W. Eckert, Novell; Course Technology, 2006; ISBN 1-4188-3731-8 , ISBN 978-1-4188-3731-0 .  
  16. ^ Política de Debian sobre la conformidad con FHS.
  17. ^ Descripción general del árbol de archivos del sistema de archivos de Ubuntu Linux – Documentación de la comunidad de Ubuntu.
  18. ^ Hisham Muhammad (9 de mayo de 2003). "El árbol Unix repensado: una introducción a GoboLinux" . Consultado el 4 de octubre de 2016 .
  19. ^ Dolstra, E.; Löh, A. (septiembre de 2008). NixOS: una distribución Linux puramente funcional (PDF) . ICFP 2008: 13.ª Conferencia internacional ACM SIGPLAN sobre programación funcional. Victoria, Columbia Británica, Canadá. págs. 367–378.
  20. ^ "5.3 Acerca del sistema de archivos virtual /sys". docs.oracle.com . Oracle. Archivado desde el original el 8 de julio de 2016 . Consultado el 8 de julio de 2016 .
  21. ^ Lehey, Greg (mayo de 2003). The Complete FreeBSD: Documentation from the Source (cuarta edición). O'Reilly Media, Incorporated. pp. 188, 609. ISBN 9780596005160.
  22. ^ Allan McRae. «Arch Linux – Novedades: El directorio /lib se convierte en un enlace simbólico». archlinux.org . Archivado desde el original el 9 de septiembre de 2014. Consultado el 14 de diciembre de 2019 .
  23. ^ Allan McRae. «Arch Linux – Noticias: Los binarios se trasladan a /usr/bin y requieren una intervención de actualización». archlinux.org . Archivado desde el original el 10 de septiembre de 2014 . Consultado el 15 de diciembre de 2019 .
  24. ^ Lennart Poettering (30 de marzo de 2011). "¿Qué hace este directorio /run en mi sistema y de dónde proviene?". [email protected] (lista de correo).
  25. ^ "DirectorioRunObjetivosDeLiberación". Wiki de Debian .
  26. ^ "/usr". tldp.org . Consultado el 10 de diciembre de 2023 .
  27. ^ MD McIlroy (1987). "Un lector de Unix para investigación: extractos comentados del Manual del programador, 1971-1986" (PDF) . Bell Labs. CSTR 139.
  28. ^ Landley, Rob (9 de diciembre de 2010). "Entender la división bin, sbin, usr/bin, usr/sbin". busybox (lista de correo).
  29. ^ "Página de preguntas frecuentes de FSSTND" . Consultado el 10 de mayo de 2016 .
  30. ^ hier(7)  –  Manual de información variada de FreeBSD .
  31. ^ hier(7)  –  Manual del programador de Unix, versión 7
  32. ^ Página del manual de SunOS 4.1.3 para filesystem(7), con fecha del 10 de enero de 1988 (de la biblioteca de páginas del manual de FreeBSD).
  33. ^ filesystem(7)  –  Manual de referencia de estándares, entornos, macros, conjuntos de caracteres y miscelánea de Solaris 11.4 .
  34. ^ "página de manual del sistema de archivos – Páginas de manual de Solaris 10 11/06". Archivado desde el original el 4 de julio de 2007. Consultado el 15 de octubre de 2011 .
  35. ^ "Índice de /pub/Linux/docs/fsstnd/old/fsstnd-1.0/". Ibiblio.org . Consultado el 16 de octubre de 2012 .
  36. ^ "Índice de /pub/Linux/docs/fsstnd/old/fsstnd-1.1/". Ibiblio.org . Consultado el 16 de octubre de 2012 .
  37. ^ "Índice de /pub/Linux/docs/fsstnd/old/". Ibiblio.org . Consultado el 16 de octubre de 2012 .
  38. ^ "Anuncio de FHS 2.0". Pathname.com . Consultado el 16 de octubre de 2012 .
  39. ^ Quinlan, Daniel (14 de marzo de 2012) [1997], "Anuncio de FHS 2.0", BSD, Linux, Unix e Internet: investigación de Kenneth R. Saborio , San José, Costa Rica: Kenneth R. Saborio, archivado desde el original el 5 de marzo de 2016 , consultado el 18 de febrero de 2016.
  40. ^ "Índice de /pub/Linux/docs/fsstnd/". Ibiblio.org . Consultado el 16 de octubre de 2012 .
  41. ^ "Anuncio de FHS 2.1". Pathname.com . Consultado el 16 de octubre de 2012 .
  42. ^ "FHS 2.1 ya está disponible". Lists.debian.org. 13 de abril de 2000. Consultado el 16 de octubre de 2012 .
  43. ^ Quinlan, Daniel (12 de abril de 2000). «Filesystem Hierarchy Standard – Version 2.1, Filesystem Hierarchy Standard Group» (PDF) . Tutoriales de Acadia Linux . Wolfville, Nueva Escocia, Canadá: Jodrey School of Computer Science, Acadia University . Archivado desde el original (PDF) el 27 de marzo de 2012. Consultado el 18 de octubre de 2012 .
  44. ^ Russell, Rusty ; Quinlan, Daniel, eds. (23 de mayo de 2001). «Filesystem Hierarchy Standard – Version 2.2 final Filesystem Hierarchy Standard Group» (PDF) . Filesystem Hierarchy Standard . Consultado el 18 de febrero de 2016 .
  45. ^ Russell, Rusty ; Quinlan, Daniel; Yeoh, Christopher, eds. (28 de enero de 2004). «Filesystem Hierarchy Standard - Filesystem Hierarchy Standard Group» (PDF) . Consultado el 29 de noviembre de 2014 .
  46. ^ Yeoh, Christopher; Russell, Rusty; Quinlan, Daniel, eds. (19 de marzo de 2015). "Filesystem Hierarchy Standard" (PDF) . The Linux Foundation . Consultado el 20 de mayo de 2015 .

Enlaces externos