Información
Actualidad
Aquí encontraras noticias de actualidad sobre Gnu Linux y Open Source.

Además de información sobre la comunidad LiGNUx.
Distribuciones y entornos
Información ordenada sobre los diferenes sistema operativos Gnu Linux y las diferentes opciones de entornos gráficos.
Tutoriales y guías
Todos los pasos e informaciones que puedes desear para tu día a día.
Tutoriales
Tutoriales
Programación
Programación
About Us
Get to know the people behind the code and the mission behind the work
how we handle data
Privacy
Security
Legal

Mapa del árbol de archivos de Linux

19 febrero, 2015

arbol_linuxPrácticamente todos vosotros - excepto quizás unos pocos afortunados -, cuando probasteis por primera vez un sistema GNU/Linux proveníais como yo del casi omnipresente Windows. Y eso crea unas inercias que hacen que la primera vez que nos enfrentamos a Linux u a otro sistema Unix-like nos sintamos un poco perdidos. Uno de los más importantes es a la hora de navegar entre archivos y directorios. En Windows, las unidades de disco, donde tenemos toda la información,  se etiquetan de la forma "C:/", mientras que en GNU/Linux, esta unidad física no es más que otro archivo montado, mientras que nuestra información como tal se encuentra en una mezcla entre nuestro directorio "/home" y el directorio raíz o "/", junto con un mogollón de subdirectorios de nombres creativos como /bin, /usr, /var o /etc.

Aún más, uno de los puntos más curiosos para el novicio en Linux es seguir paso a paso un tutorial y que este te indique acceder al directorio /usr/bin/ y otro tutorial distinto para otra cosa necesite acceder a /bin. ¿Son el mismo directorio? ¿En cual tengo permisos y en cual no? Pues como una imagen vale más que mil palabras, desde Blackmoreops nos proponen la siguiente representación de la jerarquía de archivos que usa nuestro sistema GNU/Linux.

Este es un esquema heredado directamente del original creado para Unix y como tal debe ser mantenido para que GNU/Linux no pierda la compatibilidad con Unix, ya que cada uno de los directorios reseñados en la imagen tiene su importancia de cara a las aplicaciones, y mantiene una función clara en el sistema. Por ejemplo, /bin y /sbin tienen como misión almacenar los binarios del sistema, /boot la información de arranque. Si quieres configurar algo en el sistema, lo más probable es que recurras a un archivo en /etc, mientras que /tmp es el directorio almacén de los archivos temporales. No es probable que un programa solo necesite usar todos los directorios, pero es muy probable que sin uno de ellos te encuentres con un mal funcionamiento de alguna parte del sistema. Y como respuesta a la diferencia entre /bin y /usr/bin, en /bin se almacenan binarios del sistema necesarios en el modo single-user, mientras que en /usr/bin se guardan los binarios no necesarios en ese modo. Y ambos se guardan ahí y no en nuestra /home porque son binarios que deben estar disponibles para todos los usuarios y no solo para el nuestro.

Sin embargo, este es un árbol antiguo. Mantener la compatibilidad con sistemas Unix inmutables exige que esta jerarquía de directorios se deba conservar contra viento y marea, incluso cuando queremos cambiar las cosas de sitio. Es por eso que cuando Fedora cambió el demonio de arranque de SysVinit a systemd en 2011, al necesitar systemd montado el directorio /usr/lib, hace que todos los ficheros en /bin puedan ser trasladados a /usr/bin, por lo que hoy en día, en Fedora el directorio /bin es un enlace simbólico a /usr/bin. Como podéis ver, incluso modernizando las funciones de los directorios, es necesario mantener la forma del árbol, si no podrían aparecer fallos desastrosos. Y pese a que puede parecer algo caótico, aprender como se organiza la jerarquía de archivos de Linux nos permitirá entender un poco mejor que es lo que hace ese script que nos descargamos de una web, además de que es un paso esencial para poder mantener con garantías un sistema Linux o para poder desarrollar programas para nuestra plataforma favorita.

Por último, y tal y como nos avisan en Blackmoreops, esta es una imagen de representación útil para nosotros, para poder entender todo desde un punto de vista jerárquico. Pero en realidad, el sistema Unix interpreta todo como archivos de diferentes categorías, pero archivos al fin y al cabo, a los que les asigna un Inode, un número que describe las propiedades del archivo en cuestión, a quien pertenece, cuales son sus permisos, tipo de fichero o tamaño entre otros, y relaciona estos inodes entre sí. Por cierto, si queréis saber cual es el inode en concreto de un archivo en vuestro sistema, basta con usar la opción "-i" del comando "ls" en la terminal.

Escrito por isorfe

Lignuxero novato, charlatán por vocación. Me dedicaba a migrar de Ubuntu a Debian y viceversa cuando me dejaban un rato a solas delante de un ordenador, ahora lo mismo pero entre Manjaro y Antergos.

Los tiempos cambian, el distrohopping permanece.

Suscribirse
Notificarme las
guest
1 Comentario
Los más recientes
Los más antiguos Más votados
Feedbacks en línea
Ver todos los comentarios
LiGNUx trabaja sobre una licencia de Creative Commons Reconocimiento 4.0 Internacional.
cloudflagpaperclipprinterfile-emptyfilm-playcamera-videopicturelaptop-phonebriefcasecrossmenu
linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram