Estructura de Los Sistemas Linux
Estructura de Los Sistemas Linux
Estructura de Los Sistemas Linux
1. INTRODUCCIÓN E 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.
2. ESTRUCTURA DE LOS SISTEMAS LINUX
Para comprender el funcionamiento del sistema UNIX (y por tanto de todos los sistemas basados en UNIX,
entre los que se encuentra Linux), es necesario entender su estructura. Para ello debemos saber que el
sistema UNIX está formado por 2 componentes principales: el núcleo y el Shell.
2.1. EL NÚCLEO (KERNEL)
El núcleo es la parte del sistema operativo que sirve para interactuar con el hardware. Realiza las funciones
de bajo nivel, y se encarga principalmente de las siguientes tareas:
Gestionar la memoria.
Mantener el sistema de archivos.
Manejar las interrupciones.
Manejar errores.
Realizar los servicios de entrada/salida.
Asignar los recursos de la CPU.
Gestionar periféricos de entrada/salida
Etc.
2.2. EL SHELL (CONCHA)
El Shell actúa como interfaz del Sistema Operativo con los usuarios. Es un programa informático que
permite comunicar al usuario con el sistema operativo mediante una ventana que espera órdenes escritas por
el usuario en el teclado (por ejemplo, cd directorio), los interpreta y los entrega al sistema operativo para su
ejecución. La respuesta del sistema operativo es mostrada al usuario en la misma ventana. A continuación,
El programa Shell queda esperando más instrucciones. Se interactúa con la información de la manera más s
encilla posible, sin gráficas, solo texto.
Para indicar al usuario que está listo para recibir órdenes, el Shell utiliza una cadena especial (denominada
prompt) tras la cual podemos incluir los comandos. Habitualmente el prompt contiene el nombre del
usuario o la ruta en la que nos encontramos, seguido de algún carácter de uso poco común, si bien depende
del tipo de distribución y tipo de Shell utilizados. También puede ser configurado a gusto del usuario.
2
2.3.1. 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 cómo 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 o abrir y mucho menos modificar archivos vinculados a elementos
Hardware y/o dispositivos, a menos que sepamos con toda seguridad lo que estemos haciendo.
Algunos de los principales directorios que contempla FHS, así como los datos que debería contener, son los
siguientes:
/ Directorio raíz donde se encuentran todos los directorios y archivos de una manera lógica.
/bin En este directorio podemos encontrar todos los archivos ejecutables del sistema.
/home Aquí se encuentran todos los archivos de los usuarios del sistema.
/media Generalmente aquí es donde se montan los Cds y Dvds además de los SticksUSB y discos
duros externos.
/sbin Contiene archivos ejecutables que por lo general son comandos usados para la administración
del sistema.
3
/usr Contiene varios archivos y subdirectorio importantes.
/boot Todos los archivos necesarios para el arranque.
/mnt Directorio vacío, normalmente se suele usar para montajes de unidades temporales que
deseamos cargar en ese momento.
/var Contiene varios archivos que definen el sistema, así como archivos log que almacenan cada
movimiento del sistema.
/cdrom Normalmente es un enlace simbólico hacia /media/cdrom
/dev Aquí es donde están todos los drivers y los dispositivos, estos se identifican en forma de
archivo.
/lib Contiene librarias para C y otros lenguajes de programación.
/proc Directorio que contiene información sobre diferentes partes del sistema, cpu, discos, tiempo
uptime, irqs, memoria, etc.
/opt En este directorio se suelen almacenar todos los archivos de una instalación fuera de los
repositorios como puede ser cuando instalamos un .deb
/etc Contiene prácticamente todos los archivos de configuración del equipo y los demonios de
inicio en /etc/init.d
/lost+found Directorio específico para archivos perdidos. Cada partición tiene el suyo propio
independientemente.
/root Directorio particular del superusuario del sistema
/tmp Directorio temporal que pueden usar todos los usuarios para archivos temporales y del
sistema.
Podríamos establecer la siguiente equivalencia entre los directorios Linux y sus equivalentes en Windows:
Habitualmente representamos dicha estructura en forma de árbol. Por ello decimos que tenemos un árbol de
directorios. La siguiente figura muestra un ejemplo simplificado de un árbol de directorios de un sistema
GNU/Linux. Como vemos, del directorio raíz / cuelgan (por eso lo llamamos raíz) gran parte de los
directorios que acabamos de ver (no se han indicado todos). Como vemos, se han indicado dos
subdirectorios que cuelgan de /media (cdrom y pendrive) correspondientes a dos medios extraíbles que se
han insertado en el sistema. Dichos directorios se utilizan para acceder al dispositivo, y una vez que el
dispositivo se retira, desaparecen.
4
En cuanto a los
directorios
personales de los
usuarios (a los que
nos referimos
como directorios
HOME de los
usuarios), todos
ellos cuelgan de
/home a excepción
del directorio
personal del
usuario root que
está en la ruta
/root. En el ejemplo tenemos dos directorios para usuarios, uno para el usuario profesor y otro para el
usuario alumno. De cada uno de ellos cuelgan varios subdirectorios (Documentos, Imágenes, etc.…), y en
algunos de los subdirectorios hemos ubicado archivos, como se puede ver en la parte inferior de la imagen.