domingo, 25 de enero de 2009

Particiones y sistemas de ficheros

→ Si añadimos un nuevo disco al sistema ya instalado deberemos crear las particiones y los sistemas de ficheros
→ Esta operación implica los siguientes pasos:
1. creacion de particiones (comando fdisk)
2. creación de los sistemas de ficheros (comando mkfs)
3. montado de los sistemas de ficheros (comando mount)



Creación de particiones: se usa el comando fdisk
Formato: fdisk [opciones] dispositivo
Debemos tener permiso de administrador para usarlo
Opciones:
-l: muestra la tabla de particiones del dispositivo
fdisk se usa mediante un menú:
Para crear una partición primaria de 5GB usamos n(new), despues elegimos si es extendida (e) o primaria (p). Por defecto, se cra la partición tipo Linux (Id 83)
→con l (list) vemos el tipo de particiones soportadas
→para cambiar el tipo de partición se usa t (type)

Otras herramientas:
cfdisk → interfaz para el fdisk(tambié escribe la tabla de particiones)
parted → programa de GNU que permite crear, destruir, cambiar el tamaño chequear y copiar particiones
qtparted → clónico del Partition Magic para Linux (basado en libparted)
Partition Magic → programa comercial de la compañía Symantec que puede manejar diversos filesystems


Creación de los sistemas de ficheros: sobre cada partición debemos crear sistemas de ficheros con el comando mkfs.
Formato: mkfs [-V] [-t filesystem] dispositivo [n_bloques]
Opciones:
-V → verbose
-t → filesystem tipo de sistema de ficheros a crear (ext2,ext3,xfs,etc..)
n_bloques → número de bloques usados para el sistema de ficheros (si no se pone, se usa toda la partición)

mkfs es un front-end a distintos comandos, que permiten crear particiones de los tipos específicos:
→ mkfs.ext2 o mke2fs crea sistemas ext2
→ mkfs.ext3 crea sistemas ext3, equivalente a mkfs.ext2 -j
→ mkfs.jfs, mkfs.reiserfs, mkfs.xfs crean sistemas JFS, ReiserFS y XFS, respectivamente.
→ mkfs.msdos, mkfs.vfat crea sistemas MS-DOS
→ mkswap crea un sistema de ficheros de tipo Linux swap

Comandos relacionados:
dumpe2fs → muestra información de sistemas de ficheros ext2/ext3, información sobre inodos, bloques y grupos.
tune2fs → permite ajustar parámetros en sistemas ext2/ext3, por ejemplo define el intervalo entre chequeos automáticos, convierte ext2 en ext3, etc.
e2label → cambia la etiqueta de un sistema ext2/ext3


Partición de intercambio:
→ Si lo que creamos es un partición de intercambio, la debemos inicializar con mkswap.
→ Una vez creada debemos activarla con swapon.
→ Finalmente para que se active en el arranque, debe inlcuirse la entrada correspondiente en el fichero /etc/fstab:
/dev/hda2 none swap sw 0 0


Montado de los sistemas de ficheros:
Comando mount: Permite asociar directorios a sistemas de ficheros
Ejemplo: mount -t ext3 /dev/hdb1 /home2
Formato: mount [opciones] [-t tipo] [disp.] [dir.]
Algunas opciones:
tipo→tipo de sistema de ficheros; si se pone auto intenta determinar de forma automática
-a → monta los filesystems listados en /etc/fstab
-r/-w → monta los sistemas de sólo lectura/escritura
-f → simulación; usado con -v(verbose) para chequear
-n → monta sin añadir la entrada a /etc/mtab; se usa cuando /etc es sólo lectura
-o opciones → opciones de montado; formato igual al usado en el fichero fstab

Comando umount : Desmonta los sistemas de ficheros
Formato: umount [opciones] directorio
Ejemplo: umount /home2
Algunas opciones:
-a → desmonta los filesystems listados en /etc/mtab
-r → si falla, intenta remontar sólo lectura
-f → fuerza al desmontado
Si hay algún proceso bloqueando el filesystem, este no se puede desmontar:
→ usar el comando fuser -c directorio para ver el PID del proceso

Fichero /etc/fstab : Al inicar el sistema se montan los filesystems listados en /etc/fstab:
Cada línea del fichero tiene las siguientes columnas:
(file system) (mount point) (tipo) (opciones) (dump) (pass)
Ejemplo:
/dev/hda9 /home ext3 defaults 0 2
Alguna de las opciones son:
rw → monta tipo lectura/escritura
ro → sólo lectura
auto/noauto → monta /no monta con mount -a (monta/no monta al inicio)
exec/noexec → Permite/no permite la ejecución de ficheros binarios en la partición.
suid/nosuid → permite/no permite la ejecución de ficheros binarios en la partición
dev/nodev → interpreta/no interpreta dispositivos de bloques o caracters en el filesystem
async → toda la I/O se realiza de forma asíncrona
user → puede montarlo un usuario (y sólo el que lo monta puede desmontarlo); implica las opciones noexec, nosuid y nodev, a menos que se fuercen (p.e user,exec, suid,dev).
users → puede montar/desmontarlo un usuario y el que desmonta no tiene que ser el que lo montó; implica las mismas opciones que user
defaults → selecciona opciones por defecto (rw,suid,dev,exec,auto,nouser y async)

Si un directorio aparece listado en el fstab puede montarse sin especificar el dispositivo: $mount /home

Campos dump y pass:
dump → lo usa el comando dump para determinar de que filesystems hacer copias de seguridad
→ valor 1 o 0 según si la partición va a tener un backup controlado por dump o no (normalmente no se usa)
pass → lo usa el comando fsck para determinar el orden en que se chquean los filesystems al inicar el sistema
→si 0, el filesystem no se chequea
→si > 0, los filesystems se chequean en el orden indicado por los números.


Fichero /etc/mtab : contiene una lista de los filesystems que están montados en el sistema.


Autofs : Sistema que permite montar los filesystems "bajo demanda"
→ cuando se accede al directorio, este se monta
→ se desmonta automáticamente después de un tiempo de inactividad
→ suele usarse para montar sistemas remotos con NFS
→ Ficheros de configuración
→/etc/auto.master define los puntos de montado
→por cada uno de los puntos definidos, se inicia un proceso automount usando los parámetros indicados
→ Ejemplo de auto.master:
/home /etc/auto.home
/misc /etc/auto.misc --timeout 60
→Los ficheros le indican al utomount los filesystems a montar
→Ejemplo de auto.misc
cdrom -fstype=iso9660,ro :/dev/cdrom
floppy -fstype=auto :/dev/fd0
windoz -fstype=vfat :/dev/hda1
→esto monta el cdrom, el floppy y la partción /dev/hda1 en los directorios /misc/cdrom, /misc/floppy y /misc/windoz respectivamente.


Supermount : tipo de pseudofilesystem que para manejar dispositivos removibles:
→el filesystem se monta/desmonta automáticamente cuando se introduce/saca el CD o disquete
→ la línea correspondiente en el fstab debe ser del tipo:
none /mnt/cdrom supermount dev=/dev/cdrom,fs=auto 0 0
→ se incluye "de serie" en algunas distribuciones


pmount : comando que permite al usuario montar dispositivos hotpluggable
→ el dispositivo se monta debajo del directorio /media
→ no necesita estar listado en /etc/fstab
→ puede usar HAL para obtener información de los dispositivos


gnome-volume-manager : En el entorno GNOME monta automáticamente dispositivos removibles cuando se conectan o se inserta un CD
→ usa udev y HAL
→ el usuario puede configurar la acción realizada al conectarse el dispositvo



Chequeo del sistema de ficheros
→ el comando básico para chequeo y reparación es fsck
Es un front-end a otros comandos:
→ e2fsck, fsck.ext2 o fsck.ext3 chequean sistemas ext2/ext3
→ fsck.msdos, fsck.vfat para sistemas MS-DOS
Algunas de las opciones de fsck son:
-t filesystem → tipo de filesystem a chequear
-A → chequea los filesystem listados en /etc/fstab
-N → no ejecuta; simplemente indica lo que haría
-R → usado con -A no chequea al filesystem raíz


Otras utilidades:
du → muestra el espacio de disco usado por los ficheros y subdirectorios de un directorio.
→ Formato: du [opciones] [directorio]
→ Algunas opciones:
∗ -a muestra valores para ficheros y directorios (por defecto, solo muestra directorios)
∗ -b, -k tamaños en bytes/KBytes
∗ -h salida más legible
∗ -s muestra sólo la ocupación total

df → muestra el espacio de disco usado y disponible de los sistemas de ficheros montados
→Formato: df [opciones]
→Algunas opciones:
∗ -a muestra todos los filesystems (incluso los de tamaño 0)
∗ -h salida más legible
∗ -i da información sobre los inodos
∗ -l sólo muestra filesystems locales
∗ -T muestra el tipo de sistema de ficheros