Subsecciones
Vimos en el tema 2 como crear particiones y sistemas de ficheros en el momento de la instalación
- 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:
- creación de particiones (comando fdisk)
- creación de los sistemas de ficheros (comando mkfs)
- montado de los sistemas de ficheros (comando mount)
El comando para crear particiones es fdisk
- Formato:
fdisk [opciones] dispositivo
donde dispositivo es el dispositivo del disco (/dev/hdx en IDE, /dev/sdx para SCSI o SATA)
- Debemos tener permiso de administrador para usarlo
- Opciones:
- -l muestra la tabla de particiones del dispositivo
fdisk se usa mediante un menú:
# fdisk /dev/hdb
The number of cylinders for this disk is set to 20805.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Command (m for help): m
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)
Para crear una partición primaria de 5 GB usamos n (new):
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-20805, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-20805, default 20805): +5G
Command (m for help): p
Disk /dev/hdb: 10.7 GB, 10737418240 bytes
16 heads, 63 sectors/track, 20805 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes
Device Boot Start End Blocks Id System
/dev/hdb1 1 9689 4883224+ 83 Linux
Por defecto, crea 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)
Command (m for help): t 1
Selected partition 1
Hex code (type L to list codes): 82
Changed system type of partition 1 to 82 (Linux swap / Solaris)
Command (m for help): p
Disk /dev/hdb: 10.7 GB, 10737418240 bytes
16 heads, 63 sectors/track, 20805 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes
Device Boot Start End Blocks Id System
/dev/hdb1 1 9689 4883224+ 82 Linux swap / Solaris
Para que se guarden los cambios debemos usar w (write)
fdisk escribe la tabla de particiones --> el contenido de los discos se pierde
Existen otras herramientas para modificar las particiones:
- cfdisk
- interfaz para el fdisk (también escribe la tabla de particiones)
- parted
- programa de GNU que permite crear, destruir, cambiar el tamaño, chequear y copiar particiones
- qtparted
- programa Linux para manejar particiones, con interfaz gráfico (basado en libparted)
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/3/4, xfs, etc.)
- si no se especifica se crea el por defecto del sistema (en Linux ext2)
- 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
Cada uno de estos comandos pueden tener distintas opciones
- ver las páginas de manual para más detalles
- dumpe2fs muestra información de sistemas de ficheros ext2/3/4
- información sobre inodos, bloques y grupos
- tune2fs permite ajustar parámetros en sistemas ext2/3/4
- p.e. define el intervalo entre chequeos automáticos, convierte ext2 en ext3, etc.
- e2label cambia la etiqueta de un sistema ext2/3/4
- existen comandos similares para otros tipos de sistemas de ficheros, p.e. reiserfstune, jfs_tune, etc.
- Si lo que creamos es una partición de intercambio, la debemos inicializar con mkswap
# fdisk -l /dev/hdb
Disk /dev/hdb: 10.7 GB, 10737418240 bytes
16 heads, 63 sectors/track, 20805 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes
Device Boot Start End Blocks Id System
/dev/hdb1 1 9689 4883224+ 83 Linux
/dev/hdb2 9690 20805 5602464 82 Linux swap / Solaris
# mkswap /dev/hdb2
Setting up swapspace version 1, size = 5736919 kB
no label, UUID=a6c2849b-c33e-478e-8a8d-fecfe3f18f6d
- Una vez creada debemos activarla con swapon
# swapon /dev/hdb2
# swapon -s
Filename Type Size Used Priority
/dev/hda7 partition 377488 0 -1
/dev/hdb2 partition 5602456 0 -2
- Finalmente, para que se active en el arranque, debe incluirse la entrada correspondiente en el fichero /etc/fstab
/dev/hda2 none swap sw 0 0
Para poder acceder a los sistemas de ficheros debemos montarlos
- los comandos para montar y desmontar son: mount y umount
Permite asociar (montar) 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 (ext2/3/4, reiserfs, vfat, etc.); si se pone auto intenta determinar de forma automágica
- -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
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 el 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
Al iniciar el sistema se montan los filesystems listados en /etc/fstab
Contiene una lista de los filesystem que están montados en el sistema
- Ejemplo de fichero /etc/mtab
$ cat /etc/mtab
/dev/hda1 / ext3 rw,errors=remount-ro 0 0
proc /proc proc rw 0 0
devpts /dev/pts devpts rw,gid=5,mode=620 0 0
tmpfs /dev/shm tmpfs rw 0 0
/dev/hda9 /home ext3 rw 0 0
/dev/hda8 /tmp ext3 rw 0 0
/dev/hda5 /usr ext3 rw 0 0
/dev/hda6 /var ext3 rw 0 0
usbfs /proc/bus/usb usbfs rw 0 0
/dev/hdb1 /home2 ext2 rw,nodev 0 0
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 (por defecto, 5 minutos)
- 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 automount los filesystems a montar
- Ejemplo de auto.misc
cdrom -fstype=iso9660,ro :/dev/cdrom
windoz -fstype=vfat :/dev/hda1
home -rw,hard,intr server:/export/home
- esto monta el cdrom y la partición /dev/hda1 en los directorios /misc/cdrom y /misc/windoz, y el directorio remoto /export/home del sistema server en /misc/home
- Para más información ver el manual de autofs y automount, el Autofs Automounter HOWTO
o el Automount mini-Howto
Periódicamente es necesario chequear los sistemas de ficheros
- el comando básico para chequeo y reparación es fsck
Al igual que mkfs, fsck es un front-end a comandos específicos para cada filesystem:
- e2fsck, fsck.ext2 o fsck.ext3 chequean sistemas ext2/ext3
- fsck.jfs, fsck.reiserfs, fsck.xfs para JFS, ReiserFS y XFS
- fsck.msdos, fsck.vfat para sistemas MS-DOS
Alguno de los errores que pueden aparecer se deben a:
- Varios ficheros que usan el mismo bloque
- Bloques marcados libres y ocupados simultáneamente
- Número de enlaces erróneo
- Nodos-i conteniendo información pero que no están en la entrada del directorio (la información se recupera en el directorio lost+found con el número de nodo-i)
- Entradas del directorio que apuntan a nodos-i ilegales o vacíos
- etc.
Algunas de las opciones de fsck son:
- -t filesystem tipo de filesystem a chequear
- -A chequea los filesystems listados en /etc/fstab
- -N no ejecuta; simplemente indica lo que haría
- -R usado con -A no chequea el filesystem raíz
Otras opciones dependen del filesystem particular
- ver las páginas de manual para cada caso
- du: muestra el espacio de disco usado por los ficheros y subdirectorios de un directorio
- 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
- Ejemplo:
$ df -h
Filesystem Tamaño Usado Disp Uso% Montado en
/dev/hda1 67M 50M 13M 80% /
tmpfs 63M 0 63M 0% /dev/shm
/dev/hda9 272M 8,1M 250M 4% /home
/dev/hda8 23M 1,1M 20M 5% /tmp
/dev/hda5 464M 90M 350M 21% /usr
/dev/hda6 74M 44M 27M 63% /var
Administración de Sistemas e Redes <ASR.USC[at]gmail.com>
Tomás Fernández Pena <tf.pena[at]usc.es>
Última actualización: 19-10-15 11:23 por tomas
Curso de Administración de Sistemas y Redes por Tomás Fernández Pena se distribuye bajo la licencia Creative Commons Recoñecemento-Compartir baixo a mesma licenza. 3.0 España.
Trabajo original en persoal.citius.usc.es/tf.pena/ASR.