Está en la página 1de 5

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.

Existen varios tipos de Shell, los más comunes son:


 Shell Bourne (sh). Creado por Steven Bourne, es el más utilizado en la actualidad. El prompt del
sistema queda representado por el símbolo '#'.
 Basic Shell Bourne (bsh). Es la ampliación del Shell Bourne.
 Shell Korn (ksh). Contiene características ampliadas de programación.
1
En las versiones originales de Linux, el Shell era el único modo que ofrecía el Sistema Operativo para
comunicarse con el usuario. En las versiones actuales, se ofrecen interfaces gráficas que facilitan la
utilización del sistema por parte de los usuarios para realizar las operaciones más comunes, si bien las
operaciones avanzadas pueden ser agilizadas mediante la utilización de órdenes del Shell.
Existen varias opciones de escritorio que permiten administrar el sistema mediante una interfaz de usuario
gráfica. Los más comunes son KDE y GNOME, y la más novedosa Unity. Éstas proporcionan
funcionalidades similares a los escritorios mostrados en Windows XP, 7 o Mac OS.

2.3. LA ESTRUCTURA DE DIRECTORIOS


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 creó 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
o Presentar un sistema de archivos coherente y estandarizado.
o Facilidad para que el software prediga la localización de archivos y directorios instalados.
o Facilidad para que los usuarios predigan la localización de archivos y directorios instalados.
o Especificar los archivos y directorios mínimos requeridos.
El estándar FHS está enfocado a
o Fabricantes de software independiente y creadores de sistemas operativos, para que establezcan una
estructura de ficheros lo más compatible posible.
o 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:
o Archivos compartibles y no compartibles.
Ficheros que son propios de un host determinado y, archivos que pueden compartirse entre diferentes hosts.
La estructura de directorios de los sistemas basados en GNU/Linux obedece por lo general la norma FHS
(FileSystem Hierarchy Standard, estándar de jerarquía del sistema de archivos). Se trata de un estándar que
define los directorios principales de un sistema Linux y los contenidos que deberían tener los mismos. De
este modo se facilita mucho la utilización del sistema por parte de programas, administradores y usuarios,
que saben dónde encontrar lo que buscan independientemente del equipo en que se encuentran.
Por supuesto, Ubuntu también sigue esta norma, si bien cada distribución de Linux hace la modificación del
estándar a la hora de estructurar el árbol de directorios para adaptarlo a sus propias necesidades.

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.

2.3.2. EL DIRECTORIO RAÍZ


Una característica muy importante es que todas las carpetas y directorios se encuentran bajo un único árbol
con un directorio raíz al que nos referimos como “/”. Vendría a tratarse de un equivalente al C:\ en
Windows, con la salvedad de que todos los discos y dispositivos del sistema se ubican bajo dicha raíz (es
decir, no existen D:/, E:/ u otras letras como ocurre en Windows con otros discos duros, unidades de
CD/DVD o unidades de almacenamiento extraíbles).
Cada disco, partición o CD tiene su propia organización lógica, pero al mismo tiempo pertenece al árbol que
representa la estructura lógica de todo el sistema. Para poder utilizar un dispositivo, tenemos que montarlo
en un directorio existente, y el dispositivo aparecerá como el contenido de dicho directorio. A la operación
contraria se le denomina desmontar un dispositivo.

2.3.3. ALGUNOS DIRECTORIOS IMPORTANTES

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:

DIRECTORIO /LIB /SBIN /BIN


/ETC /USR /OPT /HOME /MEDIA /MNT /TMP
EN LINUX
DIRECTORIO
ARCHIVOS DE MIS
EN WINDOWS MI PC TEMP
PROGRAMA DOCUMENTOS
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.

A continuación, un árbol de directorios (simplificado) de un sistema Linux

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.

También podría gustarte