Sei sulla pagina 1di 65

Linux Filesystem Management

Discusin
El sistema operativo de Linux maneja discos como una gran matriz que se puede dividir y estructurar para
servir a una gran variedad de necesidades. Este cuaderno ensea las destrezas que permiten a los
administradores configurar y estructurar discos de acuerdo con sus necesidades.
Particiones de disco
Como la mayora de los sistemas operativos, Linux permite la divisin de discos en mltiples particiones,
donde cada particin se maneja como un disco independiente. El proceso de crear particiones se conoce
como particionar un disco.
Cmo se refiere Linux a las particiones
El kernel de Linux se refiere a las particiones individuales a travs de nodos de dispositivo, donde el nombre
del nodo se deriva al aadir el nmero de la particin al nombre del disco. Por ejemplo, la primera particin
en el dispositivo se conoce como / dev/ hda mientras que la sptima particin en el dispositivo / dev/ sdc
se conocera como / dev/ sdc7.
Rarezas de las particiones DOS
Los sistemas operativos han establecido diferentes convenciones para registrar la informacin de particin
de un disco. Dado que Linux histricamente ha operado entre sistemas operativos DOS, el esquema de
particin ms comn es la particin DOS. El formato de particin DOS se deriv cuando un disco duro de
200 megabytes se consideraba grande y el nmero de particiones necesarias en el disco era pequeo, esto
pronto trajo sus implicaciones.
Figure 1. Muestra de particionamiento del dispositivo /dev/hda

La tabla anterior muestra un disco particionado mediante el particionamiento DOS, incluyendo las
caractersticas esbozadas a continuacin.
El registro de arranque maestro (MBR)
El primer bloque (512 bytes) de cada disco se reserva para el registro de arranque maestro o MBR, (el
tamao del MBR en la tabla anterior est bastante desproporcionado). El MBR contiene los siguientes
elementos.
Gestor de arranque: En los discos de arranque, un nivel ejecutable conocido como un gestor de
arranque habita en el MBR. En el arranque, la BIOS pasa el control al gestor de arranque, el cual es
luego el responsable de cargar y pasar el control al sistema operativo apropiado. El gestor de
arranque se tratar en ms detalle en un cuaderno posterior.
Tabla de particin: En cada disco, 64 bytes del registro maestro de arranque se reservan para la
tabla de particin del disco. Esta pequea cantidad de espacio registra informacin de ms de 4
particiones conocidas como particiones primarias. Para cada particin, se registra una ubicacin de
inicio, de terminacin y un tipo de particin.
Particiones primarias
Cada disco se puede dividir hasta en cuatro particiones primarias, cuyas propiedades se registran en la tabla
de particin localizada en el MBR. Linux siempre utiliza los nmeros de particin de 1 a 4 para referirse a
las particiones primarias. En el diagrama anterior, la primera particin primaria, / dev/ hda1, es un
sistema de archivos FAT para el sistema operativo de Windows. La segunda particin primaria / dev/ hda2,
es una particin de intercambio (swap) utilizada por Linux para implementar la memoria virtual. La tercera
particin, / dev/ hda3 es un sistema de archivos ext3 que contiene una particin de arranque / boot de
Linux.
La particin extendida
Con las tres particiones mencionadas anteriormente, ya estamos a punto de utilizar todas las cuatro
particiones primarias permitidas. Como una forma de solventar esta limitacin, se crea la estructura
llamada particin extendida. La particin DOS permite que cualquier particin primaria sea utilizada como
particin extendida. La particin extendida se utiliza como un contenedor para almacenar ms particiones,
conocidas como particiones lgicas. Una vez una particin primaria es utilizada como particin extendida,
no se puede utilizar para otro propsito.
Una particin extendida es opcional. Si cuatro particiones cubren las necesidades de particin para un disco
determinado, entonces no se requiere una particin extendida. En teora, cualquiera de las cuatro
particiones primarias se puede utilizar como particin extendida. En la prctica, las primeras tres
particiones generalmente se crean cuando se necesitan y la restante del disco se asigna como una cuarta
particin primaria utilizada como la particin extendida. Esta estrategia se implement en la figura
anterior, donde / dev/ hda4 sirve como particin extendida.
Particiones lgicas
Dentro de la particin extendida se pueden crear mltiples particiones lgicas. La informacin sobre
particiones lgicas se mantiene como una lista de enlaces, por lo tanto, en teora, no hay lmite en el nmero
de particiones lgicas que se pueden crear. En la prctica, los controladores de dispositivo imponen lmites.
No hay ms de 63 particiones IDE y no ms de 15 particiones SCSI. Linux siempre comienza por contar la
primera particin lgica como la particin nmero 5, incluso si no se utilizan todas las 4 particiones
primarias.
En la tabla anterior, 4 particiones lgicas (/ dev/ hda5, / dev/ hda6, / dev/ hda7 y / dev/ hda8) contienen
sistemas de archivo ext3 para las particiones / , / home, / var , y pub, respectivamente.
Particin con fdisk
La herramienta ms utilizada de Red Hat Enterprise para la particin de discos es fdisk. La utilidad de la
lnea de comando se mantiene intencionalmente sencilla y sin pretensin, para que se pueda utilizar en un
entorno mnimo tal como una shell de rescate. Como los usuarios estndar no tienen permiso de lectura de
discos (y tampoco de modificacin) directamente a travs de su nodo de dispositivo, la utilidad fdisk slo
puede utilizarse como el usuario root.
Uso de fdisk para listar particiones
El uso ms sencillo de fdisk es mostrar las particiones conocidas. Con la opcin de lnea de comando -l
listar tablas de particin para todos los discos conocidos. En el siguiente ejemplo, fdisk -l genera una tabla
de particin de los dos discos duros conectados en el sistema. La salida de este comando sencillo se ha
divido en dos listados, con el fin de poder centrarnos en cada disco por separado.
Ahora intentamos darle sentido a la estructura reportada del primer disco.
Ahora nos enfocamos en el segundo disco, / dev/ hdb.
Ahora realizamos un anlisis similar en el segundo disco.
[root@station root]# fdisk -l

Di sk / dev/ hda: 120. 0 GB, 120034123776 byt es
240 heads, 63 sect or s/ t r ack, 15505 cyl i nder s
Uni t s = cyl i nder s of 15120 * 512 = 7741440 byt es

Devi ce Boot St ar t End Bl ocks I d Syst em
/ dev/ hda1 1 540 4082368+ b Wi n95 FAT32
/ dev/ hda2 * 541 3249 20480040 7 HPFS/ NTFS
/ dev/ hda3 3250 3926 5118120 83 Li nux

El primer disco tiene un tamao de 120 gigabytes.
La lnea muestra la geometra del dispositivo o la estructura interna del dispositivo. El parmetro
importante es los cilindros, porque fdisk fuerza a las particiones a iniciar y terminar en los lmites
del cilindro. Un cilindro est compuesto por mltiples cabezas, que a su vez estn compuestas por
mltiples bloques de 512 bytes cada uno. Al hacer cuentas, en este disco cada cilindro contiene (512
bytes/cabeza) * (240 cabezas/sector) * (63 sectores/cilindro) = 7741440 bytes/cilindro, o cerca de 7.5
megabytes por cilindro.
En realidad no tuvimos que hacer todos estos clculos, fdisk lo hizo por nosotros.
Aqu encontramos la tabla de particin real. Este disco solo tiene tres particiones, cada uno como una
particin primaria, (cmo lo sabemos? Para los novatos, los nmeros de particin son menores o
iguales a 4). Cada lnea da un nombre de dispositivo, el cilindro de inicio y terminacin, el tamao de
la particin y el tipo de particin. Discutiremos ms adelante la interpretacin de estas lneas.
La ltima particin termina en el cilindro 3926, aunque sabemos por la lnea que lista la geometra
del disco (etiquetado "2" arriba) que el disco tiene 15505 cilindros. Podemos calcular que cada disco
tiene cerca de (15505 - 3926 cilindros) * (7.5 megabytes/cilindro) = 87 gigabytes de espacio sin
asignar.
Di sk / dev/ hdb: 80. 0 GB, 80026361856 byt es
255 heads, 63 sect or s/ t r ack, 9729 cyl i nder s
Uni t s = cyl i nder s of 16065 * 512 = 8225280 byt es

Devi ce Boot St ar t End Bl ocks I d Syst em
/ dev/ hdb1 * 1 9 72261 83 Li nux
/ dev/ hdb2 10 270 2096482+ 82 Li nux swap
/ dev/ hdb3 271 1302 8289540 83 Li nux
/ dev/ hdb4 1303 9729 67689877+ f Wi n95 Ext ' d ( LBA)
/ dev/ hdb5 1303 5127 30724281 83 Li nux
/ dev/ hdb6 5128 6171 8385898+ 83 Li nux
/ dev/ hdb7 6172 9729 28579603+ 83 Li nux
El segundo disco tiene un tamao de 80 gigabytes.
Sabiendo que fdisk s hace el trabajo por nosotros, nos enfocaremos en el nmero de cilindros, en
este caso 9729...
...donde cada cilindro tiene un tamao un poco mayor a 8 megabytes.
El disco ha asignado todos las cuatro particiones primarias.
La cuarta particin primaria se utiliza como la particin extendida, terminando en el ltimo cilindro
(9729) del disco.
Las particiones restantes son particiones lgicas. Observe que sus lmites de cilindro caen dentro de
los lmites de la particin extendida (i.e. entre los nmeros 1303 y 9729 inclusive).
La terminacin de la ltima particin lgica (cilindro 9729) coincide con la terminacin de la
particin extendida, la cual coincide con el final del disco. No queda ms espacio en el dispositivo.
Enfocndonos en una sola lnea de la tabla de particin de fdisk
Con el fin de estudiar una lnea en detalle, listaremos de nuevo la tabla de particin para el disco / dev/ hda.
Cada lnea de la particin contiene las siguientes siete columnas.
Table 1. Definiciones de columna para fdisk
Etiquetas de particiones
Como vimos en el cuadro anterior, la tabla de particin incluye un identificador de byte utilizado para
asignar el "Id" de particin (algunas veces conocido como el "tipo" de la particin o la "etiqueta " de la
particin). El Id utilizado para identificar la funcin de la particin debe servir de: espacio swap, sistema
de archivos ext3, sistema de archivos FAT, parte de la Administracin de Volumenes de Linux o particin
extendida?
Muchos sistemas operativos siguen las mismas convenciones de nomenclatura del Id de particin. El
siguiente cuadro lista los tipos de particin que normalmente se presentan en Linux, en el orden
aproximado como se generan.
Table 1. Ids de particin importantes para Linux
Di sk / dev/ hda: 120. 0 GB, 120034123776 byt es
240 heads, 63 sect or s/ t r ack, 15505 cyl i nder s
Uni t s = cyl i nder s of 15120 * 512 = 7741440 byt es

Devi ce Boot St ar t End Bl ocks I d Syst em
/ dev/ hda1 1 540 4082368+ b Wi n95 FAT32
/ dev/ hda2 * 541 3249 20480040 7 HPFS/ NTFS
/ dev/ hda3 3250 3926 5118120 83 Li nux
Columna Funcin
Dispositivo
El nodo de dispositivo que hace referencia a la particin, ms utilizada como el "nombre" de
la particin.
Arranque
Identifica la particin de "arranque". En cada disco se puede etiquetar una de las particiones
primarias como de "arranque". Aunque Linux no la utiliza (si la utiliza el gestor de arranque
MS/DOS), fdisk reporta y le permite al usuario establecer la particin de arranque.
Comienzo y
fin
El cilindro de comienzo y fin de la particin.
Bloques
El tamao de la particin en "bloques" de 1024 bytes (i.e. 1K). Por lo general, esta
informacin es redundante (aunque conveniente) puesto que se puede calcular desde los
lmites del cilindro. Por ejemplo, para la particin / dev/ hda2, multiplicar el nmero de
cilindros por el nmero de kilobytes por cilindro da como resultado 20480040.
Algunas veces, especialmente cuando alguna utilidad diferente a fdisk examina discos con
particiones, los cilindros no se ajustan exactamente a los lmites de los cilindros. Por ejemplo,
al hacer clculos similares en la primera particin, (/ dev/ hda1), el nmero notificado est
corto en 32 kilobytes. En tales situaciones, fdisk marca el nmero reportado de bloques y
agrega un +.
Id El nmero digital hexadecimal 2 representa el Id del tipo de particin.
Sistema Un nombre de texto para el tipo de particin, tal como se define en el Id.
Id Etiqueta Role
83 Linux Un sistema de archivos de Linux ext2 o ext3
82 Linux Swap Una particin swap de Linux (memoria virtual)
fd Linux raid auto Una particin RAID de software de Linux
8e Linux LVM Administracin de volumenes lgicos de Linux
En Linux, los Ids de particin suelen ser cosmticos. Una particin etiquetada como Linux se puede
inicializar y utilizar para espacio swap, mientras que una particin etiquetada como Linux Swap puede
utilizarse como un sistema de archivos ext2. Sin embargo, algunos Ids, son importantes para el kernel de
Linux (por ejemplo, Linux raid auto) y muchos son importantes para otros sistemas operativos que podran
estar compartiendo el mismo disco. La prctica sugiere que cada Id de particin debera reflejar la intencin
de su uso.
Uso de fdisk para editar una tabla de particin
Inicio de fdisk y uso del men de comandos
Al utilizar fdisk para editar una tabla de particin, el comando fdisk debera llamarse con un solo
argumento: el nodo de dispositivo del disco que se va a editar.
Cuando el fdisk inicia, advierte que el disco excede los 1024 cilindros. Algunos de las BIOS ms antiguas
estn limitadas a slo acceder los primeros 1024 cilindros, un tema que se cubrir en un prximo cuaderno.
Por lo general, esta advertencia se puede ignorar. Luego, fdisk espera con paciencia para que le digan lo
que tiene que hacer.
En modo interactivo (de edicin), fdisk espera ser conducido con comandos de una sola letra. El comando
m muestra una lista de los posibles comandos.
Afortunadamente, la mayora de los usuarios pueden sobrevivir utilizando un pequeo subconjunto de estos
comandos.
Table 1. Los comandos fdisk ms utilizados
[root@station root]# fdisk /dev/hda

The number of cyl i nder s f or t hi s di sk i s set t o 15505.
Ther e i s not hi ng wr ong wi t h t hat , but t hi s i s l ar ger t han 1024,
and coul d i n cer t ai n set ups cause pr obl ems wi t h:
1) sof t war e t hat r uns at boot t i me ( e. g. , ol d ver si ons of LI LO)
2) boot i ng and par t i t i oni ng sof t war e f r omot her OSes
( e. g. , DOS FDI SK, OS/ 2 FDI SK)

Command ( mf or hel p) :
[Note]
Note
Uno de los errores ms comunes de los nuevos usuarios es invocar fdisk con el
nombre de una particin en lugar de un disco. Por ejemplo, fdisk /dev/hda3
hara que fdisk saliera con un error. Las particiones no tienen tablas de particin
para corregir, los discos s.
Command ( mf or hel p) : m
Command act i on
a t oggl e a boot abl e f l ag
b edi t bsd di skl abel
c t oggl e t he dos compat i bi l i t y f l ag
d del et e a par t i t i on
l l i st known par t i t i on t ypes
m pr i nt t hi s menu
n add a new par t i t i on
o cr eat e a new empt y DOS par t i t i on t abl e
p pr i nt t he par t i t i on t abl e
q qui t wi t hout savi ng changes
s cr eat e a new empt y Sun di skl abel
t change a par t i t i on' s syst emi d
u change di spl ay/ ent r y uni t s
v ver i f y t he par t i t i on t abl e
w wr i t e t abl e t o di sk and exi t
x ext r a f unct i onal i t y ( exper t s onl y)

Comando Funcin
La primera accin del usuario es orientarse con el comando p para imprimir la tabla de particin actual.
Vemos otra vez la tabla de particin para el disco / dev/ hda, con las tres particiones primarias y ms de 80
gigabytes de espacio libre.
Adicin de una particin
En nuestra discusin asumimos que el administrador quiere crear dos nuevas particiones. La primera se
utilizar como un espacio swap de 512 megabytes y la segunda se utilizar como un sistema de archivos ext3
de 1024 megabytes. El comando n es utilizado para crear una nueva particin.
La siguiente pregunta depende del estado del dispositivo. Si no existen particiones extendidas (nuestro
caso), fdisk pregunta si la nueva particin debe ser la particin extendida o una particin primaria
(normal). Si una particin extendida existe, fdisk pregunta si la nueva particin debe ser lgica o primaria.
Si se utilizan todas las particiones primarias entonces fdisk simplemente no pregunta.
Debido a que las tres particiones primarias ya existen y nuestro administrador quiere crear dos particiones
nuevas, debe crear primero una particin extendida para guardarlas. Contesta e. Luego fdisk le pide el
nmero del cilindro de inicio para la particin. Nuestro administrador debe presionar ENTER aceptando
por defecto 3927 (el primer cilindro disponible).
Luego, fdisk pide el nmero de terminacin del cilindro.
Se pueden utilizar cuatro formatos diferentes al especificar el cilindro de terminacin.
m lista el (m)en de comandos
p im(p)rime la tabla de particin
n crea una (n)ueva particin
d borra la particin
t cambia el (t)ipo de la particin (Id)
q sale sin grabar cambios
w escribe cambios y sale
Command ( mf or hel p) : p

Di sk / dev/ hda: 120. 0 GB, 120034123776 byt es
240 heads, 63 sect or s/ t r ack, 15505 cyl i nder s
Uni t s = cyl i nder s of 15120 * 512 = 7741440 byt es

Devi ce Boot St ar t End Bl ocks I d Syst em
/ dev/ hda1 1 540 4082368+ b Wi n95 FAT32
/ dev/ hda2 * 541 3249 20480040 7 HPFS/ NTFS
/ dev/ hda3 3250 3926 5118120 83 Li nux

Command ( mf or hel p) : n
Command act i on
e ext ended
p pr i mar y par t i t i on ( 1- 4)
Sel ect ed par t i t i on 4
Fi r st cyl i nder ( 3927- 15505, def aul t 3927) : ENTER
Usi ng def aul t val ue 3927
Last cyl i nder or +si ze or +si zeM or +si zeK ( 3927- 15505, def aul t 15505) :
Formato Interpretacin
Puesto que la particin extendida es una particin primaria, ser la cuarta particin primaria (y por ende la
ltima) en el disco. Dado que cualquier espacio de disco no includo en la particin extendida se volver
inaccesible, no hay razn para no utilizar el cilindro sugerido (el cual es el ltimo cilindro en el disco).
Nuestro administrador hace eso y luego imprime la nueva tabla de particin.
Contento con el resultado, procede a agregar una nueva particin de 512 megabytes. Puesto que todas las
particiones primarias estn en uso, fdisk no solicita el tipo de particin. Una particin lgica es el nico
tipo disponible.
Aunque solicit una particin de 512 megabytes, la particin resultante es cercana a 506 megabytes. Dado
que las particiones deben caer en lmites del cilindro y (para este dispositivo) un cilindro tiene un tamao
de 7.5 megabytes, fdisk hizo lo mejor que pudo.
n Uso del cilindro de terminacin n.
+n Uso del cilindro de inicio incrementado por n cilindros.
+nM Uso del cilindro de inicio incrementado por n megabytes, (una K final implica kilobytes).
ENTER
Use el valor predeterminado, el cual se escoge para hacer la particin resultante tan grande
como sea posible.
Usi ng def aul t val ue 15505

Command ( mf or hel p) : p

Di sk / dev/ hda: 120. 0 GB, 120034123776 byt es
240 heads, 63 sect or s/ t r ack, 15505 cyl i nder s
Uni t s = cyl i nder s of 15120 * 512 = 7741440 byt es

Devi ce Boot St ar t End Bl ocks I d Syst em
/ dev/ hda1 1 540 4082368+ b Wi n95 FAT32
/ dev/ hda2 * 541 3249 20480040 7 HPFS/ NTFS
/ dev/ hda3 3250 3926 5118120 83 Li nux
/ dev/ hda4 3927 15505 87537240 5 Ext ended

Command ( mf or hel p) :
La particin extendida recin agregada, la cual abarca el resto del dispositivo.
Command ( mf or hel p) : n

Fi r st cyl i nder ( 3927- 15505, def aul t 3927) : ENTER
Usi ng def aul t val ue 3927
Last cyl i nder or +si ze or +si zeM or +si zeK ( 3927- 15505, def aul t 15505) : +512M

Command ( mf or hel p) : p

Di sk / dev/ hda: 120. 0 GB, 120034123776 byt es
240 heads, 63 sect or s/ t r ack, 15505 cyl i nder s
Uni t s = cyl i nder s of 15120 * 512 = 7741440 byt es

Devi ce Boot St ar t End Bl ocks I d Syst em
/ dev/ hda1 1 540 4082368+ b Wi n95 FAT32
/ dev/ hda2 * 541 3249 20480040 7 HPFS/ NTFS
/ dev/ hda3 3250 3926 5118120 83 Li nux
/ dev/ hda4 3927 15505 87537240 5 Ext ended
/ dev/ hda5 3927 3993 506488+ 83 Li nux

Command ( mf or hel p) :
Al presionar ENTER, se acepta el cilindro de inicio por defecto.
La sintaxis +512M especifica que la particin debera ser de 512 megabytes (o lo ms cercano
posible).
La nueva particin lgica agregada.
Cambio de la etiqueta de una particin
Cuando f di sk agrega una particin, el Id de la particin se establece para "Linux" (apropiado para una
particin que contendr un sistema de archivos ext2 o ext3). Puesto que el administrador planea el uso de la
particin para espacio swap, puede establecer el Id de particin correctamente. Utiliza el comando t para
establecer el tipo de particin y especifica la particin apropiada. Aprovechando la habilidad para listar
todas las etiquetas conocidas, localiza la etiqueta apropiada de "Linux swap" y el cdigo hex, 82.
Agregar una segunda particin
El administrador procede a aadir una segunda particin.
Command ( mf or hel p) : t
Par t i t i on number ( 1- 5) : 5
Hex code ( t ype L t o l i st codes) : L

0 Empt y 1c Hi dden Wi n95 FA 70 Di skSecur e Mul t bb Boot Wi zar d hi d
1 FAT12 1e Hi dden Wi n95 FA 75 PC/ I X be Sol ar i s boot
2 XENI X r oot 24 NEC DOS 80 Ol d Mi ni x c1 DRDOS/ sec ( FAT-
3 XENI X usr 39 Pl an 9 81 Mi ni x / ol d Li n c4 DRDOS/ sec ( FAT-
4 FAT16 <32M 3c Par t i t i onMagi c 82 Li nux swap c6 DRDOS/ sec ( FAT-
5 Ext ended 40 Veni x 80286 83 Li nux c7 Syr i nx
6 FAT16 41 PPC PReP Boot 84 OS/ 2 hi dden C: da Non- FS dat a
7 HPFS/ NTFS 42 SFS 85 Li nux ext ended db CP/ M / CTOS / .
8 AI X 4d QNX4. x 86 NTFS vol ume set de Del l Ut i l i t y
9 AI X boot abl e 4e QNX4. x 2nd par t 87 NTFS vol ume set df Boot I t
a OS/ 2 Boot Manag 4f QNX4. x 3r d par t 8e Li nux LVM e1 DOS access
b Wi n95 FAT32 50 OnTr ack DM 93 Amoeba e3 DOS R/ O
c Wi n95 FAT32 ( LB 51 OnTr ack DM6 Aux 94 Amoeba BBT e4 SpeedSt or
e Wi n95 FAT16 ( LB 52 CP/ M 9f BSD/ OS eb BeOS f s
f Wi n95 Ext ' d ( LB 53 OnTr ack DM6 Aux a0 I BM Thi nkpad hi ee EFI GPT
10 OPUS 54 OnTr ackDM6 a5 Fr eeBSD ef EFI ( FAT- 12/ 16/
11 Hi dden FAT12 55 EZ- Dr i ve a6 OpenBSD f 0 Li nux/ PA- RI SC b
12 Compaq di agnost 56 Gol den Bow a7 NeXTSTEP f 1 SpeedSt or
14 Hi dden FAT16 <3 5c Pr i amEdi sk a8 Dar wi n UFS f 4 SpeedSt or
16 Hi dden FAT16 61 SpeedSt or a9 Net BSD f 2 DOS secondar y
17 Hi dden HPFS/ NTF 63 GNU HURD or Sys ab Dar wi n boot f d Li nux r ai d aut o
18 AST Smar t Sl eep 64 Novel l Net war e b7 BSDI f s f e LANst ep
1b Hi dden Wi n95 FA 65 Novel l Net war e b8 BSDI swap f f BBT
Hex code ( t ype L t o l i st codes) : 82
Changed syst emt ype of par t i t i on 5 t o 82 ( Li nux swap)

Command ( mf or hel p) : p

Di sk / dev/ hda: 120. 0 GB, 120034123776 byt es
240 heads, 63 sect or s/ t r ack, 15505 cyl i nder s
Uni t s = cyl i nder s of 15120 * 512 = 7741440 byt es

Devi ce Boot St ar t End Bl ocks I d Syst em
/ dev/ hda1 1 540 4082368+ b Wi n95 FAT32
/ dev/ hda2 * 541 3249 20480040 7 HPFS/ NTFS
/ dev/ hda3 3250 3926 5118120 83 Li nux
/ dev/ hda4 3927 15505 87537240 5 Ext ended
/ dev/ hda5 3927 3993 506488+ 82 Li nux swap

Command ( mf or hel p) :
La etiqueta de particin que antes era "Linux" ha cambiado a "Linux swap".
Deleting a Partition
Si el administrador comete un error o necesita suprimir una particin para crear espacio, la eliminacin de
una particin se hace directamente y se vera de la siguiente manera.
Hay un par de detalles que se deben observar.
1. Si se elimina una particin extendida, todas las particiones lgicas que contiene tambin se
borrarn.
2. Puesto que la informacin sobre el particionamiento para particiones lgicas se mantiene como una
lista enlazada, las particiones se deben enumerar de forma consecutiva. Si la particin nmero 5 de 7
es borrada, las particiones 6 y 7 se convertirn en particiones 5 y 6 (esto no sucede con las
particiones primarias).
Salida de fdisk
Al finalizar, hay dos maneras de salir de fdisk. Primero, el comando q se puede utilizar para
"abandonar"fdisk, abandonando todos los cambios. La utilidad fdisk no escribe ningn cambio hasta que
se le pide que lo haga, por lo tanto los usuarios pueden salir con seguridad en cualquier momento.
Con el comando w, fdisk"escribir" cambios y saldr. Esta es la forma normal de salir de fdisk llevando a
cabo cualquier correccin especficada.
Al salir, fdisk advierte que los cambios no surtirn efecto hasta el siguiente reinicio. Esto es una mentirilla.
El reinicio har que el cambio surta efecto pero tambin se puede hacer sin reiniciar con el comando
partprobe.
Command ( mf or hel p) : n
Fi r st cyl i nder ( 3994- 15505, def aul t 3994) : ENTER
Usi ng def aul t val ue 3994
Last cyl i nder or +si ze or +si zeM or +si zeK ( 3994- 15505, def aul t 15505) : +1024M

Command ( mf or hel p) : p

Di sk / dev/ hda: 120. 0 GB, 120034123776 byt es
240 heads, 63 sect or s/ t r ack, 15505 cyl i nder s
Uni t s = cyl i nder s of 15120 * 512 = 7741440 byt es

Devi ce Boot St ar t End Bl ocks I d Syst em
/ dev/ hda1 1 540 4082368+ b Wi n95 FAT32
/ dev/ hda2 * 541 3249 20480040 7 HPFS/ NTFS
/ dev/ hda3 3250 3926 5118120 83 Li nux
/ dev/ hda4 3927 15505 87537240 5 Ext ended
/ dev/ hda5 3927 3993 506488+ 82 Li nux swap
/ dev/ hda6 3994 4126 1005448+ 83 Li nux

Command ( mf or hel p) :
La particin recin aadida.
Command ( mf or hel p) : d
Par t i t i on number ( 1- 6) : 4
Command ( mf or hel p) : w
The par t i t i on t abl e has been al t er ed!

Cal l i ng i oct l ( ) t o r e- r ead par t i t i on t abl e.

WARNI NG: Re- r eadi ng t he par t i t i on t abl e f ai l ed wi t h er r or 16: Devi ce or r esour ce busy.
The ker nel st i l l uses t he ol d t abl e.
The new t abl e wi l l be used at t he next r eboot .
Synci ng di sks.
El administrador ejecuta partprobe para que el kernel relea la tabla de particiones y lleve a cabo los
cambios.
Ver particiones en /proc/partitions
Como una alternativa a fdisk -l (que slo root tiene permisos para ejecutar), el sistema de archivos
proc / pr oc/ par t i t i ons lista todas las particiones conocidas, al igual que todos los tamaos (en bloques
de 1024 bytes) y estadsticas de actividad.
Observe la importancia del nmero mayor y menor de cada particin (y disco) en la salida. El kernel de
Linux internamente identifica una particin por el nmero mayor y menor asociado con su controlador de
dispositivo, no por el nombre del nodo de dispositivo, un hecho que suele observarse en los mensajes de
error a nivel del kernel.
[root@station root]# partprobe
[root@station root]# cat /proc/partitions
maj or mi nor #bl ocks name

3 0 117220824 hda
3 1 4082368 hda1
3 2 20480040 hda2
3 3 5118120 hda3
3 64 78150744 hdb
3 65 72261 hdb1
3 66 2096482 hdb2
3 67 8289540 hdb3
3 69 30724281 hdb5
3 70 8385898 hdb6
3 71 28579603 hdb7
Linux Filesystem Management
Ejemplos
Particionamiento de un nuevo dispositivo
En este ejemplo, vemos que prince acaba de conectar un nuevo disco a su mquina. Quiere dividir
su nuevo disco en las siguientes particiones.
Tras el primer arranque de la mquina, despus de conectar el nuevo dispositivo, prince da una
lectura rpida a los mensajes de arranque del kernel para buscar pruebas del dispositivo recin
detectado. Infortunadamente, el kernel es demasiado rpido para su monitor, el cual no se
enciende con toda la intensidad hasta que los mensajes hayan pasado.
Una vez el sistema arranca, prince da una lectura rpida al archivo / var / l og/ dmesg, donde
encuentra las siguientes lneas.
Convencido de que su nuevo dispositivo se ha detectado correctamente, comienza a hacer la
particin del dispositivo con el comando fdisk. Primero imprime la tabla de particin con el
comando p.
Nmero Tamao Propsito
1 128 megas espacio swap
2 512 megas sistema de archivos ext2
3 512 megas sistema de archivos vfat
4 1024 megas sistema de archivos ext3
. . .
hda: Maxt or 51536H2, ATA DI SK dr i ve
hdb: ST310212A, ATA DI SK dr i ve
bl k: queue c03cdf e0, I / O l i mi t 4095Mb ( mask 0xf f f f f f f f )
bl k: queue c03ce124, I / O l i mi t 4095Mb ( mask 0xf f f f f f f f )
hdc: LTN485, ATAPI CD/ DVD- ROM dr i ve
i de0 at 0x1f 0- 0x1f 7, 0x3f 6 on i r q 14
i de1 at 0x170- 0x177, 0x376 on i r q 15
hda: at t ached i de- di sk dr i ver .
hda: host pr ot ect ed ar ea => 1
hda: 29336832 sect or s ( 15020 MB) w/ 2048Ki B Cache, CHS=1940/ 240/ 63, UDMA( 66)
hdb: at t ached i de- di sk dr i ver .
hdb: host pr ot ect ed ar ea => 1
hdb: 20005650 sect or s ( 10243 MB) w/ 512Ki B Cache, CHS=1323/ 240/ 63, UDMA( 66)
i de- f l oppy dr i ver 0. 99. newi de
. . .
Como era de esperar, la tabla de particin est vaca. Al seguir aade su primera particin, la nica
interaccin realmente interesante es cuando l especifica el tamao de particin con +128M.
Puesto que la particin se va a utilizar como espacio de intercambio, prince cambia la etiqueta de
particin al cdigo apropiado para Linux Swap.
Las siguientes dos particiones se aaden directamente.
[root@station root]$ fdisk /dev/hdb

The number of cyl i nder s f or t hi s di sk i s set t o 1323.
Ther e i s not hi ng wr ong wi t h t hat , but t hi s i s l ar ger t han 1024,
and coul d i n cer t ai n set ups cause pr obl ems wi t h:
1) sof t war e t hat r uns at boot t i me ( e. g. , ol d ver si ons of LI LO)
2) boot i ng and par t i t i oni ng sof t war e f r omot her OSs
( e. g. , DOS FDI SK, OS/ 2 FDI SK)

Command ( mf or hel p) : p

Di sk / dev/ hdb: 10. 2 GB, 10242892800 byt es
240 heads, 63 sect or s/ t r ack, 1323 cyl i nder s
Uni t s = cyl i nder s of 15120 * 512 = 7741440 byt es

Devi ce Boot St ar t End Bl ocks I d Syst em

Command ( mf or hel p) :
Command ( mf or hel p) : n
Command act i on
e ext ended
p pr i mar y par t i t i on ( 1- 4)
p
Par t i t i on number ( 1- 4) : 1
Fi r st cyl i nder ( 1- 1323, def aul t 1) : ENTER
Usi ng def aul t val ue 1
Last cyl i nder or +si ze or +si zeM or +si zeK ( 1- 1323, def aul t 1323) : +128M

Command ( mf or hel p) : p

Di sk / dev/ hdb: 10. 2 GB, 10242892800 byt es
240 heads, 63 sect or s/ t r ack, 1323 cyl i nder s
Uni t s = cyl i nder s of 15120 * 512 = 7741440 byt es

Devi ce Boot St ar t End Bl ocks I d Syst em
/ dev/ hdb1 1 18 136048+ 83 Li nux

Command ( mf or hel p) : t
Sel ect ed par t i t i on 1
Hex code ( t ype L t o l i st codes) : 82
Changed syst emt ype of par t i t i on 1 t o 82 ( Li nux swap)
Aunque prince slo desea agregar una particin ms ahora, dejar espacio sin asignar en el
dispositivo. Si fuera a utilizar su ltima particin primaria para el sistema de archivos ya no podra
hacer una particin extendida y el espacio restante se desaprovechara. En cambio, prince crea una
particin extendida para abarcar el resto del dispositivo y luego agrega su nueva particin como
una particin lgica dentro de sta.
Satisfecho con su trabajo, escribe y sale.
Command ( mf or hel p) : n
Command act i on
e ext ended
p pr i mar y par t i t i on ( 1- 4)
p
Par t i t i on number ( 1- 4) : 2
Fi r st cyl i nder ( 19- 1323, def aul t 19) : ENTER
Usi ng def aul t val ue 19
Last cyl i nder or +si ze or +si zeM or +si zeK ( 19- 1323, def aul t 1323) : +512M

Command ( mf or hel p) : n
Command act i on
e ext ended
p pr i mar y par t i t i on ( 1- 4)
p
Par t i t i on number ( 1- 4) : 3
Fi r st cyl i nder ( 86- 1323, def aul t 86) : ENTER
Usi ng def aul t val ue 86
Last cyl i nder or +si ze or +si zeM or +si zeK ( 86- 1323, def aul t 1323) : +512M

Command ( mf or hel p) : p

Di sk / dev/ hdb: 10. 2 GB, 10242892800 byt es
240 heads, 63 sect or s/ t r ack, 1323 cyl i nder s
Uni t s = cyl i nder s of 15120 * 512 = 7741440 byt es

Devi ce Boot St ar t End Bl ocks I d Syst em
/ dev/ hdb1 1 18 136048+ 82 Li nux swap
/ dev/ hdb2 19 85 506520 83 Li nux
/ dev/ hdb3 86 152 506520 83 Li nux
Command ( mf or hel p) : n
Command act i on
e ext ended
p pr i mar y par t i t i on ( 1- 4)
e
Sel ect ed par t i t i on 4
Fi r st cyl i nder ( 153- 1323, def aul t 153) : ENTER
Usi ng def aul t val ue 153
Last cyl i nder or +si ze or +si zeM or +si zeK ( 153- 1323, def aul t 1323) : ENTER
Usi ng def aul t val ue 1323

Command ( mf or hel p) : n
Fi r st cyl i nder ( 153- 1323, def aul t 153) : ENTER
Usi ng def aul t val ue 153
Last cyl i nder or +si ze or +si zeM or +si zeK ( 153- 1323, def aul t 1323) : +1024M

Command ( mf or hel p) : p

Di sk / dev/ hdb: 10. 2 GB, 10242892800 byt es
240 heads, 63 sect or s/ t r ack, 1323 cyl i nder s
Uni t s = cyl i nder s of 15120 * 512 = 7741440 byt es

Devi ce Boot St ar t End Bl ocks I d Syst em
/ dev/ hdb1 1 18 136048+ 82 Li nux swap
/ dev/ hdb2 19 85 506520 83 Li nux
/ dev/ hdb3 86 152 506520 83 Li nux
/ dev/ hdb4 153 1323 8852760 5 Ext ended
/ dev/ hdb5 153 285 1005448+ 83 Li nux

Command ( mf or hel p) :
Command ( mf or hel p) : w
The par t i t i on t abl e has been al t er ed!

Cal l i ng i oct l ( ) t o r e- r ead par t i t i on t abl e.
Synci ng di sks.
Linux Filesystem Management
Ejercicios en lnea
Specification
En este laboratorio, usted aadira dos particiones pequeas a un disco en su computador.
1. Utilice el comando fdisk -l para confirmar que su mquina tiene al menos 256 megabytes
asignados. Si su mquina tiene mltiples discos duros, el espacio debe existir en un solo
dispositivo. Cree el archivo ~/ l ab3. 1/ di sk que contenga el nombre del disco que utilizar
para este laboratorio como una referencia absoluta. Por ejemplo, si el disco que utilizar
es / dev/ hda, el archivo deber contener la palabra /dev/hda.
2. Utilice el comando fdisk para editar la tabla de particin del dispositivo. Observe que
tendr que utilizar su cuenta de root. Aada dos nuevas particiones, cada 128 megabytes de
tamao (o casi). Establezca el Id de particin de la primera particin recin aadida a Linux
Swap. El Id de particin de la segunda particin recin agregada debe parmanecer como
Linux. Las dos particiones nuevas deben ser las dos ltimas particiones en el dispositivo.
Salga de fdisk, almacenando los cambios.
3. Si es necesario, reinicie su mquina para que las nuevas particiones sean reconocidas por el
kernel antes de calificar su ejercicio.
Resultados
A title
Question 1

[Warning]
Lab Exercise
Objetivo: Utilizar fdisk para aadir nuevas particiones.
Tiempo estimado: 10 minutos.
1. El archivo ~/ l ab3. 1/ di sk que contenga el nombre del dispositivo que usted utiliz para
este laboratorio como una referencia absoluta. El nombre de dispositivo debera ser la
nica palabra en el archivo.
2. Lo siguiente en la ltima particin en la unidad especificada debera ser (casi) de 128
megabytes y tener un Id de particin de Linux Swap.
3. La ltima particin en el dispositivo especificado debera ser (casi) de 128 megabytes y
tener un Id de particin de Linux.
grade
Linux Filesystem Management
Discusin
Sistemas de archivos
En el nivel inferior, los nodos de dispositivo de bloque permiten el acceso a los discos y a las
particiones de disco como si fueran simplemente una gama de bytes (recuerde el mantra de Unix,
"todo es un archivo"). No obstante, cuando los usuarios de Linux almacenan informacin en discos,
prefieren utilizar las conceptos conocidos de archivos y directorios. De alguna manera, esta gama
de bytes que es una particin de disco debe estar hecha para actuar como el
directorio / home/ el vi s y los archivos que ste contiene.
El kernel de Linux implementa una capa de sistema de archivos virtual, la cual dicta que todo lo
que existe en un rbol de directorios, como por ejemplo, los archivos normales, directorios, nodos
de dispositivo y enlaces simblicos, debe tener una estructura uniforme que conste de los
siguientes elementos:
inodos
Los inodos almacenan todos los metadatos asociados con un archivo. Los metadatos de un
archivo es toda la informacin asociada con un archivo, excepto su nombre y contenido. Por
ejemplo, las propiedades, permisos y tiempo de modificacin se almacenan en el inodo. El
inodo mayormente proporciona la identidad del archivo.
dentries
Las dentries cuyo nombre se deriva del trmino en ingls "Directory Entries" (entradas de
directorio), contienen un nombre de archivo y una ubicacin dentro de la estructura del
directorio y asocian esta identidad con el inodo del archivo.
data
Por ltimo, cada archivo tiene una gama de bytes que constituyen su contenido y se conocen
como el inodo del archivo.
La estructura intermedia que se presenta en un disco o en una particin de disco que define un
fragmento de bytes que contiene dentries y otro fragmento de bytes que contiene los inodos cuyas
dentries hacen referencia y otro fragmento de bytes conteniendo datos cuyos inodos hacen
referencia, se conoce como sistema de archivos. En otros sistemas operativos la accin de
inicializacin del sistema de archivos en una particin particular se conoce como formatear la
particin. En Linux (y Unix) dicha accin se conoce simplemente como crear un sistema de
archivos.
Sistemas de archivos de Linux
El diseo del sistema de archivos es un problema general en la ingeniera informtica y se requiere
mucho tiempo y dedicacin para disear sistemas de archivos que equilibren la eficiencia, solidez,
capacidad y simplicidad apropiadas para cada situacin. Puesto que un sistema de archivos debe
estar estrechamente coordinado con el sistema operativo que lo respalda, la mayora de los
sistemas operativos slo admiten uno de dos sistemas de archivo considerados "nativos" en ese
sistema operativo.
En contraste, Linux respalda un gran nmero de sistemas de archivos, algunos de los cuales son
nativos de Linux, muchos de los cuales se comparten con otros sistemas operativos. El siguiente
cuadro contiene una lista parcial de sistemas de archivos compatibles con Linux.
Table 1. Sistemas de archivos soportados por Linux
Se podra agregar ms al cuadro, pero se espera que se haya planteado el punto que de las
caractersticas de Linux sirven para una variedad de sistemas de archivos. Si desea mayor
informacin puede comenzar con la pgina del manual fs(5). Examinaremos el sistema de archivos
ext2/ext3 y tambin nos familiarizaremos con otros del cuadro.
Creacin de sistemas de archivos
Antes de que un dispositivo de bloque se puede utilizar para almacenar archivos, se debe inicializar
con un sistema de archivos. En Red Hat Linux, se utiliza alguna variante del comando mkfs para
crear sistemas de archivos. Estos comandos tienden a residir en el directorio / sbi n.
Sistema
de
archivos
Comentarios
ext2
El sistema de archivos ext2 ("extendido 2") ha sido el sistema de archivos original de
Linux el cual aument su popularidad desde mediados de los noventa. El sistema de
archivos ext2 es el modelo alrededor del cual la capa del sistema de archivos virtual
est diseada y originariamente implementa casi todas las caractersticas esperadas
de un sistema de archivos en Linux.
ext3
El sistema de archivos ext3 ("extendido 3"), introducido alrededor del ao 2000, es
una extensin del sistema de archivos que admite registros por diarios. En cada
forma, el sistema de archivos ext3 es idntico al sistema de archivos ext2 y lo que se
dice acerca del uno se puede aplicar al otro. El sistema de archivos ext3 es el sistema
de archivos por defecto en Red Hat Enterprise Linux.
msdos
El sistema de archivos msdos es un sistema de archivos FAT utilizado por DOS y
WINDOWS. No es compatible con muchas caractersticas avanzadas como las
propiedades de archivo y permisos y los nombres de archivo constan de 8 caracteres
como mnimo con una extensin de 3 caracteres.
vfat
El sistema de archivos es una extensin del sistema de archivos de msdos, el cual
permite nombres de archivos largos.
nfs
El nfs "sistema de archivos de red" se utiliza para compartir directorios entre
mquinas Linux (y Unix). Una mquina exporta parte de su estructura de directorio
a travs de la red, que otra mquina puede importar a su estructura de directorio
local en el nivel del sistema de archivos.
smbfs
El sistema de archivos smbfs se utiliza para compartir directorios entre mquinas
Linux (y Unix) y Windows. Mediante smbfs, una mquina de Linux puede
incorporar un recurso compartido de Windows exportado a su estructura de
directorio local.
iso9660
El sistema de archivos iso9660 es un sistema de archivos de slo lectura muy
utilizado en los discos compactos.
proc
El sistema de archivos proc es un sistema de archivos virtual que reside en el kernel
(i.e. no hay disco duro asociado con el sistema de archivos).
reiserfs
El reiserfs es un sistema de archivos de diario alterno original de Linux y soportado
por Red Hat Enterprise Linux.
jfs
El jfs (del ingls "journaling filesystem") es un sistema de archivos de registro por
diario con muchas caractersticas empresariales originarias de mquinas IBM. El
sistema de archivos jfs se ha introducido recientemente a cdigo fuente y migrado a
Linux y est respaldado por Red Hat Enterprise Linux.
El comando mkfs es un comando frontal que espera ser llamado con la opcin -t, cuyo argumento
es el tipo de sistema de archivos para crear. Los otros comandos listados, que comienzan por mkfs.
son variantes de sistemas de archivos especficos para sistemas de archivos particulares. Por
ejemplo, mkfs -t ext2 y mkfs.ext2 son comandos equivalentes.
La inicializacin de una particin puede ser tan fcil como lo siguiente.
Todas las versiones de los comandos mkfs esperan algunas opciones y un primer argumento
requerido que es el archivo (particin) para estructurar. Tambin se puede utilizar un argumento
opcional, a veces utilizado como segundo argumento, el cual especifica el tamao del sistema de
archivos en bloques. El segundo argumento rara vez se utiliza porque, por defecto, el sistema de
archivos llenar toda la particin especificada o el disco. Aunque cualquiera tiene permisos para
ejecutar los comandos mkfs en la prctica, slo root tiene permisos para escribir los nodos de
dispositivo de bloque que se inicializan.
Creacin de sistemas de archivos ext 2: mke2fs
El sistema de archivos ms comn de Linux es el sistema de archivos ext2 o su primo cercano el
sistema de archivo ext3. Nuestra explicacin se centrar en el sistema de archivos ext2. Cerca de la
conclusin, hallaremos que todo lo que se dice acerca del sistema de archivos ext2 tambin se
aplica directamente al sistema de archivos ext3.
Ya que normalmente se utiliza el sistema de archivos ext2, existe otro comando sinnimo de
mkfs.ext2 conocido como mke2fs. Los comandosmke2fs, mkfs.ext y mkfs -t ext2 entregan
resultados idnticos.
Opciones
El siguiente cuadro especifica algunas de las opciones ms utilizadas del comando mke2fs.
Table 1. Opciones para el comando mke2fs
Las opciones introducen algunos conceptos de sistemas de archivos, los cuales se abordan a
continuacin.
[root@station root]# ls /sbin/mkfs.*
mkf s. cr amf s mkf s. ext 2 mkf s. ext 3 mkf s. msdos mkf s. vf at
[root@station root]# mkfs.ext2 /dev/hda6
Opcin Efecto
-b tamao de
bloque
Especifica el tamao en bloques del sistema de archivos en bytes, donde
tamao de bloque puede ser 1024, 2048 o 4096.
-c Busca bloques malos mientras crea el sistema de archivos.
-i densidad Especifica la densidad de un inodo de densidad bytes por inodo.
-L label Establece la etiqueta del volumen del sistema de archivos como label.
-m n Establece el porcentaje de bloque reservado a n.
-N nmero Especifica directamente el nmero de inodos.
-j Crea un diario de sistema de archivos
Etiquetas del sistema de archivos (-L)
Al igual que la mayora de sistemas de archivos, un sistema de archivos ext2 se puede etiquetar con
un identificador de cadena de texto, el cual tiene mximo 16 caracteres. Otros sistemas operativos
suelen referirse a esta etiqueta como un nombre de volumen(cuando se refieren a una particin
formateada con un sistema de archivos como un volumen ). Veremos que Red Hat Enterprise
Linux hace uso funcional de las etiquetas de sistemas de archivos.
Tamao de bloque (-b)
Anteriormente mencionamos de una forma ambigua la organizacin de sistema de archivos en
"fragmentos de bytes" como en "este fragmento de bytes almacena inodos, mientras que este
fragmento de bytes almacena dentries". Los fragmentos a los que nos referimos se llaman de una
manera ms apropiada bloques y cuando se crea un sistema de archivos se debe seleccionar un
tamao de bloque. El sistema de archivos ext2 admite tamaos de bloque de 1024, 2048 y 4096
bytes ("1k", "2k" y "4k", respectivamente).
El sistema de bloque establece la granularidad del sistema de archivos. Cuando hay un espacio en el
sistema de archivos para almacenar el contenido de un archivo en particular, el espacio se otorga
en bloques de tamao fijo del tamao de bloque especificado. Por ejemplo, si el tamao de bloque
fuera de 1024, entonces el almacenamiento de un archivo de 5000 bytes de datos requerira 5
bloques. El mismo archivo almacenado en un sistema de archivos con tamao de bloque de 4096
requiere 2 bloques. Una vez se ha asignado un bloque a un propsito particular, no puede utilizarse
para nada ms.
A primera vista, el tamao de un bloque parece resultar en espacio menos desperdiciado. En el
ejemplo anterior, el sistema de archivos con el tamao de bloque de 1k utiliza aproximadamente
1020 bytes (los restantes del quinto bloque), mientras que el sistema de archivos con un tamao de
bloque de 4k utiliza 4092 bytes (el resto del segundo bloque). Sin embargo, un tamao de bloque
ms pequeo requiere ms gasto de parte del sistema de archivos. Por ejemplo, el sistema de
archivos necesita mantener un cuadro interno de qu bloques se han utilizado y para qu propsito.
De nuevo, con relacin al ejemplo anterior, el sistema de archivos con un tamao de bloque de 1k
tiene que mantener el rastro de 5 bloques, mientras que el sistema de archivos con un tamao de
bloques de 4k slo mantiene el rastro de 2.
Como regla general, entre ms grande el sistema de archivos, ms grande el tamao de bloque. Por
defecto, mke2fs elige un tamao de bloque de 1k o 4k, dependiendo del tamao del sistema de
archivos que se est creando.
Inodos (-N o -i)
Cada archivo est directamente asociado con una estructura denominada inodo. Un inodo debe
existir para cada archivo en el sistema de archivos. Es necesario que el nmero de inodos que
contiene un sistema de archivos se especifique cuando se cree el sistema de archivos. Como el
nmero de inodos no se puede cambiar ms adelante, se debe tener cuidado al estimar el nmero
de inodos requeridos.
Por lo general, el comando mke2fs elige la configuracin predeterminada apropiada. Sin embargo,
en algunos casos el nmero de inodos se puede especificar directamente.
Cuando se espera que un sistema de archivos contenga una gran cantidad de archivos
pequeos, puede que se necesite aumentar el nmero de inodos o el sistema de archivos
puede agotarse.
Cuando se espera que el sistema de archivos contenga pocos archivos grandes, el exceso de
espacio asignado a los inodos sin utilizar quita espacio que se pudo utilizar para almacenar
datos. Como resultado, puede que se desee disminuir el nmero de inodos.
Hay dos formas de especificar el nmero de inodos. La opcin -N se puede utilizar para especificar
un nmero absoluto de inodos. Para situaciones en que se puede hacer una frase tal como "Este
sistema de archivos nunca contendr ms de 18.112 archivos", la opcin es correcta. En contraste la
opcin -i se utiliza para especificar una densidad de inodo en bytes por inodo. En la construccin
de un sistema de archivos, el comando mke2fs dividir el tamao total del sistema de archivos por
la densidad (o ms exactamente la densidad-inversa) para determinar el nmero de inodos. Para
situaciones donde se pueden hacer frases tales como "Espero que el tamao promedio de mi
archivo sea de 180 kilobytes", sta es la opcin correcta.
Bloques reservados
Por defecto, el sistema de archivos ext2 reserva el 5% de su espacio para el usuario root. Esta
caracterstica intenta dar al administrador un poco de flexibilidad en el caso de que un usuario en
el sistema accidentalmente (o intencionalmente) ocupe todo el sistema de archivos. La opcin -m
permite especificar el porcentaje de bloques que se van a reservar.
Examen de los sistemas de archivos con dumpe2fs
El comando dumpe2fs descarga en la salida estndar informacin de bajo nivel acerca de un
sistema de archivos ext2. En el siguiente ejemplo, el comando mke2fs se utiliza para crear un
sistema de archivos en la particin sda1 con opciones predeterminadas.
Cuando se crea el sistema de archivos, el comando mke2fs presenta detalles acerca del nuevo
sistema de archivos, incluyendo lo siguiente.
Despus de que el sistema de archivos ha sido creado, el comando dumpe2fs se utiliza para
examinar sus detalles. El comando dumpe2fs espera ser llamado con un slo argumento, el
nombre de un archivo (disco o particin) que contiene un sistema de archivos ext2.
[root@station root]# mke2fs /dev/sda1
mke2f s 1. 32 ( 09- Nov- 2002)
Fi l esyst eml abel =
OS t ype: Li nux
Bl ock si ze=1024 ( l og=0)
Fr agment si ze=1024 ( l og=0)
31744 i nodes, 126960 bl ocks
6348 bl ocks ( 5. 00%) r eser ved f or t he super user
Fi r st dat a bl ock=1
16 bl ock gr oups
8192 bl ocks per gr oup, 8192 f r agment s per gr oup
1984 i nodes per gr oup
Super bl ock backups st or ed on bl ocks:
8193, 24577, 40961, 57345, 73729

Wr i t i ng i node t abl es: done
Wr i t i ng super bl ocks and f i l esyst emaccount i ng i nf or mat i on: done

Thi s f i l esyst emwi l l be aut omat i cal l y checked ever y 39 mount s or
180 days, whi chever comes f i r st . Use t une2f s - c or - i t o over r i de.
La etiqueta del sistema de archivos especificado (en este caso, ninguno).
El tamao de bloque (escogido por mke2fs, si no se especifica en la lnea de comando). En
este caso 1024 bytes.
El nmero de inodos y bloques en el sistema de archivos.
Informacin ms detallada acerca del diseo del sistema de archivos ext2 se puede encontrar en
http://e2fsprogs.sourceforge.net.
[root@station root]# dumpe2fs /dev/sda1
dumpe2f s 1. 32 ( 09- Nov- 2002)
Fi l esyst emvol ume name: <none>
Last mount ed on: <not avai l abl e>
Fi l esyst emUUI D: dcf 63b6b- 157f - 4493- a257- 5221a44c37b9
Fi l esyst emmagi c number : 0xEF53
Fi l esyst emr evi si on #: 1 ( dynami c)
Fi l esyst emf eat ur es: f i l et ype spar se_super
Def aul t mount opt i ons: ( none)
Fi l esyst emst at e: cl ean
Er r or s behavi or : Cont i nue
Fi l esyst emOS t ype: Li nux
I node count : 31744
Bl ock count : 126960
Reser ved bl ock count : 6348
Fr ee bl ocks: 122934
Fr ee i nodes: 31733
Fi r st bl ock: 1
Bl ock si ze: 1024
Fr agment si ze: 1024
Bl ocks per gr oup: 8192
Fr agment s per gr oup: 8192
I nodes per gr oup: 1984
I node bl ocks per gr oup: 248
Fi l esyst emcr eat ed: Fr i Sep 26 17: 17: 53 2003
Last mount t i me: n/ a
Last wr i t e t i me: Fr i Sep 26 17: 17: 54 2003
Mount count : 0
Maxi mummount count : 39
Last checked: Fr i Sep 26 17: 17: 53 2003
Check i nt er val : 15552000 ( 6 mont hs)
Next check af t er : Wed Mar 28 18: 17: 53 2004
Reser ved bl ocks ui d: 0 ( user r oot )
Reser ved bl ocks gi d: 0 ( gr oup r oot )
Fi r st i node: 11
I node si ze: 128


Gr oup 0: ( Bl ocks 1- 8192)
Pr i mar y super bl ock at 1, Gr oup descr i pt or s at 2- 2
Bl ock bi t map at 3 ( +2) , I node bi t map at 4 ( +3)
I node t abl e at 5- 252 ( +4)
7927 f r ee bl ocks, 1973 f r ee i nodes, 2 di r ect or i es
Fr ee bl ocks: 266- 8192
Fr ee i nodes: 12- 1984
Gr oup 1: ( Bl ocks 8193- 16384)
Backup super bl ock at 8193, Gr oup descr i pt or s at 8194- 8194
. . .
La etiqueta del sistema de archivos de texto. La etiqueta est en blanco porque no se
especifica ninguna etiqueta en la lnea de comando mke2fs (con la opcin -L).
El sistema de archivos ext2 puede tener varias caractersticas habilitadas, las cuales se
listaran aqu.
El nmero de inodos en el sistema de archivo.
El nmero de bloques en el sistema de archivos. Al dividir este valor por el nmero de inodos
(hallados en la lnea anterior), encontramos que por defecto, el comando mke2fs incluy un
inodo para cada cuatro bloques.
El tamao de bloque, en este caso 1024 bytes ("1k"). Puesto que la particin era
relativamente pequea (126960 bloques en "1k" cada uno = cerca de 127 MB), el comando
mke2fs eligi el tamao de bloque ms pequeo.
Por ltimo, el comando mke2fs genera un registro de bloques libres y otra informacin para
cada uno de los grupos de bloque. La funcin de los grupos de bloque en el sistema de
archivos ext2 va ms all del alcance de esta discusin.
Caractersticas del sistema de archivos
Ahora utilizamos el comando dumpe2fs para examinar una particin / dev/ hda3 montada
actualmente.
En la salida anterior, un par de caractersticas del sistema de archivos merece atencin.
needs_recovery
Recuerde que en el cuaderno anterior, el kernel guarda en buffer toda la actividad de E/S asociada
con los dispositivos de bloque. Aunque esto ofrece un mejor rendimiento, si el kernel fuera a
apagarse por alguna razn antes de confirmar algunas escrituras pendientes de su memoria cach,
la informacin interna del sistema de archivos (i.e. qu bloques se utilizan y para qu propsito)
podra quedar en un estado inconsistente.
Cuando se monta un sistema de archivos (i.e. utilizado. Ampliaremos esto en una prxima leccin).
se pone una bandera needs_recovery. Si el sistema de archivos se desmonta a travs de tcnicas
normales, como cuando el sistema se apaga desde la lnea de comandos, el kernel tiene una
oportunidad de descartar sus escrituras pendientes en el disco y se suprime la bandera
needs_recovery. Sin embargo, si el sistema de archivos no se desmonta correctamente, como
cuando el sistema pierde poder o se apaga sin cerrarse, la banderaneeds_recovery nunca
desaparece. Cuando se utiliza (tras el reinicio, por ejemplo), se encontrar la bandera
needs_recovery y se har mantenimiento en el sistema de archivos.
has_journal
El comando mke2fs sutilmente menciona que este sistema de archivos ext2 tiene un registro de
diario asociado. Anteriormente, dijimos que el sistema de archivos ext3 es solo un sistema de
archivos ext2 con un diario de registro. Qu nos queda por concluir? Estamos utilizando el
comando dumpe2fs para examinar lo que es realmente un sistema de archivo ext3! De nuevo, el
sistema de archivos ext3 es apenas un sistema de archivos ext2 con una "caracterstica" agregada
de un diario de registro.
[root@station root]# dumpe2fs /dev/hda3
dumpe2f s 1. 32 ( 09- Nov- 2002)
Fi l esyst emvol ume name: /
Last mount ed on: <not avai l abl e>
Fi l esyst emUUI D: c6c6c0ec- 6430- 470d- b371- 754503e49f f 6
Fi l esyst emmagi c number : 0xEF53
Fi l esyst emr evi si on #: 1 ( dynami c)
Fi l esyst emf eat ur es: has_j our nal f i l et ype needs_r ecover y spar se_super
Def aul t mount opt i ons: ( none)
Fi l esyst emst at e: cl ean
Er r or s behavi or : Cont i nue
Fi l esyst emOS t ype: Li nux
I node count : 652800
Bl ock count : 1303273
Reser ved bl ock count : 65163
Fr ee bl ocks: 148316
Fr ee i nodes: 418518
Fi r st bl ock: 0
Bl ock si ze: 4096
Fr agment si ze: 4096
. . .
En este caso, al sistema de archivos se le ha dado una etiqueta de / .
Caractersticas del sistema de archivos. Veremos esto con ms detalles a continuacin.
El tamao de bloque de un sistema de archivos es 4.096 bytes.
El sistema de archivos de diario ext3
Sistemas de archivos de diario
Cul es la importancia del sistema de archivos de registro de diario? Un sistema de archivos de
registro de diario mantiene un registro de todas las transacciones a travs de un proceso ms
conocido como "guardado de cambios en dos fases". Cuando se escribe informacin en un disco, un
sistema de archivos de registro de diario utiliza un mtodo similar al siguiente:
1. El sistema de archivos escribe al registro de diario los detalles sobre la transaccin que se va
a realizar.
2. El sistema de archivos realiza la transaccin.
3. Tras completarla con xito, el sistema de archivos borra los detalles sobre la transaccin del
registro del diario.
Qu se obtiene de este trabajo adicional? Al igual que el registro del diario del capitn se utiliza
para contarle a los rescatadores lo que estaba sucediendo en el barco cuando el barco choc, el
registro de diario del sistema de archivos cuenta a las utilidades de reparacin del sistema de
archivos lo que el sistema de archivos iba a hacer cuando se present una falla en el sistema de
archivos.
Al reparar el sistema de archivos ext2, el cual no mantiene un registro de diario, la utilidad de
reparacin del sistema de archivos debe examinar todo el sistema de archivos, buscando cualquier
informacin de estructuracin interna, la cual est en un estado inconsistente. Para cada sistema
de archivo moderadamente grande (40 gigabytes, por ejemplo) este proceso puede durar varios
minutos.
En contraste, al reparar un sistema de archivos ext3, la utilidad de reparacin slo tiene que
centrarse en el registro de diario de transacciones pendientes. La utilidad de reparacin puede
entonces restablecer las estructuras internas de un sistema de archivos asociadas con estas
transacciones a un estado consistente y asumir que el resto del sistema de archivos est correcto.
La presencia de un registro de diario para guiar la utilidad de reparacin reduce dramticamente la
cantidad de tiempo necesario para comenzar a reutilizar un sistema de archivos daado.
Creacin de sistemas de archivos ext3
Cmo se crea un sistema de archivos ext3? Observe el cuadro anterior de las opciones ms
utilizadas para el comando mke2fs, la opcin -j se incluy sin explicacin. La opcin especifica
que la utilidad mke2fs debe incluir un registro de diario con un sistema de archivos ext2 recin
creado. En otras palabras, hacer un sistema de archivos ext3.
Como ventaja, tambin se proporciona el comando mkfs.ext3. El comando es un sinnimo para
mke2fs -j (o mkfs.ext2 -j o mkfs -t ext2 -j). Comparte todas las opciones con mke2fs.
Linux Filesystem Management
Ejemplos
Creacin de un sistema de archivos ext2
Al seguir configurando su nuevo disco, el usuario prince procede a crear su primer sistema de
archivos, el cual quiso que fuera un sistema de archivos ext2. Luego toma las siguientes decisiones
acerca de las especificaciones.
El sabe que va a utilizar el sistema de archivos para almacenar imgenes, por lo tanto decide
dar al sistema de archivos la siguiente etiqueta pics.
Como l es el nico usuario que por rutina utilizar la particin, decide no desperdiciar
espacio reservando los bloques para el usuario root y establece el porcentaje del bloque
reservado como 0.
Puesto que espera almacenar relativamente unos pocos archivos grandes, decide forzar el
tamao del bloque a 4.096 bytes.
Para estar seguro, hace que el comando mke2fs compruebe que no hay bloques
defectuosos antes de la creacin de un sistema de archivos.
Escribe las opciones apropiadas y ejecuta el comando mke2fs en la particin.
Para confirmar si el sistema de archivos se ha creado "de acuerdo con las especificaciones", ejecuta
el comando dumpe2fs cuya salida se presenta a continuacin.
[root@station root]# mke2fs -L pics -m 0 -b 4096 -c /dev/hdb2
mke2f s 1. 32 ( 09- Nov- 2002)
Fi l esyst eml abel =pi cs
OS t ype: Li nux
Bl ock si ze=4096 ( l og=2)
Fr agment si ze=4096 ( l og=2)
126720 i nodes, 126622 bl ocks
0 bl ocks ( 0. 00%) r eser ved f or t he super user
Fi r st dat a bl ock=0
4 bl ock gr oups
32768 bl ocks per gr oup, 32768 f r agment s per gr oup
31680 i nodes per gr oup
Super bl ock backups st or ed on bl ocks:
32768, 98304

Checki ng f or bad bl ocks ( r ead- onl y t est ) : done
Wr i t i ng i node t abl es: done
Wr i t i ng super bl ocks and f i l esyst emaccount i ng i nf or mat i on: done

Thi s f i l esyst emwi l l be aut omat i cal l y checked ever y 20 mount s or
180 days, whi chever comes f i r st . Use t une2f s - c or - i t o over r i de.

Todo parece estar correcto.
Creacin de un sistema de archivos vfat
La mquina del usuario prince es una mquina de inicio dual con Red Hat Enterprise Linux y
Windows XP. Su particin Windows est usando el sistema de archivos NTFS, el cual no es
respaldado por Red Hat Enterprise Linux. Puesto que quisiera poder compartir archivos entre los
dos sistemas operativos, prince hace una particin FAT que se puede ver desde los dos mundos.
Aunque sabe que el comando mkfs.vfat tiene varias opciones que se pueden utilizar para
especificar detalles de sistemas de archivos FAT, asume que la configuracin predeterminada es
apropiada y rpidamente crea la particin.
Al ver que no hay informacin que retorna del comando y sin conocer ninguno anlogo al comando
dumpe2fs para el sistema de archivos vfat, prince asume que todo sali bien y avanza.
Creacin de un sistema de archivos ext3
Por ltimo, prince va a crear un sistema de archivos ext3 para guardar toda su msica que ha sido
quemada del CD en el formato ogg vorbis. Decide etiquetar el sistema de archivos ogg de modo
apropiado. Sabe que pudo haber utilizado el comando mkfs.ext3, pero debido a que sus dedos
tienen la costumbre de teclear mke2fs. Agrega la opcin -j para que el archivo resultante sea ext3.
[root@station root]# dumpe2fs /dev/hdb2
dumpe2f s 1. 32 ( 09- Nov- 2002)
Fi l esyst emvol ume name: pi cs
Last mount ed on: <not avai l abl e>
Fi l esyst emUUI D: dbc2276d- 3393- 4f 75- 9e1b- e6d114e87e53
Fi l esyst emmagi c number : 0xEF53
Fi l esyst emr evi si on #: 1 ( dynami c)
Fi l esyst emf eat ur es: f i l et ype spar se_super
. . .
I node count : 126720
Bl ock count : 126622
Reser ved bl ock count : 0
. . .
Bl ock si ze: 4096
. . .
[root@station root]# mkfs.vfat /dev/hdb3
mkf s. vf at 2. 8 ( 28 Feb 2001)
De nuevo, confirma el resultado con el comando dumpe2f s.
Viendo algunos signos que el registro de diario fue creado, prince est satisfecho que el sistema de
archivos sea un sistema de archivos ext3.
[root@station root]# mke2fs -j -c -L ogg /dev/hdb5
mke2f s 1. 32 ( 09- Nov- 2002)
Fi l esyst eml abel =ogg
OS t ype: Li nux
Bl ock si ze=4096 ( l og=2)
Fr agment si ze=4096 ( l og=2)
125696 i nodes, 251362 bl ocks
12568 bl ocks ( 5. 00%) r eser ved f or t he super user
Fi r st dat a bl ock=0
8 bl ock gr oups
32768 bl ocks per gr oup, 32768 f r agment s per gr oup
15712 i nodes per gr oup
Super bl ock backups st or ed on bl ocks:
32768, 98304, 163840, 229376

Checki ng f or bad bl ocks ( r ead- onl y t est ) : done
Wr i t i ng i node t abl es: done
Cr eat i ng j our nal ( 4096 bl ocks) : done
Wr i t i ng super bl ocks and f i l esyst emaccount i ng i nf or mat i on: done

Thi s f i l esyst emwi l l be aut omat i cal l y checked ever y 27 mount s or
180 days, whi chever comes f i r st . Use t une2f s - c or - i t o over r i de.
[root@station root]# dumpe2fs /dev/hdb5
dumpe2f s 1. 32 ( 09- Nov- 2002)
Fi l esyst emvol ume name: ogg
Last mount ed on: <not avai l abl e>
Fi l esyst emUUI D: 7c82a031- a594- 4579- a63f - f b28972bcf c8
Fi l esyst emmagi c number : 0xEF53
Fi l esyst emr evi si on #: 1 ( dynami c)
Fi l esyst emf eat ur es: has_j our nal f i l et ype spar se_super
. . .
I node count : 125696
Bl ock count : 251362
Reser ved bl ock count : 12568
. . .
Bl ock si ze: 4096
. . .
J our nal UUI D: <none>
J our nal i node: 8
J our nal devi ce: 0x0000
. . .
Linux Filesystem Management
Ejercicios en lnea
Specification
Este ejercicio de laboratorio continuar usando la particin creada en el ejercicio de laboratorio
anterior. Asegrese que el archivo ~/ l ab3. 1/ di sk an exista y que an se refiera al dispositivo
correcto.
Crear un sistema de archivos ext2 en la ltima particin creada en el ejercicio anterior. El sistema
de archivos debera cumplir con los siguientes criterios:
1. El sistema de archivos debera tener la etiqueta lab3.2.
2. El sistema de archivos debe tener un tamao de bloque de 2.048 bytes.
3. El sistema de archivos debera tener exactamente 24.000 inodos (o tan cerca de 24.000
como sea posible).
Resultados
A title
Question 1

[Warning]
Lab Exercise
Objetivo: Crear una nueva particin ext2.
Tiempo estimado: 10 minutos.
1. La ltima particin en el dispositivo especificada en el archivo ~/ l ab3. 1/ di sk debe ser
formateada con un sistema de archivos ext2, cuya etiqueta es tiene un tamao de bloque de
2.048 y tiene (cerca de) 24.000 inodos.
grade
Discusin
Montaje de sistemas de archivos
En Linux (y Unix), los sistemas de archivos estn combinados en un slo rbol de
directorio mediante un concepto denominado montaje. Cada sistema de archivos
proporciona un directorio raz el cual sirve como base del sistema de archivos. Cuando
se monta un sistema de archivos, su directorio raz est vinculado a un directorio ya
existente en el rbol de directorios del sistema conocido como el punto de montaje para
el sistema de archivos. Cada vez que se haga referencia al punto de montaje, el
directorio raz del sistema de archivos montado se presentar en su lugar.
Mientras elaboramos el concepto de montaje, continuemos usando el dispositivo IDE
presentado en nuestra discusin sobre particionamiento.
Figure 1. Particionamiento para el dispositivo /dev/hda

La particin raz
Puesto que el punto de montaje debe ser un directorio ya existente, el primer montaje es
especial y realizado por el kernel directamente en el inicio. Este primer sistema de
archivos se conoce como la particin raz y el directorio raz de la particin raz se
convierte en el directorio raz del rbol de directorios,"/". En el ejemplo anterior, la
particin / dev/ hda5 se utiliza como la particin raz.
Figure 1. La particin raz /dev/hda5

El sistema de archivos contiene un directorio raz y subdirectorios conocidos tales como
/ et c, / home y / boot . Si se desea. la particin raz podra servir como el nico sistema
de archivos de la mquina. Los directorios anteriores contienen subdirectorios y los
subdirectorios a su vez contienen subdirectorios, para que cada archivo en el sistema sea
almacenado en este nico sistema de archivos. Para estaciones de trabajo sencillas, ste
puede ser el diseo apropiado.
"Particionamiento " de partes del rbol de directorios
En la prctica, los administradores de Linux (y Unix) a menudo prefieren componer su
rbol de directorios del sistema de las mltiples particiones. En el ejemplo anterior, la
particin / dev/ hda6 se conoce como la particin / home puesto que se intenta montar el
sistema de archivos al directorio / home en el rbol de directorios. En el siguiente
diagrama, examinamos el contenido del sistema de archivos.
Figure 1. El sistema de archivos /dev/hda6

El sistema de archivos tiene su propio directorio raz y subdirectorios tales como
/ bl ondi e, / el vi s, etc. Cuando se montan en el directorio / home, el punto de montaje
/ home se vincula al directorio raz del sistema de archivos / dev/ hda6.
Figure 2. El sistema de archivos montados/dev/hda6 en /home

Una vez montados, todas las referencias al directorio / home ya no se ve el contenido del
directorio / home en la particin / dev/ hda5, sino el directorio raz de la particin
/dev/hda6. Para el usuario final, el efecto no es perceptible. Cuando el usuario pide un
ls de / home l ve los directorios el vi s, madonna, etc.
El proceso puede continuar tanto como se desee. El siguiente diagrama refleja todo el
rbol de directorios ensamblado para el dispositivo IDE anterior, con el sistema de
archivos / dev/ hda6 montado para / home, el sistema de archivos / dev/ hda7 montado
para / var y el sistema de archivos / dev/ hda8 montado para / var / f t p/ pub. Todos los
nombres de archivos se listan relativos al directorio raz del sistema de archivos que los
contiene.
Figure 3. El rbol de directorios completamente ensamblado

A menudo, el usuario final, que podra pedir un md5sum del archivo
/ var / f t p/ pub/ i mages/ boot di sk. i mg, no se da cuenta que su referencia absoluta
atraviesa tres particiones diferentes.
Note

En el diagrama del dispositivo IDE y en nuestra explicacin, nos hemos referido a
la particin / dev/ hda6 como la particin "/home". Se debe resaltar el hecho que
el directorio / home no exista en el sistema de archivos / dev/ hda6. El sistema de
archivos slo se conoce como la particin / home porque se intenta montar en el
directorio / home. Puede ser tan fcilmente montada en el directorio / et c,
resultando en un rbol de directorios que contiene los directorios / et c/ bl ondi e,
/ et c/ el vi s, etc (esto es posible, pero no se desea).
Montaje de sistemas de archivos con el comando mount
Los sistemas de archivos se montan con el comando mount. Por lo general, solo root
puede montar sistemas de archivos. El siguiente ejemplo del comando mount ilustra la
sintaxis general.
[root@station root]# mount -t ext2 -o noatime,noexec /dev/sda1 /home
Cada ejecucin del comando mount debe de alguna manera resolver las siguientes
preguntas.
1. Qu dispositivo est siendo montado? El primer argumento especifica el
nombre del dispositivo de bloque que va a ser montado.
2. Con qu sistema de archivos est formateado el dispositivo? El sistema de
archivos se puede especificar con la opcin -t.
3. En dnde se debe montar el dispositivo? El segundo argumento especifica el
directorio ya existente que debe servir como punto de montaje para el sistema de
archivos.
4. Hay otras opciones que se deban asociar con el sistema de archivos montado?
Las opciones de montaje generalmente se especifican con la opcin -o. En el
ejemplo anterior, el sistema de archivos montado no registrar tiempos de acceso
al archivo y no interpretar ninguno de los archivos como comandos a ejecutar.
Listado de todos los dispositivos montados
Cuando el comando mount se llama sin argumentos, listar todos los sistemas de
archivos montados junto con las respuestas a las cuatro preguntas anteriores.
[root@station root]# mount
/ dev/ hda3 on / t ype ext 3 ( r w)
none on / pr oc t ype pr oc ( r w)
usbdevf s on / pr oc/ bus/ usb t ype usbdevf s ( r w)
/ dev/ hda1 on / boot t ype ext 3 ( r w)
none on / dev/ pt s t ype devpt s ( r w, gi d=5, mode=620)
none on / dev/ shmt ype t mpf s ( r w)
/ dev/ sda1 on / home t ype ext 2 ( r w, noexec, noat i me)
Atajos del tipo del sistema de archivos
Si el tipo de sistema de archivos no est especificado, el comando mount consultar el
archivo / et c/ f i l esyst ems para obtener / et c/ f i l esyst ems una lista de los sistemas
de archivos propuestos.
[root@station root]# cat /etc/filesystems
ext 3
ext 2
nodev pr oc
nodev devpt s
i so9660
vf at
hf s
Al montar uno de estos tipos de sistemas de archivos, el sistema de archivos no necesita
especificarse manualmente.
Opciones de montaje
El kernel de Linux admite las siguientes opciones de montaje, las cuales por diseo son
genricas para cualquier sistema de archivos. En la prctica, algunos sistemas de
archivos ignoran algunas de las opciones. La mayora de las opciones de montaje se
implementan como opciones complementarias tales como exec y noexec. Dichas
opciones binarias se presentan en parejas en el siguiente cuadro.
Table 1. Opciones de montaje de Linux
Opcin Efecto
ro, rw
La opcin ro especifica que el sistema de archivos se debera montar slo de
lectura. Los parmetros internos del sistema de archivos (tales como un
conteo de montaje o el tiempo de montaje) tampoco se modifican. Por
defecto es rw.
(a)sync
La opcin sync especifica que todas las transacciones deben tener lugar
sincrnicamente, i.e. las escrituras deben evitar el cach del kernel. Aunque
esta opcin ofrece mayor integridad (las transacciones se escriben en el disco
inmediatamente) puede degradar el rendimiento del sistema en trminos
generales. El valor predeterminado es async. Esta opcin es compatible
actualmente con los sistemas de archivos ufs y ext2/ext3.
(no)atime
La opcin noatime especifica que los tiempos de acceso al archivo no se
deben mantener. Cuando se registran los tiempos de acceso, cada lectura
efectiva se convierte en una escritura (porque el atime del inodo requiere
actualizarse). Si los tiempos de acceso no se consideran importantes, el
rendimiento del sistema se puede mejorar al ignorarlos. Tambin resulta til
en los equipos porttiles, esta opcin puede impedir que el dispositivo "gire"
sin necesidad. Por defecto es atime.
(no)dev
La opcin nodev especifica que ninguno de los archivos dentro del sistema
de archivos se deben interpretar como nodos de dispositivo. Por defecto es
dev.
(no)exec
La opcin noexec especifica que ninguno de los archivos dentro del sistema
de archivos se debe interpretar como comandos ejecutables. Por defecto es
exec.
(no)suid
La opcin nosuid especifica que el bit de permiso suid no se debera atribuir
en ningn archivo dentro del sistema de archivos. El bit suid permite a los
scripts aumentar los privilegios tras la ejecucin y se utiliza para implementar
puertas de captura en sistemas comprometidos. Por defecto es suid.
Adems, la mayora de los sistemas de archivos admiten opciones de montaje para ese
sistema de archivos. Consulte la pgina del manual mount(8) para obtener mayores
detalles.
En la prctica, las opciones predeterminadas suelen ser apropiadas y el comando mount
se llama a menudo con slo dos argumentos como se indica a continuacin.
[root@station root]# mount /dev/sda1 /home
Desmonte de sistemas de archivos con el comando umount
Los sistemas de archivos se desmontan con el comando umount. El comando umount
espera ser llamado con un solo argumento, el cual puede ser un nombre de dispositivo o
el punto de montaje asociado con el montaje. Cualquiera de los dos comandos a
continuacin intentaran desmontar la particin / dev/ sda1 desde el directorio / home.
[root@station root]# umount /home
[root@station root]# umount /dev/sda1
Aunque simple en concepto, una complicacin suele ayudar a frustrar el intento de
desmontar dispositivos:
[root@station home]# umount /home
umount : / home: devi ce i s busy
El comando umount slo desmontar sistemas de archivos que no estn "ocupados".
Un sistema de archivos se considera "ocupado" si cualquier proceso tiene un archivo
abierto en el sistema de archivos o cualquier proceso tiene un directorio dentro del
sistema de archivos como su directorio de trabajo actual. Antes de desmontar el sistema
de archivos, el proceso que est ocupndolo se debe rastrear y matar (o convencerlo de
que libere los archivos y o directorios que est reclamando).
Uso de fuser o lsof para rastrear procesos.
Afortunadamente, un comando est diseado justo con ese propsito en mente. El
comando fuser lista los IDs de procesos, los cuales estn de alguna manera utilizando
un archivo. Ms importante an para nuestros propsitos, si el comando fuser se llama
con la opcin -m, listar todos los procesos que estn utilizando archivos en cualquier
parte del sistema de archivos que contiene el archivo especificado.
[root@station home]# fuser -m /home
/ home: 1912c
En este caso, el ID del proceso 1912 tiene un directorio de trabajo actual dentro de un
sistema de archivos especificado. La observacin del intrprete de comandos bash
implica que el ID probablemente pertenece a la shell misma. Al cambiar directorios
"fuera de " la particin /home se puede desmontar el dispositivo.
[root@station home]# cd
[root@station root]# umount /home/
El comando lsof (para "liste los archivos abiertos") ofrece una alternativa para fuser.
Cuando se invoca en un directorio que sirve como punto de montaje, lsof lista cada
archivo abierto dentro del sistema de archivos.
[root@station6 foo]# lsof /home
COMMAND PI D USER FD TYPE DEVI CE SI ZE NODE NAME
bash 1912 r oot cwd DI R 3, 5 1024 12049 / home
l sof 15612 r oot cwd DI R 3, 5 1024 12049 / home
l sof 15613 r oot cwd DI R 3, 5 1024 12049 / home
El comando lsof es muy verstil y es una buena herramienta para tener a su disposicin,
pero en este punto vale la pena mencionar este uso.
Remontar particiones con mount -o remount
El comando mount tambin sirve para asociar nuevas opciones de montaje con
particiones que ya estn montadas. Al remontar particiones, el comando mount debe
llamarse con la opcin remount, combinada con cualquiera de las nuevas opciones que
deben estar asociadas con el sistema de archivos. Considere el siguiente ejemplo.
[root@station root]# date > /home/foo
[root@station root]# mount -o remount,ro /home
[root@station root]# date > /home/foo
- bash: / home/ f oo: Read- onl y f i l e syst em
[root@station root]# mount -o remount,rw /home
[root@station root]# date > /home/foo

Linux Filesystem Management
Ejemplos
Creacin de puntos de montaje
Continuando con su trabajo del ejemplo anterior, prince decide crear los siguientes puntos de
montaje para sus tres sistemas de archivos:
Su primer paso es crear los directorios necesarios.
Luego, monta sus nuevas particiones, una por una. Dado que est utilizando los tipos del sistema
de archivos estndar, no necesita especificar los tipos de sistemas de archivo para el mount
command.
Despus de realizar el montaje, prince decide proteger el sistema de archivos vfat hasta poder
confirmar que est bien despus de reiniciar en Windows XP. Decide agregar la opcin de montaje
ro.
Particin Tamao Sistema de archivos Punto de montaje
/ dev/ hdb2 512 megabytes ext2 /picts
/ dev/ hdb3 512 megabytes vfat /dosd
/ dev/ hdb5 1024 megabytes ext3 /ogg
[root@station root]# mkdir /picts /dosd /ogg
[root@station root]# mount /dev/hda6 /picts/
[root@station root]# mount /dev/hda7 /dosd
[root@station root]# mount /dev/hda8 /ogg
[root@station root]# mount
/ dev/ hda6 on / t ype ext 3 ( r w)
none on / pr oc t ype pr oc ( r w)
usbdevf s on / pr oc/ bus/ usb t ype usbdevf s ( r w)
/ dev/ hda7 on / var / f t p/ pub t ype ext 3 ( r w)
/ dev/ hda5 on / home t ype ext 3 ( r w)
none on / dev/ pt s t ype devpt s ( r w, gi d=5, mode=620)
none on / dev/ shmt ype t mpf s ( r w)
/ dev/ hdb2 on / pi ct s t ype ext 2 ( r w)
/ dev/ hdb3 on / dosd t ype vf at ( r w)
/ dev/ hdb5 on / ogg t ype ext 3 ( r w)
[root@station root]# mount -o remount,ro /dosd
[root@station root]# mount
. . .
/ dev/ hdb2 on / pi ct s t ype ext 2 ( r w)
/ dev/ hdb3 on / dosd t ype vf at ( r o)
/ dev/ hdb5 on / ogg t ype ext 3 ( r w)
Linux Filesystem Management
Ejercicios en lnea
Specification
Este ejercicio de laboratorio continuar usando el sistema de archivos creado en el ejercicio de
laboratorio anterior. Asegrese que el archivo ~/ l ab3. 1/ di sk an exista y que an haga
referencia al dispositivo apropiado. La ltima particin del dispositivo debera tener un sistema de
archivos ext2 formateado correctamente.
1. Crear el directorio / l ab3 que servira de punto de montaje para su particin.
2. Montar la ltima particin en el dispositivo especificado en el directorio / l ab3 con las
opciones de montaje noexec y noatime.
Resultados
A title
Question 1

[Warning]
Lab Exercise
Objetivo: Montar un sistema de archivos ext2 en un directorio
especificado con las opciones de montaje apropiadas.
Tiempo estimado: 10 minutos.
1. La ltima particin en el dispositivo especificado en el archivo ~/ l ab3. 1/ di sk se debe
montar en el directorio / l ab3 con las opciones noexec y noatime.
grade
Linux Filesystem Management
Discusin
En la leccin anterior, el comando mount se present requiriendo dos argumentos: el dispositivo
para montar y el punto de montaje al cual montarlo. Sin embargo, los atajos suelen tomarse con el
comando mount, como en los siguientes 3 ejemplos.
Cada vez que el comando mount se llama sin informacin busca un "cuadro de sistema de
archivos" para ofrecer ms: el archivo / et c/ f st ab.
La sintaxis de los archivos /etc/fstab
El siguiente archivo / et c/ f st ab podra encontrarse en la mquina con el dispositivo IDE de
nuestra leccin anterior.
Cada columna del archivo est separada por una combinacin de espacio en blanco (generalmente,
espacios y/o tabuladores). Cada fila define un montaje, con las primeras cuatro columnas
directamente contestando las cuatro preguntas asociadas con cada montaje en la leccin anterior:
qu, dnde, con qu sistema de archivos y cmo. Las ltimas dos columnas son ms sutiles y se
describen en el cuadro de arriba.
Table 1. Formato del archivo /etc/fstab
[root@station root]# mount /mnt/floppy
[root@station root]# mount /dev/fd0
[root@station root]# mount -a
[root@station root]# cat /etc/fstab
/ dev/ hda5 / ext 3 def aul t s 1 1
/ dev/ hda6 / home ext 3 def aul t s 1 2
/ dev/ hda7 / var ext 3 def aul t s 1 2
/ dev/ hda8 / var / f t p/ pub ext 3 def aul t s 1 2
/ dev/ hda3 / boot ext 3 def aul t s 1 2
none / dev/ pt s devpt s gi d=5, mode=620 0 0
none / pr oc pr oc def aul t s 0 0
none / sys sysf s def aul t s 0 0
none / dev/ shm t mpf s def aul t s 0 0
/ dev/ hda2 swap swap def aul t s 0 0
/ dev/ hdc / medi a/ cdr om i so9660 pamconsol e, f scont ext =sys
t em_u: obj ect _r : r emovabl e_t , exec, noaut o, managed 0 0
/ dev/ f d0 / medi a/ f l oppy aut o pamconsol e, f scont ext =sys
t em_u: obj ect _r : r emovabl e_t , exec, noaut o, managed 0 0
Columna Ejemplo Role
1 / dev/ hda6 Qu dispositivo (disco, particin u otra cosa) se va a montar?
2 / home El punto de montaje asociado con el montaje.
3 ext3
El sistema de archivos espera encontrar un dispositivo o la palabra
clave "auto" que significa que el sistema de archivos se debe
detectar automticamente.
Cada vez que el comando mount se llama con solo un punto de montaje o con slo un dispositivo,
como su nico argumento, busca una lnea coincidente / et c/ f st ab dentro del archivo para suplir
la informacin restante. Ejemplos de estos comandos se han dado anteriormente. Observe la
referencia al archivo / et c/ f st ab cuando el siguiente comando mount se queja.
El comando mount -a especifica montar "todo". El comando / et c/ f st ab lee lnea por lnea y
realiza los montajes apropiados. El comando mount -a se ejecuta como parte del sistema de
arranque.
Opciones de montaje relevantes al archivo /etc/fstab
La siguientes opciones, aunque se documentan en la pgina del manual mount(8), slo tienen
sentido al utilizarlas en el archivo / et c/ f st ab.
Table 1. Opciones de montaje relevantes al archivo /etc/fstab
4 predeterminados
Una lista separada por comas de opciones para asociar con el
montaje, como se especificara con la opcin -o en el comando
mount.
5 0
Utilizado por el comando dump para determinar si esta particin
se debe archivar al realizar copias de seguridad. La utilidad dump
rara vez se utiliza.
6 2
El orden "fsck". En el sistema de arranque, el comando fsck
"revisin del sistema de archivos" se ejecuta en cada sistema de
archivos identificado. Hay tres valores importantes para este
campo: 1 (reservado para la particin raz), 2 (para todas las
particiones que van a ser revisadas a excepcin de la particin raz)
y 0 (para las particiones que no se deben fsck en el arranque).
[root@station root]# mount /foo
mount : can' t f i nd / f oo i n / et c/ f st ab or / et c/ mt ab
Opcin Efecto
predeterminados
Utilice las opciones: rw, suid, dev, exec, auto, nouser y async (la palabra
predeterminados tiene el mismo efecto cuando no se especifican opciones, pero
algo debe mantener el lugar de la cuarta columna en el archivo / et c/ f st ab.)
(no)auto
La opcin noauto especifica que la particin not se debera montar al ejecutar
mount -a. Esta opcin se usa generalmente en las lneas que definen los
puntos de montaje para medios temporales tales como disquetes, CD-ROM y
dispositivos USB.
user
Por defecto, solo root puede realizar montajes. La opcin user especifica que
cualquier persona puede realizar el montaje predefinido.
pamconsole
Similar a user, la opcin pamconsole especifica que cualquier persona sentada
fsicamente frente a la mquina puede ser capaz de montar el dispositivo (en
contraste con alguien que est usando una conexin de red remota).
managed
Esta opcin no tiene ningn efecto, sino servidores para etiquetar lneas que
fueron agregadas automticamente por la utilidad de deteccin de hardware
(udevd). Si un administrador desea que estas lneas sean parte permanente del
archivo / et c/ f st ab, simplemente debe suprimir la opcin managed. Esta
opcin es especfica de Red Hat Enterprise Linux.
Especificar dispositivos por etiqueta de sistemas de archivos
El ejemplo anterior de un archivo / et c/ f st ab se puede encontrar en la mayora de las versiones
de Unix y tambin funcionara en Linux. El archivo predeterminado / et c/ f st ab en Red Hat
Enterprise Linux, aprovecha una caracterstica adicional del comando mount de Linux. En Red
Hat Enterprise Linux, el mismo archivo probablemente se vera como el siguiente, donde las nicas
diferencias se presentan en la primera columna.
Al explicar el comando mke2f s, mencionamos que Red Hat Enterprise Linux hace uso funcional de
las etiquetas del sistema de archivos. En lugar de especificar directamente un dispositivo, el
dispositivo puede ser especificado por la etiqueta del sistema de archivos. Piense en la segunda
lnea diciendo "examine todos los sistemas de archivos conocidos y monte el que tiene la etiqueta
"home" en el directorio / home.
Por convencin, Anaconda (el instalador de Red Hat Enterprise Linux) etiqueta los sistemas de
archivos por su punto de montaje previsto. De esta forma, el sistema de archivos internamente
"sabe" dnde se pretende montar. No obstante, como la cuarta lnea de arriba lo indica, sta es
solamente una convencin. Cualquier etiqueta ser suficiente.
Por qu Red Hat Enterprise Linux agrega este nivel adicional de indireccin con su complejidad
asociada? Porque los nombres de dispositivos pueden ser inconstantes. Hay dos situaciones que
pueden llevar al cambio de identidades de dispositivos.
1. Borrado de particiones lgicas: Recuerde que todas las particiones lgicas se
mantienen como una lista vinculada y si la particin lgica / dev/ hda6 se tuviera que
borrar, las particiones lgicas / dev/ hda7 y / dev/ hda8 cambiaran a / dev/ hda6
y / dev/ hda7.
2. Agregar (o suprimir) Dipositivos SCSI: Cuando un dispositivo SCSI se agrega o
suprime del sistema, los dispositivos SCSI pueden cambiar identidades. Lo que
fue / dev/ sdb en el arranque anterior podra convertirse en / dev/ sdc.
En el caso anterior, el hacer un movimiento inocentemente intencionado como agregar un disco
SCSI al sistema, podra desequilibrar el archivo tradicional / et c/ f st ab, dejando al sistema
potencialmente inarrancable. La identificacin de sistemas de archivos por etiqueta de sistema de
archivos ms que por nombres, protege contra estos eventos infortunados.
Uso de etiquetas del sistema de archivos en la lnea de comando de montaje
As como se pueden utilizar las etiquetas del sistema de archivos en el archivo / et c/ f st ab para
especificar un dispositivo, tambin se pueden utilizar en la lnea de comando mount directamente
con la opcin -L, como en el siguiente ejemplo:
[root@station root]# cat /etc/fstab
LABEL=/ / ext 3 def aul t s 1 1
LABEL=/ home / home ext 3 def aul t s 1 2
LABEL=/ var / var ext 3 def aul t s 1 2
LABEL=pub / var / f t p/ pub ext 3 def aul t s 1 2
LABEL=/ boot / boot ext 3 def aul t s 1 2
none / dev/ pt s devpt s gi d=5, mode=620 0 0
none / pr oc pr oc def aul t s 0 0
none / sys sysf s def aul t s 0 0
none / dev/ shm t mpf s def aul t s 0 0
LABEL=SWAP- hda2 swap swap def aul t s 0 0
/ dev/ hdc / medi a/ cdr om aut o pamconsol e, f scont ext =sys
t em_u: obj ect _r : r emovabl e_t , exec, noaut o, managed 0 0
/ dev/ f d0 / medi a/ f l oppy aut o pamconsol e, f scont ext =sys
t em_u: obj ect _r : r emovabl e_t , exec, noaut o, managed 0 0
Igualmente, los dispositivos pueden ser identificados en la lnea de comando mount (y el
archivo / et c/ f st ab) por su "UUID" (Identificador Universal nico). Para mayor informacin,
refirase a las pginas de manual mount(8) y fstab(5).
Agregar lneas al archivo /etc/fstab
Al crear un nuevo sistema de archivos, hay varias razones por las cuales una lnea que define un
punto de montaje para el sistema de archivos se podra agregar al archivo / et c/ f st ab.
Una lnea / et c/ f st ab define un "lugar" para el sistema de archivos. Aunque el sistema de
archivos pudo montarse en cualquier momento y en cualquier directorio, definir un punto
de montaje tiene el efecto de dar a los archivos un lugar en el rbol de directorios.
El montaje se convierte en parte del proceso de arranque del sistema. A no ser que se
agregue la opcin noauto, el montaje ocurrir automticamente en el inicio del sistema.
Los usuarios que no son root pueden realizar el montaje. Por defecto, nicamente root
puede realizar un montaje. Sin embargo, si la opcin user u owner se especifican en el
archivo / et c/ f st ab, este privilegio puede otorgarse a otros usuarios.
En principio, agregar una lnea al archivo / et c/ f st ab es fcil y puede realizarse con cualquier
editor de texto. Se debe tener el cuidado de no destruir la sintaxis del archivo. Debido al comando
mount -a, el archivo / et c/ f st ab juega un papel fundamental en el proceso de arranque del
sistema. Un archivo / et c/ f st ab destruido o mal especificado puede dejar el sistema
inarrancable. Al editar el archivo / et c/ f st ab, los editores de texto (o los procesadores de
palabra) que implementan "la delimitacin de palabra" deben evitarse.
[root@station root]# dumpe2fs /dev/hda1 | head -1
dumpe2f s 1. 32 ( 09- Nov- 2002)
Fi l esyst emvol ume name: / boot
[root@station root]# mount -L /boot /boot
Linux Filesystem Management
Ejemplos
Definicin de puntos de montaje en el archivo /etc/fstab
Puesto que prince no desea realizar los tres montajes de forma manual para sus tres sistemas de
archivos nuevos, cada vez que reinicia la mquina, decide definir los montajes en su
archivo / et c/ f st ab. Primero examina su archivo actual, buscando lneas similares a lo que l
quiere.
Decide que la lnea que especifica la particin / boot es tan buena como cualquiera. Antes de
proceder, para prevenir hace una copia de seguridad del archivo / et c/ f st ab.
Luego, mediante un editor de texto, duplica la lnea elegida tres veces.
Luego, comienza a implementar sus requisitos particulares cambiando nicamente lo necesario.
Puesto que no le dio a su sistema de archivos vfat una etiqueta de volumen, se debe referir a sta
por el nombre de su dispositivo. Afortunadamente, es un dispositivo IDE y una particin primaria,
por lo tanto, debe ser seguro. Almacena el archivo y abandona el editor.
Por ltimo, ensaya su configuracin desmontando primero sus particiones y luego simulando un
sistema de arranque al ejecutar el comando mount -a.
[root@station root]# cat /etc/fstab
LABEL=/ / ext 3 def aul t s 1 1
LABEL=/ var / f t p/ pub / var / f t p/ pub ext 3 def aul t s 1 2
LABEL=/ home / home ext 3 def aul t s 1 2
LABEL=/ boot / boot ext 3 def aul t s 1 2
none / dev/ pt s devpt s gi d=5, mode=620 0 0
none / pr oc pr oc def aul t s 0 0
none / sys sysf s def aul t s 0 0
none / dev/ shm t mpf s def aul t s 0 0
LABEL=SWAP- hda2 swap swap def aul t s 0 0
/ dev/ hdc / medi a/ cdr om aut o pamconsol e, f scont ext =sys
t em_u: obj ect _r : r emovabl e_t , exec, noaut o, managed 0 0
/ dev/ f d0 / medi a/ f l oppy aut o pamconsol e, f scont ext =sys
t em_u: obj ect _r : r emovabl e_t , exec, noaut o, managed 0 0
[root@station root]# cp /etc/fstab /etc/fstab.bak
LABEL=/ boot / boot ext 3 def aul t s 1 2
LABEL=/ boot / boot ext 3 def aul t s 1 2
LABEL=/ boot / boot ext 3 def aul t s 1 2
LABEL=/ boot / boot ext 3 def aul t s 1 2
LABEL=/ boot / boot ext 3 def aul t s 1 2
LABEL=pi cs / pi ct s ext 2 def aul t s 1 2
/ dev/ hdb3 / dosd vf at def aul t s 1 2
LABEL=/ ogg / ogg ext 3 def aul t s 1 2
Al darse cuenta de su error, corrige el archivo / et c/ f st ab (remplazando LABEL=/ ogg con
LABEL=ogg) y ensaya de nuevo.
Ahora est satisfecho con los resultados.
[root@station root]# umount /picts
[root@station root]# umount /dosd
[root@station root]# umount /ogg
[root@station root]# mount -a
mount : speci al devi ce LABEL=/ ogg does not exi st
[root@station root]# umount /picts
[root@station root]# umount /dosd
[root@station root]# umount /ogg
umount : / ogg: not mount ed
[root@station root]# mount -a
[root@station root]# mount
. . .
/ dev/ hdb2 on / pi ct s t ype ext 2 ( r w)
/ dev/ hdb3 on / dosd t ype vf at ( r w)
/ dev/ hdb5 on / ogg t ype ext 3 ( r w)
Linux Filesystem Management
Ejercicios en lnea
Specification
Este ejercicio continuar usando el sistema de archivos creado y montado en los dos ejercicios
anteriores. Asegrese que el archivo ~/ l ab3. 1/ di sk an exista y que an haga referencia al
dispositivo correcto. La ltima particin del dispositivo debe tener un sistema de archivos ext2
formateado correctamente.
1. Agregue una lnea a su archivo / et c/ f st ab que defina el montaje realizado en el ltimo
laboratorio. Para recapitular, la ltima particin del dispositivo especificado se debe montar
en el directorio / l ab3 con las opciones noatime y noexec.
2. La lnea debe referirse a su particin no por el nombre del dispositivo, sino por la etiqueta
del sistema de archivos.
3. Agregue los requisitos particulares apropiados para que su sistema de archivos no sea
montado por defecto en el arranque del sistema.
4. Configure la lnea correctamente para que el sistema de archivos no sea archivado por el
comando dump.
5. Desmonte la particin antes de calificar su ejercicio.
Resultados
A title
Question 1

[Warning]
Lab Exercise
Objetivo: Crear una entrada / et c/ f st ab que defina correctamente
un punto de montaje para su dispositivo.
Tiempo estimado: 10 minutos.
1. Un archivo / et c/ f st ab configurado correctamente que monte la ltima particin al
directorio / l ab3 en el dispositivo especificado con las opciones noexec y noatime. La
particin no debe ser montada automticamente en arranques de sistema y no se debe
incluir en archivos creados por el comando dump. Se debe hacer referencia a la particin a
travs de las etiquetas del sistema de archivos.
2. La particin no debe estar actualmente montada
grade
Linux Filesystem Management
Discusin
Espacio swap
Linux permite la utilizacin de los dispositivos de bloque para extender la memoria fsica del
sistema. En otros sistemas operativos, el espacio de disco utilizado para dicho propsito se conoce
como "memoria virtual". En Linux (y Unix), se denomina espacio swap y la accin de utilizar la
memoria de disco se conoce como intercambiar memoria al disco.
En Linux, el espacio swap se puede asignar ya sea como una particin entera o como un archivo en
un sistema de archivos ya existente (y montado). El anterior es el ms comn, pero puede ser ms
difcil de configurar una vez se ha instalado el sistema. El ltimo es menos eficiente, pero se puede
instalar rpidamente si alguna prxima operacin requiriera grandes cantidades de memoria.
La memoria de disco es dramticamente ms lenta para acceder que RAM. Como resultado el
espacio swap suele utilizarse para resolver demandas de memoria temporal y no como remplazo
general para la memoria fsica. Si un sistema utiliza constantemente grandes cantidades de espacio
swap, ms memoria fsica mejorara ampliamente su rendimiento.
Los nuevos usuarios de Linux algunas veces se sorprenden al descubrir que, incluso cuando no est
ejecutando procesos que solicitan grandes cantidades de memoria, el kernel de Linux utiliza el
espacio swap. Recuerde que el kernel de Linux utiliza principalmente memoria para dos procesos:
procesar memoria y almacenar en cach operaciones de E/S . Algunas veces, el kernel sacrificar la
memoria de proceso que se utilice poco con el fin de incrementar el tamao del cach de E/S,
"intercambiando"las porciones de los procesos poco utilizados con la intencin de mejorar todo el
funcionamiento del sistema. El hecho de que el Kernel de Linux est utilizando un poco de espacio
swap no implica necesariamente que se requiera ms memoria fsica.
Igualmente incluso los sistemas con grandes cantidades de memoria fsica deben proporcionar
alguna cantidad de espacio swap. El kernel de Linux prefiere tener la opcin de intercambiar
memoria al disco disponible cuando desarrolla sus estrategias de optimizacin de memoria. Los
sistemas que no proporcionan espacios swap se consideran oficialmente como una configuracin
no soportada por Red Hat.
Monitorizar particiones swap: /proc/swaps y /proc/meminfo
El archivo / pr oc/ swaps del sistema de archivos proc lista los espacios swap activos, su tipo (de
particin o archivo), sus tamaos y su prioridad.
El sistema de archivos proc / pr oc/ memi nf o lista la cantidad total de espacio swap asignado
actualmente, junto con las estadsticas de la memoria fsica.
[root@station root]# cat /proc/swaps
Fi l ename Type Si ze Used Pr i or i t y
/ dev/ hda2 par t i t i on 522104 42284 - 1
Inicializacin de espacio swap con mkswap
Con el fin de utilizar la particin de disco o archivo como espacio swap, se debe primero inicializar
con el comando mkswap. Al igual que la familia de comandos mkfs, el comando mkswap espera
ser llamado con un argumento obligatorio, el archivo que debe ser inicializado. En el siguiente
ejemplo, el comando mkswap se utiliza para inicializar el dispositivo / dev/ sda1 como espacio
swap.
Al igual que en la creacin de un sistema de archivos, la inicializacin de un espacio swap con el
comando mkswap es una accin de una sola vez.
Activacin de espacio swap con swapon
Una vez inicializado, el espacio swap debe activarse con el comando swapon. En el siguiente
ejemplo, el dispositivo / dev/ sda1 inicializado anteriormente es activado, examinando el
archivo / pr oc/ swaps tanto antes como despus para reflejar el cambio.
El comando swapon tambin permite que se establezcan prioridades con la opcin -p. La reas
swap con mayores prioridades se utilizarn antes que las reas swap con menor prioridad. Ver la
pgina de manual swapon(2) para obtener mayores detalles.
Desactivar las reas swap con swapoff
El complemento para el comando swapon, swapoff desactiva el archivo swap especificado. Si el
archivo swap estaba en uso, el comando puede tardarse un tiempo en ejecutar, mientras el kernel
reubica todas las pginas intercambiadas a otras reas swap o en RAM.
Predefinir reas swap en el archivo /etc/fstab
Cuando se invoca con la opcin -a, el comando swapon examinar el / et c/ f st ab y activar
[root@station root]# cat /proc/meminfo
t ot al : used: f r ee: shar ed: buf f er s: cached:
Mem: 261357568 241696768 19660800 0 38731776 119062528
Swap: 534634496 43298816 491335680
MemTot al : 255232 kB
MemFr ee: 19200 kB
MemShar ed: 0 kB
. . .
SwapTot al : 522104 kB
SwapFr ee: 479820 kB
Utilizacin de swap en bytes.
Utilizacin de swap en kilobytes convencionales (donde 1 kB = 1.024 bytes).
[root@station root]# mkswap /dev/sda1
Set t i ng up swapspace ver si on 1, si ze = 130002 kB
[root@station root]# cat /proc/swaps
Fi l ename Type Si ze Used Pr i or i t y
/ dev/ hda2 par t i t i on 522104 42284 - 1
[root@station root]# swapon /dev/sda1
[root@station root]# cat /proc/swaps
Fi l ename Type Si ze Used Pr i or i t y
/ dev/ hda2 par t i t i on 522104 42284 - 1
/ dev/ sda1 par t i t i on 126952 0 - 2
todas las particiones o archivos swap. Cuando se especifica un rea swap en / et c/ f st ab, la
primera columna debe ser el nombre de la particin o el archivo que se va a activar, la segunda y
tercera columnas deben establecerse con la palabra swap y la cuarta columna se debe establecer
como def aul t s o se puede utilizar la opcin pr i =n para asignar al rea swap una prioridad de
n. Los dos ltimos campos se deben establecer como 0.
Linux Filesystem Management
Ejemplos
Inicializacin de particiones swap
Habiendo configurado sus sistemas de archivos como desea, elvis vuelve su atencin a la particin
swap que cre. Inicializa la particin con el comando mkswap.
Luego, activa el espacio swap con el comando swapon y confirma al examinar / pr oc/ swaps que
est activado correctamente.
Para activar la particin swap automticamente en el arranque del sistema, agrega una lnea al
archivo / et c/ f st ab. Siguiendo la misma tcnica que utiliz con sus sistemas de archivos, busca
una lnea similar y la duplica.
Ahora, al editar una sla palabra, su nueva particin swap est incorporada en el proceso de
arranque.
Uso de archivos swap
La usuaria blondie est a punto de realizar una compilacin de un programa grande que descarg y
le preocupa que su mquina no tenga la memoria suficiente. Con el fin de ayudarse en la
realizacin de esta tarea, decide crear un archivo swap.
Primero, utiliz el comando dd para crear un archivo de 256 megabytes lleno de ceros. En la lnea
de comando dd, especifica su archivo de entrada como el dispositivo virtual / dev/ zer o, el archivo
de salida como su archivo swap, / t mp/ swap, el tamao de bloque como 1 megabyte y el tamao de
transferencia de 256 bloques.
[root@station root]# mkswap /dev/hda9
Set t i ng up swapspace ver si on 1, si ze = 139309 kB
[root@station root]# swapon /dev/hda9
[root@station root]# cat /proc/swaps
Fi l ename Type Si ze Used Pr i or i t y
/ dev/ hda2 par t i t i on 2096472 0 - 1
/ dev/ hdb1 par t i t i on 136040 0 - 2
[root@rosemont-es root]# cp /etc/fstab /etc/fstab.bak
cp: over wr i t e `/ et c/ f st ab. bak' ? y
/ dev/ hda2 swap swap def aul t s 0 0
/ dev/ hda2 swap swap def aul t s 0 0
/ dev/ hda2 swap swap def aul t s 0 0
/ dev/ hdb1 swap swap def aul t s 0 0
Despus de crear el archivo, lo trata como si fuera una particin, primero inicializndolo para
utilizarlo como espacio swap y luego, activando el archivo.
Luego realiza su compilacin. Al terminar, limpia desactivando el espacio swap y borrando el
archivo.
[root@station root]# dd if=/dev/zero of=/tmp/swap bs=1024k count=256
256+0 r ecor ds i n
256+0 r ecor ds out
[root@station root]# ls -s /tmp/swap
262404 / t mp/ swap
[root@station root]# mkswap /tmp/swap
Set t i ng up swapspace ver si on 1, si ze = 268431 kB
[root@station root]# swapon /tmp/swap
[root@station root]# cat /proc/swaps
Fi l ename Type Si ze Used Pr i or i t y
/ dev/ hdb2 par t i t i on 2096472 0 - 1
/ dev/ hda9 par t i t i on 136040 0 - 2
/ t mp/ swap f i l e 262136 0 - 3
[root@station root]# swapoff /tmp/swap
[root@station root]# rm /tmp/swap
r m: r emove r egul ar f i l e `/ t mp/ swap' ? y
Linux Filesystem Management
Ejercicios en lnea
Specification
Este ejercicio utilizar la primera particin creada en el primer ejercicio de este cuaderno.
Asegrese que el archivo ~/ l ab3. 1/ di sk an exista y que an haga referencia al dispositivo
correcto. La penltima particin del dispositivo especificado debe ser de un tamao aproximado de
128 megabytes y debe tener un Id de particin Linux Swap.
1. Inicializar la penltima particin que se va a utilizar como espacio swap.
2. Activar manualmente la particin swap.
3. Agregar una lnea a su archivo / et c/ f st ab de tal modo que la particin swap se active
automticamente en el inicio del sistema.
Resultados
A title
Question 1

[Warning]
Lab Exercise
Objetivo: Inicializar una particin swap y configurar su
archivo / et c/ f st ab para que la particin se active automticamente
en el inicio del sistema.
Tiempo estimado: 15 minutos.
[Note]
Note
Al calificar su laboratorio, el espacio swap ser desactivado y reactivado.
Si la reactivacin fracasa, debe reiniciar manualmente el espacio swap
(paso 2) antes de volver a calificar.
1. Una particin swap bien inicializada y activada, la cual es la penltima particin en el
dispositivo especificado.
2. Un archivo / et c/ f st ab correctamente configurado de tal modo que la particin swap se
active automticamente en el arranque.
grade
Linux Filesystem Management
Discusin
En esta ltima leccin, cubrimos varios comandos y conceptos que no se han tratado an y
terminamos con un resumen que rene las destrezas desarrolladas en este cuaderno y las pone en
contexto.
El comando e2label
El comando e2label se utiliza para mostrar o establecer el nombre de volumen de un sistema de
archivos ext2 o ext3. El primer argumento debe ser el nombre de la particin que contiene el
sistema de archivos. Si slo se proporciona un argumento, se muestra el nombre del volumen. Si se
provee un segundo argumento opcional, entonces se establece el nombre del volumen. Ambos se
ilustran en la siguiente secuencia.
Recuerde que en Red Hat Enterprise Linux, usted no debe cambiar los nombres de volumen sin
considerar la configuracin del archivo / et c/ f st ab. Despus de realizar este ejemplo, a no ser
que la referencia LABEL=para la particin / boot tambin sea cambiada en el
archivo / et c/ f st ab, la particin / dev/ hda1 probablemente no ser montada cuando se reinicie
la mquina.
Reparacin del sistema de archivos con fsck
Los sistemas de archivos por lo general, mantienen grandes cantidades de datos de la estructura del
directorio. Con el tiempo las imperfecciones del disco o del kernel pueden dar lugar a daos
menores de los datos del sistema de archivos. Si un sistema se apaga antes de desmontar un
sistema de archivos es muy probable que contenga daos.
Unix proporciona un comando fsck derivado del ingls "(f)ile (s)ystem (c)hec(k)", el cual se utiliza
para diagnosticar y corregir errores en el sistema de archivos. El acto de ejecutar el comando en un
sistema de archivos se conoce como "fisking" la particin.
Al igual que el comando mkfs, Linux utiliza un comando fsck de primer plano respaldado por
varias versiones especficas del sistema de archivos que inician fsck..
El comando fsck se puede llamar con la opcin -t para especificar un tipo de sistema de archivos o
la versin especfica del sistema de archivos del comando. Si se utiliza sin la opcin -t, tratar de
determinar automticamente el tipo del sistema de archivos, aunque esto podra arriesgar los
sistemas de archivos que estn bastante daados.
Debido a que el sistema de archivos ext2 es tan comn, existe otro nombre para el comando
fsck.ext2, el e2fsck. Los comandos fsck -t ext2, fsck.ext2 y e2fsck tambin son sinnimos.
[root@station root]# e2label /dev/hda1
/ boot
[root@station root]# e2label /dev/hda1 foo
[root@station root]# e2label /dev/hda1
f oo
[root@station root]# ls /sbin/fsck*
/ sbi n/ f sck / sbi n/ f sck. ext 2 / sbi n/ f sck. j f s / sbi n/ f sck. r ei ser f s
/ sbi n/ f sck. cr amf s / sbi n/ f sck. ext 3 / sbi n/ f sck. msdos / sbi n/ f sck. vf at
Uso de fsck
Por lo general, el comando fsck se llama con el nombre de la particin para comprobar como su
nico argumento. Si el comando fsck encuentra un problema que puede corregir sin arriesgar el
perder datos entonces implementar el arreglo. Si existe la posibilidad de perder datos, el comando
fsck har una pausa y preguntar si se puede implementar la correccin. Para los administradores
que no tienen un conocimiento detallado del diseo interno del sistema de archivos ext2, no hay
otra salida que decir "si". De hecho, el comando fsck se invoca a menudo con la opcin -y, la cual
de hecho dice "no pregunte, hgalo".
El directorio /lost+found
El comando fsck suele encontrar datos daados que reconoce como un archivo, pero que no han
asociado un nombre o directorio, (recuerde que, por lo general, el nombre del archivo se almacena
en un dentry, no en el inodo.) Cada vez que se crea un sistema de archivos ext2, se crea un
directorio llamado l ost +f ound en su directorio raz. Este directorio existe para solicitar los
archivos perdidos descubiertos por fsck. El comando fsck crear un nombre para el archivo y lo
ubicar en este directorio.
Uso automtico de fsck en el arranque
Por defecto, la mayora de los sistemas Linux (y Unix) aplican el comando fsck a todos los sistemas
de archivo en el arranque. Si un sistema de archivos no se desmonta correctamente, se realiza un
fsck a profundidad. Para sistemas de archivos ext2, se examina todo el sistema de archivos. Para
los sistemas de archivos de registro de diario ext3 (y otro), slo se examina el registro de diario de
las transacciones pendientes, lo cual hace que la revisin sea ms rpida. Incluso se sugiere para los
sistema de archivos de registro de diario una revisin a profundidad ocasional de todo el sistema de
archivos.
El comando tune2fs
El comando tune2fs se utiliza para afinar los parmetros del sistema de archivos para un sistema
de archivos ext2 o ext3 ya existente, el cual se especifique como su nico argumento. Antes que un
sistema de archivos se pueda operar con tune2fs, debe ser desmontado. El siguiente cuadro lista
algunos de los parmetros que el comando tune2fs puede modificar.
Table 1. Opciones para el comando tune2fs
El conteo de montaje ext2
La mayora de estas opciones se refieren a las caractersticas del sistema de archivos ext2. La
excepcin es la opcin -c y el concepto de un conteo mximo de montaje.
El sistema de archivos ext2 mantiene un conteo de montaje, incrementado cada vez que se monta
Opcin Efecto
-c n
Establece el conteo mximo de montaje para n. Despus de que el sistema de archivos
se haya montado n veces, se presenta una revisin fsck obligatoria del sistema de
archivos.
-j Agrega un registro de diario de un sistema de archivos ext3.
-L
nombre
Establece el nombre del volumen para nombre. Esta opcin es idntica en funcin al
comando e2label.
-m n Establece el porcentaje de bloques reservados para n.
el sistema de archivos y un parmetro de conteo de montaje mximo. Si un montaje excede el
conteo de montaje mximo, se aplica un fsck obligatorio y el conteo de montaje se restablece a 0.
Conversin de sistemas de archivo ext2 a ext3
Como lo implica la opcin -j mencionada anteriormente, la conversin de un sistema de archivos
ext2 a ext3 es trivial. Ejecute tune2fs -j en ste. Luego, especifique el tipo de sistema de archivos
como ext3 en el montaje (o en el archivo / et c/ f st ab).
La nica dificultad se presenta si sta es la primera vez que un sistema de archivos ext3 se ha
utilizado en el sistema. En ese caso, el disco RAM inicial del sistema (initrd) necesita reconstruirse
para contener el mdulo de kernel ext 3. o. Aunque este tema que es bastante complicado se
tratar en el siguiente cuaderno, por ahora, observe la siguiente lnea de comandos ejecutada como
root. el encanto apropiado para reconstruir un disco RAM inicial.
De nuevo, este comando slo se necesita si el sistema an no contiene un sistema de archivos ext3.
Como el sistema de archivos ext3 es el predeterminado, es raro el caso.
Montaje de sistemas de archivos ext3 como ext2
No hay necesidad de "convertir" un sistema de archivos ext3 a ext2. En su lugar. solo monte el
sistema de archivos, especificando el tipo de sistema de archivos como ext2. El registro de diario
ser ignorado.
Repaso: Agregar un disco nuevo
Para hacer uso de un nuevo disco agregado a un sistema existente, se requieren los siguientes
pasos. Estos pasos sirven de revisin de muchos de los temas tratados en este cuaderno, puestos en
contexto.
1. Conexin fsica: Conectar fsicamente el disco a la mquina. Al reiniciar, se debe
identificar el nuevo disco en el flujo de mensajes del kernel que se ven en la consola en el
arranque o en una sesin iniciada en el archivo / var / l og/ dmesg. Si no hay evidencia del
nuevo dispositivo, hay un problema de conectividad fsica o del BIOS que se debe abordar
antes de continuar.
2. Particiones: El disco se subdivide en mltiples particiones con el comando fdisk. Como
estamos pensando en un dispositivo recin conectado, el sistema probablemente no tendr
que reiniciarse, como sera el caso de volver a crear particiones en un dispositivo que ya est
en uso.
3. Formateado: Las particiones que van a ser utilizadas como sistemas de archivos se deben
inicializar con la variante apropiada del comando mkfs, como por ejemplo, mkfs.ext3.
Asmismo, cualquier particin que se vaya a utilizar como espacio swap se debe inicializar
con el comando mkswap.
4. Montaje: Los sistemas de archivos se deben montar en un punto de montaje antes de que
puedan ser utilizados. El uso del comando mkdir para crear el punto de montaje suele
pasarse por alto. De modo anlogo, cualquier particin swap se debe activar con el comando
swapon.
5. Actualizacin/etc/fstab: Si se tiene que montar el sistema de archivos (o activar el
[root@station root]# mkinitrd /boot/initrd-$(uname -r).img $(uname -r)
rea de intercambio) automticamente en el arranque, se deben agregar las lneas
apropiadas al archivo / et c/ f st ab.
Linux Filesystem Management
Ejemplos
Conversin de un sistema de archivos ext2 a ext3
Despus de unas semanas de utilizar su nuevo disco y de esperar que el sistema de archivos ext2 se
repare, prince decide que en realidad ha debido hacer un sistema de archivos ext3 para comenzar.
Ahora decide convertirlo.
Primero, desmonta el sistema de archivos.
Luego, opera en el sistema de archivos ext2 con el comando tune2fs, mediante la opcin -j para
especificar que se debe agregar un registro de diario. Debido a que su memoria es difusa, primero
confirma si tiene la particin correcta examinando su etiqueta.
Al terminar la conversin, trata de realizar el montaje manualmente como un sistema de archivos
ext3.
Como parece que funcion sin ningn problema actualiza su archivo / et c/ f st ab.
[root@station root]# umount /picts
[root@station root]# e2label /dev/hda6
pi cs
[root@station root]# tune2fs -j /dev/hda6
t une2f s 1. 32 ( 09- Nov- 2002)
Cr eat i ng j our nal i node: done
Thi s f i l esyst emwi l l be aut omat i cal l y checked ever y 20 mount s or
180 days, whi chever comes f i r st . Use t une2f s - c or - i t o over r i de.
[root@station root]# mount -t ext3 -L pics /picts
[root@station root]# mount
. . .
/ dev/ hda7 on / dosd t ype vf at ( r w)
/ dev/ hda8 on / ogg t ype ext 3 ( r w)
/ dev/ hda6 on / pi ct s t ype ext 3 ( r w)
LABEL=pi cs / pi ct s ext 3 def aul t s 1 2
Linux Filesystem Management
Ejercicios en lnea
Specification
Este ejercicio continuar usando el sistema de archivos creados y montados en los ejercicios
anteriores. Asegrese que el archivo ~/ l ab3. 1/ di sk an exista y que an haga referencia al
dispositivo correcto. La ltima particin del dispositivo debe tener un sistema de archivos ext2
propiamente formateado.
1. Utilice los comandos apropiados para convertir su sistema de archivos ext2 a un sistema de
archivos ext3. No cree un sistema de archivos nuevo. Toda informacin en el sistema de
archivos se debe preservar.
2. Cambie la etiqueta del sistema de archivos a lab3.6.
3. Actualice su archivo / et c/ f st ab, para que se utilice la etiqueta apropiada y se monte el
sistema de archivos como un sistema de archivos ext3.
4. Desmonte la particin antes de calificar su ejercicio.
Resultados
A title
Question 1

[Warning]
Lab Exercise
Objetivo: Utilizar comandos de mantenimiento del sistema de
archivos para modificar sistemas de archivos existentes.
Tiempo estimado: 20 minutos.
1. La ltima particin del dispositivo especificado debe ser un sistema de archivos ext3 con
una etiqueta de lab3.6 y sin bloques reservados para root. El contenido del sistema de
archivos se debe preservar en el proceso.
2. Un archivo / et c/ f st ab correctamente configurado, actualizado para referirse a la nueva
etiqueta y al sistema de archivos ext3.
grade
Linux Filesystem Management
Discusin
Introduccin a SELinux ("Linux Seguro")
Como una caracterstica de Red Hat Enterprise Linux 4, se ha introducido un nuevo enfoque para
la seguridad de Linux (y Unix): SELinux. El resultado de un esfuerzo de desarrollo de la Agencia de
Seguridad Nacional de los Estados Unidos (NSA) destinado a proteger infraestructura de sistemas.
SELinux, permite a los administradores definir las polticas de seguridad personalizadas, aplicadas
por el Kernel de Linux cuando realiza sus operaciones normales.
Con SELinux, los procesos se pueden emitir a un dominio determinado de SELinux y a cada
recurso del sistema (por ejemplo, archivos, sockets de red, llamadas del sistema, etc) se le puede
asignar un contexto determinado de SELinux. Una poltica SELinux cargada en el kernel
(normalmente como parte del proceso de arranque del sistema), define qu dominios de proceso
pueden tener acceso a qu contextos de recursos.
El diseo de cualquier mecanismo de seguridad debe ser lo suficientemente flexible para ser til,
pero a su vez, sencillo para que un administrador pueda con confianza implementar la poltica. Tan
sencillo como el modelo estndar de Linux de propiedades y permisos de archivos. Probablemente
el origen ms comn de problemas administrativos, se debe a que el archivo estaba demasiado
expuesto o porque no lo estaba lo suficientemente expuesto.
SELinux est entre el lado flexible y el lado complejo del espectro simple-flexible. Como
administrador, usted nunca necesitar escribir o modificar su propia directiva de SELinux. En
cambio, en Red Hat Enterprise Linux 4, sus decisiones relacionadas con SELinux se deben limitar a
lo siguiente:
1. Deseo habilitar SELinux?
2. Si lo habilito, deseo que SELinux est en estado permisivo o en estadoimpositivo?
3. Qu contexto de SELinux quiero asignar a un archivo particular?
La poltica SELinux de destino
Como se mencion anteriormente, el diseo de una poltica de SELinux correcta es una tarea
compleja. En principio, una de varias polticas se podran escoger en el arranque del sistema. En la
prctica, Red Hat Enterprise Linux 4 slo se distribuye con una nica politica SELinux, llamada la
politica de destino. La politica de destino slo afecta a la pequea seleccin de aplicaciones de red
ms utilizadas listadas a continuacin.
dhcpd
httpd
mysqld
named
nscd
ntpd
portmap
postgres
snmpd
squid
syslogd
A menos que est administrando archivos utilizados por una de estas aplicaciones, la poltica de
destino de SELinux no debe impedir usos interactivos de la estacin de trabajo de Red Hat
Enterprise Linux. Debido a que de esta lista solo nos interesa syslogd para este curso, el manejo
de SELinux no es nuestro tema central. Sin embargo, cualquier administrador de un sistema de
Red Hat Enterprise Linux 4 debe estar por lo menos enterado de los temas tratados en esta leccin.
Habilitar SELinux: /etc/sysconfig/selinux, setenforce y getenforce
Tras el arranque, una mquina de Red Hat Enterprise Linux 4 entra en uno de los tres estados de
SELinux.
impositivo: Cualquier accin que infrinja la poltica de SELinux est prohibida y se
registra como un mensaje del kernel.
permisivo: Cualquier accin que infrinja la directiva de SELinux genera una advertencia
(en forma de un mensaje del kernel), pero se le permite continuar.
inhabilitado.
El estado predeterminado se especifica como parte del proceso de instalacin y se registra en el
archivo / et c/ sysconf i g/ sel i nux. El estado predeterminado de SELinux se puede cambiar
editando este archivo o con el comando setenforce.
El archivo de configuracin /etc/sysconfig/selinux
Este archivo sencillo de configuracin se utiliza tras el arranque para determinar el estado y la
directiva de SELinux.
Los comandos setenforce y getenforce
[student@station ~]$ cat /etc/sysconfig/selinux
# Thi s f i l e cont r ol s t he st at e of SELi nux on t he syst em.
# SELI NUX= can t ake one of t hese t hr ee val ues:
# enf or ci ng - SELi nux secur i t y pol i cy i s enf or ced.
# per mi ssi ve - SELi nux pr i nt s war ni ngs i nst ead of enf or ci ng.
# di sabl ed - SELi nux i s f ul l y di sabl ed.
SELI NUX=per mi ssi ve
# SELI NUXTYPE= t ype of pol i cy i n use. Possi bl e val ues ar e:
# t ar get ed - Onl y t ar get ed net wor k daemons ar e pr ot ect ed.
# st r i ct - Ful l SELi nux pr ot ect i on.
SELI NUXTYPE=t ar get ed
El estado predeterminado de SELinux se puede establecer con SELI NUX. Los cambios se
aplican en el siguiente arranque.
La poltica se puede elegir con SELI NUXTYPE. Como lo mencionamos, la nica directiva
relevante para Red Hat Enterprise Linux 4 es la poltica de destino.
Asumiendo que SELinux no est inhabilitado, el estado SELinux tambin se puede cambiar de
inmediato de enforcing a permissive con el comando setenforce. El comando espera un nico
argumento ya sea 0 1, correspondientes a los estados permisivos e impositivos, respectivamente.
El siguiente comando cambia SELinux al estado permisivo.
El siguiente comando cambia SELinux al estado impositivo.
Observe que getenforce apenas muestra el estado actual. El comando setenforce surte efecto
inmediatamente, pero no cambia el estado predeterminado si se reinicia la mquina. Estos
comandos suelen ser tiles en la depuracin de problemas de configuracin SELinux.
Ver contenido de SELinux: ps -Z y ls -Z
Como lo hemos mencionado, cada proceso pertenece a un dominio de SELinux y cada archivo se
puede asignar a un contexto SELinux. Los dominios y contextos pertinentes se pueden ver con la
(nueva) opcin -Z con los comandos convencionales ls y ps.
El siguiente comando se puede utilizar para ver el dominio de SELinux de todos los procesos en
ejecucin.
Observe que a excepcin de los demonios de servicio de red mencionados anteriormente, el tipo de
dominio es unconfined_t, lo que implica que el proceso no est limitado por ningn contexto de
SELinux. En particular, las shells interactivas del usuario y los procesos iniciados por shells
interactivas de usuario (con las excepciones anteriormente mencionadas) no se efectuan por la
directiva de SELinux.
El contexto de archivos en SELinux se puede ver al agregar -Z al comando ls. A continuacin, la
opcin -a slo se necesita porque el directorio de inicio creado recientemente no ha recogido an
los archivos "no ocultos".
[root@station ~]# setenforce 0
[root@station ~]# getenforce
Per mi ssi ve
[root@station ~]# setenforce 1
[root@station ~]# getenforce
Enf or ci ng
[student@station ~]$ ps ax -Z
LABEL PI D TTY STAT TI ME COMMAND
user _u: syst em_r : unconf i ned_t 1 ? S 0: 00 i ni t [ 5]
user _u: syst em_r : unconf i ned_t 2 ? SN 0: 00 [ ksof t i r qd/ 0]
user _u: syst em_r : unconf i ned_t 3 ? S< 0: 00 [ event s/ 0]
user _u: syst em_r : unconf i ned_t 4 ? S< 0: 00 [ khel per ]

. . .
user _u: syst em_r : sysl ogd_t 2251 ? Ss 0: 00 sysl ogd - m0
user _u: syst em_r : unconf i ned_t 2255 ? Ss 0: 00 kl ogd - x
user _u: syst em_r : por t map_t 2277 ? Ss 0: 00 por t map
r oot : syst em_r : ht t pd_t 3955 ? Ss 0: 00 / usr / sbi n/ ht t pd
r oot : syst em_r : ht t pd_t 3956 ? S 0: 00 / usr / sbi n/ ht t pd
. . .
user _u: syst em_r : unconf i ned_t 2973 pt s/ 1 Ss 0: 00 bash
user _u: syst em_r : unconf i ned_t 2994 pt s/ 2 Ss+ 0: 00 bash
user _u: syst em_r : unconf i ned_t 2995 pt s/ 3 Ss+ 0: 00 bash
user _u: syst em_r : unconf i ned_t 2996 pt s/ 4 Ss+ 0: 00 bash
user _u: syst em_r : unconf i ned_t 3135 pt s/ 5 R+ 0: 00 ps ax - Z
Observe que todos estos archivos tienen el tipo genrico file_t. Algunos fueron creados por el
usuario, por ejemplo <username>estudiante</username>, cuando el estudiante encendi el
navegador Firefox, otros se crearon automticamente al agregar la cuenta (antes de que el
estudiante hubiera ingresado). Las porciones del contexto de SELinux root y user_u denotan si el
archivo fue creado por el usuario o por root.
La exploracin del sistema de archivos con el comando ls -Z generar una gran cantidad de tipos
de SELinux asociados con varios archivos, (los directorios / et c y / var son en particular
interesantes).
Observe que conocer el dominio de SELinux de un proceso no es suficiente. Tambin necesitar
conocer la poltica actual que la rige. Infortunadamente, con el conjunto existente de herramientas
de SELinux, examinar la directiva actual no es fcil, y por lo general, los efectos de la directiva de
SELinux slo se descubren, cuando alguien trata de infringirla.
Monitorizar las infracciones de SELinux: /var/log/messages
Cada vez que se presente una infraccin de SELinux, se produce un mensaje del kernel detallando
el problema. Por defecto, estos mensajes se registran en el archivo / var / l og/ messages. Si algo
sale mal en la configuracin o manejo de uno de los servicios de red anteriormente citados, es
sensato revisar el archivo / var / l og/ messages por si hay infracciones de SELinux.
Puede encontrar ejemplos de mensajes del kernel sobre infracciones de SELinux en el siguiente
extracto de un archivo / var / l og/ messages.
[student@station ~]$ ls -a -Z
dr wxr - xr - x st udent st udent r oot : obj ect _r : f i l e_t .
dr wxr - xr - x r oot r oot . .
- r w- - - - - - - st udent st udent user _u: obj ect _r : f i l e_t . bash_hi st or y
- r w- r - - r - - st udent st udent r oot : obj ect _r : f i l e_t . bash_l ogout
- r w- r - - r - - st udent st udent r oot : obj ect _r : f i l e_t . bash_pr of i l e
- r w- r - - r - - st udent st udent r oot : obj ect _r : f i l e_t . bashr c
dr wx- - - - - - st udent st udent user _u: obj ect _r : f i l e_t . gconf
dr wx- - - - - - st udent st udent user _u: obj ect _r : f i l e_t . gconf d
dr wx- - - - - - st udent st udent user _u: obj ect _r : f i l e_t . gnome2
dr wx- - - - - - st udent st udent user _u: obj ect _r : f i l e_t . gnome2_pr i vat e
- r w- r - - r - - st udent st udent r oot : obj ect _r : f i l e_t . gt kr c
dr wxr wxr - x st udent st udent user _u: obj ect _r : f i l e_t . mozi l l a
- r w- r - - r - - st udent st udent r oot : obj ect _r : f i l e_t . zshr c
J ul 2 01: 02: 30 st at i on4 ker nel : audi t ( 1122958950. 735: 0) : avc: deni ed { r ead }
f or pi d=15842 exe=/ usr / bi n/ ssh name=mount s dev=pr oc i no=1038221328 scont ext =r o
ot : syst em_r : ht t pd_sys_scr i pt _t t cont ext =r oot : syst em_r : ht t pd_sys_scr i pt _t t cl ass=
f i l e
J ul 2 01: 02: 30 st at i on4 ker nel : audi t ( 1122958950. 808: 0) : avc: deni ed { get at t
r } f or pi d=15842 exe=/ usr / bi n/ ssh pat h=/ et c/ kr b5. conf dev=hda3 i no=609458 scon
t ext =r oot : syst em_r : ht t pd_sys_scr i pt _t t cont ext =syst em_u: obj ect _r : kr b5_conf _t t cl
ass=f i l e
La expresin en parntesis especifica que la accin ocasion la infraccin. En este caso
(getattr), un proceso estaba buscando los atributos de una archivo, como por ejemplo, el
propietario del archivo y los permisos.
Los dos valores a continuacin (pid=15842 y exe=/usr/bin/ssh) identifican el proceso que
produjo la infraccin.
Los tres valores a continuacin (path=/etc/krb5.conf, dev=hda3 y ino=609458) identifican
el archivo al que se ha tenido acceso, donde dev se refiere a la particin que contiene el
archivo y i no es el nmero de inodo del archivo dentro del sistema de archivos.
Los dos valores siguientes identifican los contextos SELinux del proceso y el archivo de
Al examinar el mensaje de registro, se puede deducir que los procesos en el dominio
root:system_r:httpd_sys_script_t no tienen permiso para examinar los metadatos de archivos en
el contexto system_u:object_r:krb5_conf_t.
Cambio del contexto de SELinux de un archivo: chcon
Si la poltica de SELinux de destino est ocasionando el problema, el administrador tiene por lo
general dos opciones:
1. Inhabilitar SELinux.
2. Cambiar el contexto SELinux del archivo que est ocasionando la infraccin.
Ya hemos explicado cmo inhabilitar SELinux (recuerde el comando setenforce y el archivo de
configuracin / et c/ sysconf i g/ sel i nux). Al igual que un propietario de archivo, grupo o modo
(permisos) se cambian con chown, chgrp y chmod(respectivamente), un contexto de seguridad
SELinux de archivo se cambia con chcon.
Table 1. Opciones para el comando chcon
Normalmente, un administrador desea que un archivo problemtico se realice en el contexto de un
archivo "bien conocido". Por ejemplo, el comando / et c/ named. conf hara heredar el contexto de
seguridad SELinux de / et c/ named. conf . r pmor i g.
destino.
Opcin Efecto
-R, --recursive cambia archivos y directorios de modo recursivo
--reference=FILE
Utiliza el contexto de seguridad del FILE para definir el
contexto resultante.
-u, --user=USER; -r, --
role=ROLE; -t, --type=TYPE
establece los componentes USER, ROLE o TYPE del contexto
de seguridad del archivo respectivamente
[root@station ~]# chcon --reference=/etc/named.conf.orig /etc/named.conf
Linux Filesystem Management
Ejemplos
Cambio del contexto SELinux de un archivo
El usuario <username>prince</username> desea publicar archivos que documenten sus visitas a
travs del servidor de la red colocndolas en el directorio raz del documento del
servidor, / var / www/ ht ml . Inicia sus dos archivos que ha creado en su directorio de inicio
el vi s_i n_aust i n. ht ml y el vi s_i n_pheoni x. ht ml . El primero, lo copia al documento raz.
El segundo, lo pasa all. Luego revisa que los archivos puedan ser ledos por el usuario del sistema
<username>apache</username>.
Despus de observar que cada uno de los archivos es legible por todos y contento porque el servidor
de red podr leer el archivo (el cual se ejecuta como usuario <username>apache</username>),
abre un navegador y hace referencia a los archivos.
Sorprendido porque se le prohibi el acceso a el vi s_i n_pheoni x. ht ml , prince sospecha que
fue SELinux. Para confirmar, prince se convierte en root y temporalmente cambia el estado de
SELinux de impositivo a permisivo y trata de nuevo.
Convencido que la directiva de SELinux estaba causando el problema, busca un mensaje de registro
[prince@station ~]$ su
Passwor d:
[root@station prince]# cp elvis_in_austin.html /var/www/html/
[root@station prince]# mv elvis_in_pheonix.html /var/www/html/
[root@station prince]# ls -l /var/www/html/
t ot al 56
- r w- r - - r - - 1 r oot r oot 219 J ul 31 19: 38 el vi s_i n_aust i n. ht ml
- r w- r w- r - - 1 pr i nce pr i nce 228 J ul 31 19: 37 el vi s_i n_pheoni x. ht ml
[prince@localhost ~]$ elinks -dump http://localhost/elvis_in_austin.html
El vi s seen wat chi ng bat s i n Aust i n

Aust i n nat i ve Fr ed Ander son cl ai ms t o have seen El vi s wat chi ng t he bat s
f l y f r oma under neat h t he Congr ess St . br i dge i n Aust i n TX. When
. . .
[prince@localhost ~]$ elinks -dump http://localhost/elvis_in_pheonix.html
For bi dden

You don' t have per mi ssi on t o access / el vi s_i n_pheoni x. ht ml on t hi s ser ver .
. . .
[prince@localhost ~]$ su -
Passwor d:
[root@station ~]# getenforce
Enf or ci ng
[root@station ~]# setenforce 0
[root@station ~]# getenforce
Per mi ssi ve
[prince@localhost ~]$ elinks -dump http://localhost/elvis_in_pheonix.html
El vi s seen J oust i ng Cact us out si de of Pheoni x

Pheoni x nat i ve J ohn Doe cl ai ms t o have seen El vi s r i di ng a l l ama, j oust i ng
a cact us wi t h a f i shi ng pol e. When appr oached, however , El vi s and t he
. . .
en / var / l og/ messages.
Al examinar los tipos de SELinux de los dos archivos, comienza a entender el problema.
Debido a que el vi s_i n_aust i n. ht ml es copiado en / var / www/ ht ml con cp, el archivo
resultante es un archivo recin creado, el cual hereda el usuario que lo cre
(<username>root</username>) y el contexto de SELinux del directorio en que se cre
(httpd_sys_content_t).
En contraste, el archivo el vi s_i n_pheoni x. ht ml setraslada a su nuevo destino con el comando
mv. El traslado de un archivo no crea uno nuevo, sino que lo reubica en un archivo ya existente.
Como resultado, el usuario que lo cre (<username>prince</username>) y ms pertinente an el
contexto de SELinux (file_t) se retiene. Cuando el proceso del servidor de red trata de leer un
archivo de tipo file_t, se produce una infraccin a la directiva de SELinux.
Para arreglar la situacin, prince (como root) utiliza el comando chcon para pasar el contexto de
SELinux desde el archivo "bueno" al archivo "malo" y setenforce para restaurar SELinux al estado
impositivo.
Ahora, el servidor de red puede ver el archivo con tranquilidad.
[root@station8 prince]# tail /var/log/messages
. . .
J ul 2 02: 16: 56 st at i on8 ker nel : audi t ( 1122963416. 875: 0) : avc: deni ed { get at t
r } f or pi d=15520 exe=/ usr / sbi n/ ht t pd pat h=/ var / www/ ht ml / el vi s_i n_pheoni x. ht ml
dev=hda2 i no=327853 scont ext =r oot : syst em_r : ht t pd_t t cont ext =user _u: obj ect _r : user
_home_t t cl ass=f i l e
. . .
[root@station ~]# ls -Z /var/www/html/
- r w- r - - r - - r oot r oot r oot : obj ect _r : ht t pd_sys_cont ent _t el vi s_i n_aust i n. ht ml
- r w- r w- r - - pr i nce pr i nce user _u: obj ect _r : f i l e_t el vi s_i n_pheoni x. ht ml
[root@station ~]# cd /var/www/html/
[root@station html]# chcon --reference elvis_in_austin.html elvis_in_pheonix.html
[root@station html]# ls -Z
- r w- r - - r - - r oot r oot r oot : obj ect _r : ht t pd_sys_cont ent _t el vi s_i n_aust i n. ht ml
- r w- r w- r - - pr i nce pr i nce r oot : obj ect _r : ht t pd_sys_cont ent _t el vi s_i n_pheoni x. ht ml
[root@station html]# setenforce 1
[prince@localhost ~]$ elinks -dump http://localhost/elvis_in_pheonix.html
El vi s seen J oust i ng Cact us out si de of Pheoni x

Pheoni x nat i ve J ohn Doe cl ai ms t o have seen El vi s r i di ng a l l ama, j oust i ng
a cact us wi t h a f i shi ng pol e. When appr oached, however , El vi s and t he
. . .
[Note]
Note
Si usted se confunde con el uso del servidor de red anterior o la
referencia al trmino "document root", no se preocupe demasiado y
anmese porque necesitamos tratar de encontrar un ejemplo de un
problema ocasionado por SELinux para este curso.
Linux Filesystem Management
Ejercicios en lnea
Specification
1. Su sistema debe estar en el estado impositivo de SELinux. Si no lo est, edite el
archivo / et c/ sysconf i g/ sel i nux de modo apropiado y reinicie su mquina. Debe
poder reproducir el siguiente comando.
2. En este laboratorio, usted publicar archivos con su servidor de red. Si an no ha iniciado su
servidor de red (y probablemente no lo ha hecho), inicie con el comando service.
3. Desea publicar una copia de su archivo / var / l og/ dmesg, (no se preocupe si an no sabe
de qu se trata). Copie el archivo al directorio / var / www/ ht ml y observe las propiedades y
permisos. Podr ver el contenido sealando cualquier navegador a http://localhost/dmesg.
4. Debe tambin poder publicar una copia del archivo / var / l og/ r pmpkgs, pero se da cuenta
que este archivo se actualiza por la noche. Para publicar automticamente las
actualizaciones tambin, utiliza un enlace duro al archivo en el directorio / var / www/ ht ml .
Aunque el archivo / var / www/ ht ml / r pmpkgs es legible por todos, usted an no tendra
acceso a http://localhost/rpmpkgs desde un navegador de red. Por qu?
5. Utilice el comando chcon, haciendo referencia al archivo de
"trabajo" / var / www/ ht ml / dmesg, para asignar a / var / l og/ ht ml / r pmpkgs el contexto
de seguridad SELinux apropiado. Si complet bien el ejercicio podr acceder a
http://localhost/rpmpkgs desde su navegador de red.
Utilice ls -Z para observar el contexto SELinux de / var / l og/ r pmpkgs. Por qu cambi
tambin?
[Warning]
Lab Exercise
Objetivo: Establecer los contextos apropiados de SELinux para
archivos
Tiempo estimado: 20 minutos.
[root@station4 html]# getenforce
Enf or ci ng
[root@station8 ~]# service httpd start
St ar t i ng ht t pd: [ OK ]
[root@station8 ~]# service httpd status
ht t pd ( pi d 15611 15610 15609 15608 15607 15606 15605 15604 15601) i s r unni ng. . .
[root@station4 html]# ln /var/log/rpmpkgs /var/www/html/
[root@station4 html]# ls -i /var/log/rpmpkgs /var/www/html/rpmpkgs
180333 / var / l og/ r pmpkgs 180333 / var / www/ ht ml / r pmpkgs
[root@station8 html]# ll /var/www/html/rpmpkgs
- r w- r - - r - - 2 r oot r oot 23076 J ul 2 04: 04 / var / www/ ht ml / r pmpkgs
Resultados
A title
Question 1

Limpieza
Despus de haber completado el ejercicio, restaure su sistema al estado que desee de SELinux,
borre / var / www/ ht ml / r pmpkgs y restaure el contexto apropiado en / var / l og/ r pmpkgs con el
siguiente comando.
1. El sistema est en el estado impositivode SELinux.
2. Un navegador de red puede tener acceso a http://localhost/dmesg.
3. Un navegador de red puede tener acceso a http://localhost/rpmpkgs.
4. Los archivos / var / l og/ r pmpkgs y / var / www/ ht ml / r pmpkgs tienen el mismo nmero
de inodo (i.e., son enlaces duros del mismo archivo).
grade
[root@station8 ~]# chcon --reference /var/log /var/log/rpmpkgs

Potrebbero piacerti anche