Sistema de archivos en Linux

Introducción

El objetivo de este documento es mostrar conceptos básicos sobre como se organiza la información de los discos en Linux.

Discos, particiones y sistemas de archivos

Un disco es un dispositivo físico capaz de almacenar información de forma permanente, por lo tanto, la información no se borrará si se produce un corte del suministro eléctrico. Los discos pueden ser fijos, como los discos duros, o removibles como los CD-ROM, DVD's o memorias Flash USB.

O bien porque la capacidad de un disco es grande, o bien porque queremos tener más de un sistema operativo instalado, o por agrupar la información según su importancia, podemos particionar un disco. Un disco particionado se comporta como si se tratasen de varios discos. Por ejemplo, tenemos un disco duro de 80GBytes y queremos instalar dos sistemas operativos, Windows y Linux, dividiremos el disco en al menos 3 particiones. Una primera de 30 GBytes para Windows, una segunda de 480 MBytes para la memoria virtual de Linux, y una tercera de aproximadamente 50 Gbytes para Linux (los números utilizados son meramente orientativos).

Cuando creamos una partición, todos los discos tienen al menos una, especificamos el sistema de archivos que vamos a utilizar. Un sistema de archivos define como se organizan los datos dentro de la partición y las operaciones que podemos realizar sobre éllos. Existen varios tipos de sistemas de archivos, los más comunes:

  • FAT, FAT16, FAT32: sistema de archivos de MS-DOS, Windows 95 y Windows 98. Se sigue utilizando por su sencillez y porque es reconocido por todos los sistemas operativos. Es un sistema de archivos muy frágil y no es tolerante a fallos, además de ser lento con respecto a los otros.
  • NTFS: sistema de archivos de Windows NT, 2000, XP y 2003. Es un sistema más sofisticado y rápido que es anterior y el actual estándard de Microsoft. Es un sistema de archivos cuya implementación es propietaria y cerrada, por lo que no es reconocido en su totalidad por todos los sistemas operativos.
  • EXT2: sistema de archivos estándard de Linux, su organización interna permite no necesitar defragmentación (fenómeno que se da en otros sistemas por el cual los archivos de distribuyen de forma que el tiempo que se tarda en acceder a ellos se incrementa, realientizando el acceso a disco).
  • EXT3: es la extensión de EXT2, incorpora tolerancia a fallos permitiendo una rápida recuperación del sistema cuando el ordenador se bloqueó o apagó inesperadamente.
  • ReinserFS y XFS: sistemas de archivos de alto rendimiento y rapidez que mejoran los sistemas anteriores.

Carpetas y el arbol de información

La información que se almacena en los discos se agrupa en archivos, que veremos mas adelante. Debido a que la capacidad de los discos es muy grande los archivos se clasifican en contenedores denominados carpetas o directorios.

Las carpetas pueden contener archivos o subcarpetas, las subcarpetas son carpetas que se encuentran dentro de otra. Asi, todas las carpetas se encuentran dentro de otra excepto la carpeta root que se representa por el símbolo / (GNOME y Nautilus la denominan sistema de archivos). Las carpetas, por lo tanto, estan organizadas con una estructura de árbol.

Las particiones de las unidades se montan sobre una carpeta, por lo que el acceso a la información por parte del usuario es independiente de la unidad donde ésta se encuentre.

Carpetas del sistema

Todos los sitemas Linux organizan la información utilizando unos nombre de carpetas comunes. Según las distribuciones algunas carpetas o archivos pueden cambiar su nombre o ubicación.

Consulte un resumen de las carpetas

Montar y desmontar unidades

Las unidades fijas se montan en una carpeta, normalmente al arrancar Linux, y es el administrador el encargado de montarlas y desmontarlas.

Montar una unidad o partición es hacer accesible su contenido a través de la carpeta con la que se vincula.

Desmontar una unidad o partición es desvincularla de la carpeta sobre la que estaba montada. Cuando se desmonta, nos aseguramos que toda la información se almacena de forma correcta sin perder información. Si al desmontar obtenemos un mensaje indicándonos que no es posible desmontar la unidad, se debe a que estamos utilizando algún archivo de la unidad.

Las unidades removibles se montan de forma automática cuando el usuario las utiliza (como las unidades USB, CD-ROM, DVD, ...), y es el usuario el que se encarga de desmontarlas.

Archivos

Los archivos contienen documentos de texto, sonidos, imágenes, videos, programas, diapositivas, etc.

Todos los archivos se están vinculados al menos a una carpeta que los contiene y tienen un único nombre que los identifica dentro de la carpeta, no pudiendo haber dos archivos con el mismo nombre dentro de la misma carpeta.

En Linux, el contenido de un archivo se determina analizando los datos que contiene, pero en otros sistemas se utilizan extensiones. La extensiones permiten saber el tipo de contenido de un archivo con solo ver su nombre, un archivo se identifica por su nombre, un punto, y el tipo de extensión. Por ejemplo, foto1.jpg la extensión "jpg" indica que es una imagen comprimida; cancion1.mp3 la extensión "mp3" indica que contiene sonido comprimido; borrador.txt la extensión "txt" indica que el contenido del archivo es texto sin formato. GNOME y Nautilus utilizan los dos métodos, si el tipo de archivo no coincide con la extensión nos avisa informándonos del error.

Usuarios, grupos y otros. Permisos

Los archivos en Linux estan vinculados a un usuario y un grupo, siendo el usuario el dueño del archivo y quien deciden que operaciones se pueden hacer sobre estos archivos.

Las operaciones que se pueden hacer sobre un archivo son:

  • lectura(r), indica si el contenido del archivo puede ser accesible.
  • escritura(w), indica si el contenido del archivo es modificable
  • ejecución(x), indica si el archivo puede ser ejecutado o lanzado.

Sobre cada archivo se definen estas operaciones mediante permisos para el usuario (dueño del archivo), para los usuarios del grupo vinculado al archivo, y para el resto de usuarios. Así, por ejemplo, un usuario puede permitir a los miembros de su grupo que lean sus archivos pero no modificarlos, y al resto de usuarios denegar su acceso.

El único usuario que tiene acceso a todos los archivos, su contenido y permisos, es el administrador (root).

De esta forma el sistema de archivos se convierte en un sistema fiable y seguro aunque el ordenador sea utilizado por más de un usuario.

Enlaces

Los enlaces permiten saltar de forma rápida a un archivo o carpeta, reduciendo la altura del arbol cuando deseamos acceder a archivos o subcarpetas que se encuentran en niveles profundos. Además, los enlaces convierten la estructura de arbol del sistema de archivos en un gráfo, puesto que podemos acceder a subcarpetas que se encuentran también en otras subcarpetas.