Directorio De Linux
Enviado por yanniniq • 21 de Enero de 2013 • 3.385 Palabras (14 Páginas) • 340 Visitas
• Historia
Un sistema Linux reside bajo un árbol jerárquico de directorios muy similar a la estructura del sistema de archivos de plataformas Unix.
Originariamente, en los inicios de Linux, este árbol de directorios no seguía un estándar cien por cien, es decir, podíamos encontrar diferencias en él de una distribución a otra.
Todo esto hizo pensar a cierta gente* que, posteriormente, desarrollarían el proyecto FHS (Filesystem Hierarchy Standard, o lo que es lo mismo: Estándar de Jerarquía de Sistema de Ficheros) en otoño de 1993.
* Rusty Russell, Daniel Quinlan y Christopher Yeoh, creadores del estándar FHS entre otras personas.
Uno de los problemas que tienen los nuevos usuarios de un sistema Linux es el no saber que significan y para que se utilizan los diferentes directorios del sistema. En un principio puede parecer difícil y sin lógica, pero una vez que empiecen a usarlos se acostumbraran pronto.
Existe un estandard, el “Estándar de jerarquía de ficheros” (FHS – Filesystem Hierarchy Standard) que intenta definir unas bases, para que tanto los programas del sistema, como los usuarios y administradores, sepan dónde encontrar lo que buscan.
De un modo general podríamos decir que existen dos tipos de distinciones cuando hablamos del tipo de contenido de un directorio: Estáticos/dinámicos y compartibles/no compartibles.
Estáticos: Contiene binarios, bibliotecas, documentación y otros ficheros que no cambian sin intervención del administrador. Pueden estar en dispositivos de solo lectura (read-only) y no necesitan que se hagan copias de seguridad tan a menudo como con ficheros dinámicos
Dinámicos: Contiene ficheros que no son estáticos. Deben de encontrase en dispositivos de lectura-escritura (read-write). Necesitan que se hagan copias de seguridad a menudo
Compartibles: Contiene ficheros que se pueden encontrar en un ordenador y utilizarse en otro
No compartibles: Contiene ficheros que no son compartibles
A continuación algunos ejemplos para aclarar ideas:
Estáticos:
/bin, /sbin, /opt, /boot, /usr/bin
Dinámicos:
/var/mail, /var/spool, /var/run, /var/lock, /home
Compartibles:
/usr/bin, /opt
No compartibles:
/etc, /boot, /var/run, /var/lock
• FHS
FHS se define como un estándar que detalla los nombres, ubicaciones, contenidos y permisos de los archivos y directorios, es decir, un conjunto de reglas que especifican una distribución común de los directorios y archivos en sistemas Linux.
Como se ha mencionado, se creo inicialmente para estandarizar la estructura del sistema de archivos para sistemas GNU/Linux y más tarde, en torno al año 1995, también para su aplicación en sistemas Unix.
FHS no es más que un documento guía, es decir, cualquier fabricante de software independiente o cualquier persona que decida crear una nueva distribución GNU/Linux, podrá aplicarlo o no a la estructura del sistema de archivos, con la ventaja de que si lo integra en el sistema, el entorno de éste será mucho más compatible con la mayoría de las distribuciones.
Es importante saber que el estándar FHS es en cierto modo flexible, es decir, existe cierta libertad en el momento de aplicar las normas. De ahí que existan en la actualidad leves diferencias entre distribuciones GNU/Linux.
• Objetivos principales de FHS
Presentar un sistema de archivos coherente y estandarizado.
Facilidad para que el software prediga la localización de archivos y directorios instalados.
Facilidad para que los usuarios prediga la localización de archivos y directorios instalados.
Especificar los archivos y directorios mínimos requeridos.
El estándar FHS está enfocado a
Fabricantes de software independiente y creadores de sistemas operativos, para que establezcan una estructura de ficheros lo más compatible posible.
Usuarios comunes, para que entiendan el significado y el contendido de cada uno de los elementos del sistema de archivos.
Además, FHS manifiesta algunas diferencias entre varios tipos de archivos que puede haber en el sistema:
Archivos compartibles y no compartibles.
Ficheros que son propios de un host determinado y, archivos que pueden compartirse entre diferentes host.
Ejemplo:
Archivos compartibles: los contenidos en /var/www/html (que es el DocumentRoot por defecto del servidor Web Apache. Donde se almacena inicialmente el index.html de bienvenida).
Archivos no compartibles: los contenidos en /boot/grub/ (Subdirectorio donde se ubican los ficheros del gestor de arranque GRUB).
Archivos estáticos y variables.
Ficheros que no cambian sin la interacción de un administrador del sistema y, archivos que cambian sin la interacción de un administrador del sistema.
Para comprender mejor estos dos tipos, imaginemos los ficheros log (archivos de bitácora) del sistema. Estos cambian sin la intervención del administrador; en consecuencia estos son del tipo variables.
Los demás archivos son estáticos. No cambian su contenido ni tamaño a menos que lo autorice el administrador del sistema (o sea el propio quien lo modifique, por supuesto).
Archivos estáticos: /etc/password, /etc/shadow.
Archivos variables: /var/log/messages (log de mensajes generados por el kernel del sistema).
• Todo en Linux es un archivo
Cierto, todo en un sistema Linux es un archivo, tanto el Software como el Hardware. Desde el ratón, pasando por la impresora, el reproductor de DVD, el monitor, un directorio, un subdirectorio y un fichero de texto.
De ahí vienen los conceptos de montar y desmontar por ejemplo un CDROM.
El CDROM se monta como un subdirectorio en el sistema de archivos. En ese subdirectorio se ubicará el contenido del disco compacto cuando esté montado y, nada cuando esté desmontado.
Para ver que tenemos montado en nuestra distribución GNU/Linux, podemos ejecutar el comando mount.
Este concepto es muy importante para conocer como funciona Linux.
En apartados posteriores, veremos donde ubica Linux los elementos Hardware del PC en el sistema de ficheros.
NOTA: podemos acceder a los dispositivos Hardware como si fueran archivos. Realmente son ficheros para Linux; pero no son archivos normales, son archivos binarios (o .exe para los que vengan de Windows).
Hay que saber que si editamos, por ejemplo, un fichero vinculado a un elemento Hardware, seguramente sea totalmente ilegible y posiblemente quedará inutilizable y bloqueada nuestra línea de comandos (shell). Es más, corremos el riesgo de corromper los datos y dejar el sistema inestable.
En definitiva, no es aconsejable leer
...