sábado, 29 de octubre de 2011

Sistema de archivos EXT.

Ext2 es un sistema de archivos desarrollado para y junto con Linux. Permite todas las características que el sistema de archivos virtual de Linux soporta: directorios y archivos como inodos (con permisos, dueños y tipos especiales e.g dispositivos), enlaces duros y suaves. Entre sus limites se cuentan: nombres de archivos de máximo 255 caracteres, archivos de máximo 2GB, sistema de archivos de máximo 4TB. Aunque ext2 procura evitar fragmentación, en el momento de este escrito no hay una herramienta para defragmentar [88].
Además de los atributos de archivo presentados en la sección anterior, un sistema ext2 tiene otros que pueden administrarse con los siguientes programas: 

lsattr archivos
Lista los atributos especiales de los archivos especificados. Entre sus opciones -R lista recursivamente atributos de subdirectorios y su contenido, -a lista también archivos de configuración.
 
chattr modo archivos
Permite modificar los atributos especiales de un sistema de archivos ext2. Como modo se especifican los cambios a los permisos, cada permiso se especifica con un caracter: A - no actualizar tiempos de acceso, S - actualización sincrona (es decir escribe directamente sin emplear caches), a - permite abrir el archivo sólo para agregar datos, c - el archivo es mantenido comprimido en disco (sus datos son descomprimidos automáticamente por el kernel), d - al emplear el program dump el archivo es copiado, i - el archivo no puede ser modificado o renombrado, j - llevar bitácora de datos, s - el archivo debe sobreescribirse con ceros si es eliminado, u - en caso de ser borrado por el usuario una copia es salvada para su posible recuperación. Los permisos se especifican como primer parámetro de chattr, precediendo uno o más atributos con '+' para activar, '-' para desactivar o '=' para dejar igual.
En el disco la información se organiza en bloques (de 1024, 2048 o 4096 bytes), estos bloques se juntan en grupos (cada uno de máximo 32768 bloques), algunos de los bloques se reservan para el administrador (para que pueda operar si los usuarios llegan a llenar el sistema de archivos). Cada grupo tiene algunos bloques de control y otros de datos, entre los bloques de control está una copia del superbloque (bloque que describe el sistema de archivos completo) y una tabla de los nodos-i cuyos datos están en el bloque. Un nodo-i mantiene información sobre un archivo es decir: atributos (modo, uid, gid, fecha de acceso, fecha de creación, fecha de modificación, fecha de eliminación), cantidad de enlaces y lista de los bloques del grupo en donde se encuentra la información del archivo. 

Algunas herramientas para emplear sistemas de archivos ext2 son:

mke2fs dispositivo
También llamado mkfs.ext2, permite crear un sistema ext2 en un dispositivo de almacenamiento. Recibe el nombre del dispositivo, y de no recibir opciones prepara el sistema de archivos calculando los parámetros a partir del tamaño disponible. Como opciones pueden especificarse: -c para chequear bloques con errores antes de crear sistema de archivos, opcionalmente pueden pasarse los bloques erróneos ---reportados por el programa badblocks--- en un archivo con -l arc_blerr); -L etiqueta para poner una etiqueta; puede especificar el número de nodos-i bien con -N num_nodos o con -i bytes_por_inodo ---tenga en cuenta que no puede cambiarse la cantidad especificada después de que el sistema de archivos ha sido creado; el tamaño en bytes de cada bloque puede ser 1024, 2048 o 4096 y se especifica con la opción -b tamaño; el porcentaje de bloques para el administrador puede especificarse con -m porcentaje ---por defecto 5%.
debugfs dispositivo
Permite examinar y modificar a bajo nivel un sistema de archivos ext2.
badblocks dispositivo
Localiza bloques con errores en un dispositivo y genera un reporte en un archivo.
e2fsck dispositivo
Verifica un sistema de archivos ext2. Este programa es llamado por fsck cuando se chequea un sistema con ext2.