🐧Los directorios en Linux🐧

Cualquier distribución de GNU-Linux nos instala una serie de Directorios que, en un principio dan hasta miedo, luego uno se acostumbra a ellos y te percatas, que, para nosotros, como usuarios base y finales, de interesarnos, solo nos interesan dos. el dictorio / y home, de los restantes mejor olvidamos su existencia. Lo cual no quiere decir que los borremos, o algo por el estilo. En el edificio en el que vivimos hay cantidad de estructuras y elementos que ¡a saber cual es su función! pero no nos da por tirarlos pues nos podemos quedar sin piso.

A continuación traduzco, transcribo, resumo, cambio, quito, pongo excelente artículo de la revista recientemente desaparecida “Linux Journal“, donde se aclara bastante bien el objetivo de cada uno de ellos. A disfrutar…

root
Estructura de archivos de Debian 10.3

Jerarquía estándar de sistema de archivos.

¿Qué son estos directorios raros, y por qué rábanos están ahí? (¿para incordiar al usuario?)

 

Autor:

autors

Puede que, más de una vez, te hayas preguntado por qué hay, en Linux, tantos directorios inusuales, para qué están allí y por qué las cosas están organizadas de la forma en que están. De hecho, si no estás acostumbrado a cómo Linux organiza los archivos, los directorios pueden parecer absolutamente arbitrarios con nombres truncados impares y, en muchos casos, nombres redundantes. Resulta que hay un método para esta locura basado en décadas de convenciones de UNIX, y este artículo, el autor proporcia una introducción a la estructura de directorios de Linux.

Aunque cada distribución de Linux tiene sus propias peculiaridades, la mayoría se conforma (en su mayor parte) con la jerarquía de sistema de archivos estándar (FHS). El proyecto FHS comenzó en 1993, y el objetivo era llegar a un consenso sobre cómo deberían organizarse los directorios y qué archivos deberían almacenarse dónde, para que las distribuciones pudieran tener un punto de referencia único desde el cual trabajar. Muchas decisiones sobre la estructura de directorios se basaron en las estructuras de directorios tradicionales de UNIX con un enfoque en los servidores y con la suposición de que el espacio en disco era muy importante, por lo que las máquinas probablemente tendrían múltiples discos duros.

/bin y /sbin
Están diseñados para almacenar archivos ejecutables binarios. Ambos directorios almacenan ejecutables que se consideran esenciales para iniciar el sistema (como el comando de montaje). La principal diferencia entre estos directorios es que el directorio /sbin está destinado a binarios del sistema, o binarios que los administradores usan para administrar el sistema.
/boot
Este directorio almacena todos los archivos del gestor de arranque (actualmente suele ser GRUB), los archivos del kernel y los archivos initrd. A menudo se trata como una pequeña partición separada, de modo que el gestor de arranque pueda leerlo más fácilmente. Con /boot en una partición separada, el sistema de archivos raíz puede usar funciones más sofisticadas que requieren soporte del núcleo, ya sea un sistema de archivos extraño, un disco cifrado o la gestión de un volumen lógico.
/etc
El directorio /etc está destinado a almacenar archivos de configuración del sistema. Si necesitas configurar un servicio en un sistema Linux, o cambiar la red u otras configuraciones básicas, este es el primer sitio donde buscar. También es un directorio pequeño y fácil hacerle copias de seguridad que contengan la mayoría de las personalizaciones que puedas realizar en tu ordenador a nivel del sistema.

/home

El directorio /home es la ubicación en los sistemas Linux donde los usuarios ponen los directorios para almacenar sus propios archivos. Cada directorio en /home se nombra con el nombre de usuario particular y es propiedad del mismo. En un servidor, estos directorios pueden almacenar el correo electrónico de los usuarios, sus claves SSH o, a veces, incluso los usuarios de servicios locales que se ejecutan en puertos altos.

En los sistemas de escritorio, el directorio /home es probablemente el directorio principal con el que los usuarios interactúan. Cualquier configuración de escritorio, imágenes, medios, documentos u otros archivos que los usuarios necesitan, se puede almacenar en sus directorios /home. En un escritorio, este es el directorio más importante para realizar copias de seguridad y, a menudo, es un directorio al que se le asigna su propia partición. Al darle a /home su propia partición, puedes experimentar con diferentes distribuciones de Linux y volver a instalar el sistema completo en una partición / separada, y luego, al montar esta partición /home, todos tus archivos y configuraciones están allí donde los dejó. (yo diría que ES muy aconsejable darle su propia partición)(nt)

/lib

El directorio /lib almacena librerías compartidas esenciales que los binarios de /bin y /sbin necesitan ejecutar. Este es también el directorio donde se almacenan los módulos del kernel.
/usr, /usr/bin, /usr/lib y /usr/sbin

El directorio /usr (que se ha mantenido tanto para el repositorio de origen UNIX como para los recursos del sistema UNIX) pretende ser un directorio de solo lectura que almacena archivos que no son necesarios para iniciar el sistema. En general, cuando se instala software adicional de una distribución, los binarios, librerías y archivos de soporte van aquí en sus correspondientes directorios /usr/bin, /usr/sbin o /usr/lib, entre otros. Cuando el almacenamiento es escaso, a menudo se puede montar este directorio por separado en su propio disco más grande, así podría crecer independientemente al agregar nuevo software.

Actualmente, es menor la necesidad de tener este tipo de separación lógica, en particular porque los sistemas tienden a tener todo en una sola partición raíz grande, y el archivo initrd tiende a tener las herramientas necesarias para montar ese sistema de archivos. Algunas distribuciones están comenzando a fusionar /bin, /sbin y /lib con sus correspondientes directorios /usr a través de enlaces simbólicos.

/usr/local
El directorio /usr/local es una versión especial de /usr que tiene su propia estructura interna de directorios bin, lib y sbin, pero /usr/local está diseñado para ser un lugar donde el usuario pueda instalar su propio software fuera del software proporcionado por la distribución. sin preocuparse por sobrescribir ningún archivo de distribución.
/opt
Los debates entre /usr/local y /opt son legendarios, y Bill Childers y yo incluso participamos en nuestro propio debate en un artículo de Linux Journal Point/Counterpoint. Esencialmente, ambos directorios tienen el mismo propósito: proporcionar un lugar para que los usuarios instalen software fuera de sus distribuciones, pero el directorio /opt lo organiza de manera diferente. En lugar de almacenar binarios y bibliotecas para diferentes piezas de software juntas en un directorio compartido, como con /usr y /usr/local, el directorio /opt otorga a cada pieza de software su propio subdirectorio, y organiza sus archivos por debajo de cómo le plazca. La idea aquí es que, en teoría, puede desinstalar el software en /opt simplemente eliminando el directorio de ese software. Para obtener más detalles sobre las ventajas y desventajas relativas de este enfoque, consulte el artículo Punto / Contrapunto.
/root
El directorio /root es un directorio de inicio especial para el usuario root en el sistema. Es propiedad y es legible solo por el usuario root, y está diseñado para funcionar de manera similar a un directorio /home, pero para los archivos y configuraciones que el usuario root necesita. En estos días, muchos sistemas deshabilitan al usuario root para usar sudo para obtener privilegios de superusuario, por lo que este directorio no se usa tanto.
/var
Como he mencionado, los servidores clásicos de UNIX tenían espacio de disco con una prima, y ​​el directorio /var fue diseñado para almacenar archivos que pueden variar enormemente en tamaño o pueden escribirse con frecuencia. A diferencia de /usr, que es de solo lectura, el directorio /var definitivamente debe poder escribirse, ya que dentro de él encontrará archivos de registro, spools del servidor de correo y otros archivos que pueden aparecer y desaparecer o que pueden aumentar su tamaño. Maneras impredecibles.

Incluso en estos días, al menos en los servidores, si tuviera que elegir un directorio de nivel raíz para colocarlo en su propio disco grande, el directorio /var sería el primero en la lista, no solo porque podría tener un tamaño bastante grande, sino también porque es posible que desee colocar /var en un disco que esté mejor optimizado para escrituras pesadas. Además, si tiene todos sus directorios dentro de una partición raíz grande y se queda sin espacio en el disco, el directorio /var es un excelente lugar para comenzar la búsqueda de archivos para eliminar.

/dev
Aquí encontrarás los archivos de los dispositivo. Para los sistemas UNIX “todo es un archivo” es un principio, lo que significa que incluso su hardware termina con un archivo. Este directorio contiene archivos para dispositivos en su sistema, desde discos y particiones hasta ratones y teclados.
/proc y /sys
Además de /dev, otros dos directorios terminan con archivos dinámicos que representan algo más que un archivo. El directorio /proc almacena archivos que representan información sobre todos los procesos en ejecución en el sistema. Puede usar herramientas como ls y cat para leer sobre el estado de los diferentes procesos que se ejecutan en su sistema. Este directorio a menudo también contiene archivos en /proc /sys que interactúan con el kernel y permiten ajustar parámetros particulares del kernel y configuraciones de sondeo.

Si bien algunos archivos de estado del núcleo han aparecido en /proc (en particular /proc/sys), actualmente se supone que se almacenan en /sys en su lugar. El directorio /sys está diseñado para contener todos estos archivos que permiten interactuar con el kernel, y este directorio se llena dinámicamente con archivos que a menudo aparecen como series anidadas de enlaces simbólicos recursivos. ¡Cuidado al ejecutar comandos como los que se encuentran aquí!

/srv

Comparado con algunos de los directorios, /srv es algo nuevo. Este directorio está diseñado para almacenar archivos que un servidor podría compartir externamente. Por ejemplo, se considera el lugar adecuado para almacenar archivos del servidor web (/srv/www es popular).

/mnt y /media

Cuando agrega sistemas de archivos adicionales a su computadora, ya sea desde una unidad USB, un montaje NFS u otras fuentes, necesita algún lugar estándar para montarlos. Aquí es donde entran /mnt y /media. El directorio /mnt solía ser un catch-all para cualquier disco montado que no tuviera otro lugar al que ir, pero en estos días, debe usar este directorio para varios puntos de montaje NFS y otros discos destinados a ser montados todo el tiempo. El directorio /media está diseñado para aquellos discos que se montan temporalmente, como CD-ROM y discos USB.

/tmp, /var/tmp y /dev/shm
Incluso Linux necesita un cajón de sastre, y proporciona una serie de directorios que están diseñados para almacenar archivos temporales, según el tiempo que desee conservarlos. Estos directorios son ideales para los programas que necesitan almacenar algunos datos en un archivo temporalmente, pero es posible que no necesiten que los datos se queden para siempre, como los datos almacenados en caché que un proceso puede volver a crear. Lo que hace que estos directorios sean ideales para este propósito es que se crean con permisos para que cualquier usuario pueda escribir en ellos.

sudoEl directorio /tmp está destinado a almacenar archivos temporales que no necesitan quedarse después de un reinicio. Cuando se inicia un sistema Linux, uno de los procesos de arranque iniciales borra todos los archivos en el directorio /tmp. El directorio /var/tmp, por otro lado, no se limpia entre reinicios, por lo que este es un buen lugar para almacenar archivos, como cachés a los que le gustaría quedarse, incluso si no los necesita absolutamente. Finalmente, el directorio /dev/shm es un pequeño ramdisk, y todos los archivos que se almacenan allí residen solo en la RAM, y después de que el sistema se apaga, estos archivos se borran. A los hackers les encanta almacenar archivos en /dev/shm por este motivo. El directorio /dev/shm es el mejor de los tres si tiene archivos temporales que almacenan información confidencial como contraseñas o secretos, ya que nunca tocarán el disco; solo asegúrate de dar los permisos apropiados (como 0600) antes de colocar tus secretos allí para que nadie más pueda leerlos.

Conclusión

Espero que esta visita a través de Linux FHS haya ayudado a dar sentido a todos los directorios en tu disco. Solo he cubierto algunos de los directorios definidos en el estándar. Si tienes curiosidad sobre de algunos de los otros directorios de tu sistema, en particular, si eres un desarrollador y deseas asegurarte de que estás almacenando los archivos en el lugar correcto, consulta la Norma oficial de jerarquía del sistema de archivos p/tmp, /var/tmp y /dev/shmara para tener más información.

¡Salud!

photo_2020-01-29_08-08-43

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s

A %d blogueros les gusta esto: