Documente Academic
Documente Profesional
Documente Cultură
ndice de contenido
Nomenclatura de los discos rgidos (duros)...............................................................................................3
Sistemas de archivos reconocidos y que pueden ser montados.................................................................4
Clasificacin de unidades de disco rgido (duro)..................................................................................5
Particines y montaje............................................................................................................................5
El archivo fstab - montar particiones.........................................................................................................6
Creando una entrada en /etc/fstab.........................................................................................................8
Qu es montar? - mount.........................................................................................................................10
Un caso especial: (desmontando mediante el comando 'unmount')....................................................10
Ubicar cmo ha llamado a nuestro disco el directorio /dev................................................................11
Creando un punto de montaje con 'mkdir'...........................................................................................14
Utilizando el comando 'mount' ...........................................................................................................14
df espacio libre y dispositivos montados..............................................................................................15
Reparacin de Sistemas de Archivos.......................................................................................................16
Badblocks Encuentra bloques defectuosos.......................................................................................16
Fsck repara el sistema de archivos...................................................................................................17
Leer, escribir y borrar en sistema de archivos NTFS...............................................................................19
Introduccin.........................................................................................................................................19
Utilizando NTFS-3G...........................................................................................................................20
Que es NTFS-3g...........................................................................................................................20
Qu es FUSE?...............................................................................................................................20
Instalacin de FUSE.......................................................................................................................20
Instalacin de NTFS-3G en Ubuntu....................................................................................................22
Instalacin de NTFS-3G en CentOS...................................................................................................23
Actualizar el archivo '/etc/fstab'..........................................................................................................23
Leer, escribir y borrar en sistema de archivos NTFS...............................................................................26
Poner en marcha 'FUSE' y montar la unidad NTFS............................................................................26
Consideraciones finales.......................................................................................................................26
En el archivo fstab (me funciona).......................................................................................................28
Descripcin
Sistema de archivos de Linux, sustituto natural de su antecesor ext2.
Sistema de archivos de DOS.
Sistema de archivos de Windows 9X (permite nombres largos).
Sistema de archivos de CD-ROM.
Sistema de archivos compartido por red (exportado).
En realidad hay muchos ms Sistemas de Archivos que puede reconocer nuestro kernel de gnu/linux,
pero estos son los ms importantes.
De acuerdo a la instalacin que hayamos hecho, el SO podra tener soporte compilado directamente en
el kernel de linux de los sistemas de archivos tipo ext2, ext3, msdos, vfat e iso9660 (para cds) en forma
de montaje activo. Tambin es posible que esto se logre por medio de mdulos.
Podemos saber qu sistemas de archivos soporta el kernel mirando el archivo 'filesystems' que se ubica
dentro del directorio 'proc'. Veamoslo:
#cat /proc/filesystems
nodev sysfs
nodev rootfs
nodev bdev
nodev proc
nodev securityfs
nodev sockfs
nodev pipefs
nodev futexfs
nodev tmpfs
nodev inotifyfs
nodev eventpollfs
nodev devpts
cramfs
nodev ramfs
nodev mqueue
nodev usbfs
ext3
ntfs
vfat
nodev binfmt_misc
Veamos ahora los mdulos del kernel desde el directorio /lib mediante la utilizacin del comando 'ls'
Particines y montaje
Hemos visto ya algo de este tema cuando tuvimos que particionar para la instalacin, pero en aquella
ocasin no tenamos todava muchas posibilidades de ver el tema en profundidad como haremos hoy.
Una posible tabla con las particiones que podemos tener es la siguiente:
Nombre del dispositivo
/dev/hda
/dev/hda1
/dev/hda2
/dev/hdb
/dev/hdc1
/dev/sda3
Podemos ver todas las unidades de disco rgido en la tabla de sistema de archivos conocida como fstab
y hasta editarla con un editor de textos.
Alguien nos ha dicho que para encontrar hda2 debemos ir al sudirectorio /media (en algunas
distribuciones, en lugar de /media los discos windows se encuentran dentro del subdirectorio /mnt)
Entonces hacemos:
$ root@losindios:~# cd /media/hda5
$ root@losindios:/media/hda5# ls
En el primer paso con 'cd' fuimos al subdirectorio /media/hda5. En un segundo paso le pedimos que
listara lo que haba dentro de /media/hda5 y para nuestra sorpresa el sistema no nos inform nada. Que
sucedi?
Existe un lugar llamado /media/hda5 pero, dentro de este no hay nada!!! Y esto es asi porque an no
hemos 'montado' nuestra particin all. O sea que debemos asociar nuestro dispositivo (en este caso una
particin del disco rgido) con un punto de montaje o subdirectorio.
Lo que podemos hacer entonces, es montar nuestro dispositivo manualmente mediante el comando
'mount' de la siguiente manera:
Vemos la forma de montar un dispositivo: <nombre del dispositivo a utilizar> <punto donde se va a
montar> -t <tipo de sistema de archivos>.
Cuando se menciona 'nombre del dispositivo a utilizar' se refiere al nombre con el que se identifica la
particin a montar (en este caso /dev/hda2), luego cuando dice 'punto donde se va a montar' se refiere a
un subdirectorio que hemos creado con anterioridad y que generalmente para poder individualizar lleva
el mismo el nombre que la particin aunque podra ser cualquier otro. En este caso '/media/hda2'.
Finalmente luego de utilizar el parmetro '-t' se indica el tipo de sistema de archivos que en el caso de
Windows ser 'vfat' o tal vez 'ntfs'.
Ahora s vamos a ir al punto de montaje
root@losindios:~# cd /media/hda2
root@losindios:/media/hda6# ls
Mensajes
Mensajes Bandeja de Entrada
Mensajes Flash
Recycled
Reflejo.eml
System Volume Information
Al listar lo que haba dentro de la particin como el punto de montaje est realmente montado, nos dio
su contenido sin problema.
Ahora bien, no es necesario estar montando y desmontando particiones cada vez que queremos
manipular alguna. Esto se puede hacer en forma completamente automtica por medio del archivo fstab
durante el inicio del sistema. Vamos a ver qu contiene este archivo utilizando el comando 'cat' de la
siguiente manera:
root@losindios:~# cat /etc/fstab
# /etc/fstab: static file system information.
#
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
/dev/hda9 /home ext3 defaults,errors=remount-ro 0 1
/dev/hda1 /media/hda1 ntfs defaults,nls=utf8,umask=007,gid=46 0 1
/dev/hdc /media/cdrom0 udf,iso9660 user,noauto 0 0
/dev/fd0 /media/floppy0 auto rw,user,noauto 0 0
Lo primero que vemos es el dispositivo. En el primer caso es 'proc' que se trata de un caso especial ya
que es un directorio de tipo temporal que se crea al momento de booteo con los procesos que estn
corriendo en el sistema.
En segundo lugar aparece como dispositivo '/dev/hda9' y se trata de la particin '/home' de nuestro
sistema gnu/linux. Por este motivo vemos que es un tipo ext3 tpico de gnu/linux. Por debajo vemos un
dispositivo /dev/hda1 que est montado en /media/hda1 y que es un tipo 'ntfs' o sea un tipo windows.
Lo que sigue indica si el montaje es automtico durante el arranque (defaults) o si no se monta durante
el arranque (noauto). Es el caso de /dev/hdc que corresponde a un dispositivo que tiene como punto de
montaje /media/cdrom y que vemos un file system diferente (udf, iso9660 tpico de estos dispositivos)
Existen ms opciones posibles, vamos a verlas en la siguiente tabla:
Opcin posible
defaults
dev
exec
noauto
async
user
suid
remount
ro
rw
Explicacin
Activa las opciones read/write, suid, dev, exec, auto, nouser y async.
Permite el uso de i-nodos. Para entenderlo veremos prximamente este tema. Lo
importante es que el uso de nodev (lo contrario de dev) es a veces utilizado para
seguridad del sistema.
Le indica al kernel que permita la ejecucin de programas. La opcin de noexec
es lo contrario y le indica al sistema de archivos que no permita la ejecucin.
Le indica al sistema que no debe montar ningn dispositivo durante el inidio del
SO. Es la opcin contraria de 'auto'
No mantiene sincronismo entre los datos escritos y el software de aplicacin, lo
que hace ms rpido el sistema, pero tambin puede que en algunas
oportunidades resulte en la prdida de datos. Su uso contrario es sync.
Los usuarios pueden montar y desmontar particiones
Tiene efecto en los identificadores de propietario y de grupo. (volveremos sobre
el tema con detalle)
Permite al comando 'mount' cambiar indicadores de un sistema de archivos que
se encuentre montado sin necesidad de reiniciar
Del ingls 'read only' monta el sistema pero para solo lectura.
Del ingls 'read and write' monta el sistema para que solo tenga lectura y
escritura
La penltima columna est relacionada con el comando 'dump'. Este compara el nmero indicado en la
columna con el nmero de das transcurridos desde la ltima copia del sistema de archivos. Sistemas de
backup como Amanda utilizan este dato para actualizar sus backups.
La ltima columna se relaciona con el comando 'fsck pass' y le indica al sistema que varias particiones
pueden ser comprobadas al mismo tiempo durante el inicio. Siempre el primero de todos es el sistema
raiz, pero luego de finalizada la comprobacin de este, es posible comprobar varias particiones al
mismo tiempo. Esto no siempre es conveniente ya que si se trata del mismo disco rgido, las cabezas
del disco se movern exesivamente por todo el disco y determinarn una prdida de tiempo. En el caso
de ser diferentes discos, esto de comprobar simultaneamente puede ser de ayuda para minimizar el
tiempo de comprobacin. Si varios sistemas tienen el mismo nmero se comprobarn al mismo tiempo,
determinando el nmero adems, el orden de comprobacin. Los sistemas con nmero 0 no se
comprueban en absoluto, en esta forma. (salvo que exista algn tipo de problema).
Si los datos anteriores no fueran guardados en /etc/fstab la prxima vez que iniciemos sesin
deberamos nuevamente volver a montar el disco rgido en cuestin. Podemos evitarlo si modificamos
nuestro archivo agregando una entrada y la opcin auto (para que se monte en forma automtica
durante el booteo).
Debemos tomar en cuenta que antes de 'tocar' /etc/fstab conviene hacer una copia del mismo y tenerlo
fuera de la computadora por si algn error nos deja inoperante el sistema de montaje.
Con un editor de textos cualquiera (como vim o mcedit) modificaremos el archivo en cuestin
agregando una lnea como la que sigue:
/dev/hdb1 /media/disco2 ext3 user, auto, dev, 0 0
Con esta lnea lo que estamos haciendo es indicar un dispositivo (/dev/hdb1), indicando su punto de
montaje (/media/disco2), el sistema de archivos (ext3), y luego en opciones le indicamos: 'user'
(cualquier usuario puede montar o desmontar el dispositivo), 'auto' (al inicio del sistema este se
montar automticamente), dev (uso de i-nodos), 0 0 indica al estar en '0' que no debemos dar
importancia al tiempo para backup ni a la comprobacin y orden de montaje.
Si hubieramos querido que la particin en cuestin se montara en forma no automtica y solo por root
la lnea anterior dira:
/dev/hdb1 /media/disco2 ext3 nouser, noauto, dev, 0 0
Luego de la lnea anterior debemos dejar una lnea vaca en el archivo en cuestin. Esto es necesario en
casi todos los scripts y archivos de texto plano, as que no lo olvidemos ya que de lo contrario puede
que el archivo no funcione.
Otra cosa importante, no olvidemos guardar el archivo!
Listo, la prxima vez que iniciemos la sesin el /etc/fstab le dir al sistema que monte (si usamos la
opcin 'auto') en forma automtica el disco nuevo.
10
Qu es montar? - mount
En gnu/linux no podemos leer una particin o un disco rgido directamente del archivo /dev.
(Recordemos que en linux todo dispositivo es considerado un archivo). Para poder hacerlo debemos
'montar' el dispositivo. Algunos hacen esto directamente al inicio y en forma automatizada, mientras
que otros deben ser llamados desde lnea de comandos para indicar su montaje. En suma para montar
una particin, debemos tener un 'espacio fsico' donde poder hacerlo. Para esto podemos crear un
directorio.
Linux accede a los dispositivos mediante archivos (directorios de /dev) y aqu tropezamos
normalmente con un concepto difcil de entender para aquellos que provenimos de Windows. En Linux
no existe el concepto de unidades, (A:\, C:\ D:\, etc) ya que todo est bajo el directorio principal. (\) Por
ejemplo para accdederf a la disquetera no utilizaremos la orden A:\ sino que previamente tenemos que
'montarla'. O sea que en realidad estamos hablando de dos nuevos conceptos. Montar es:
1) Decirle a gnu/linux que vamos a utilizar un determinado dispositivo.
2) Indicarle el sistema de archivos que vamos a utilizar y el directorio donde lo podemos encontrar.
Por ejemplo supongamos que 'hda1' es una particin fat32 donde se aloja un windows... para poder
verlo y hasta escribir en este, previamente debemos crear en alguna parte el directorio correspondiente
donde se va a montar. Por ejemplo podra ser para nuestro caso /mnt/hda1 o bien /media/hda1 aunque
estos nombres tienen que ver con un tema de practicidad (porque tienen el mismo nombre que la
unidad en /dev), pero bien podramos haber creado /mnt/cualquiercosa sin que haya problema.
Luego hacemos el montaje de la siguiente manera:
mount [-t tipo] [-o opciones] device punto de montaje
En este caso solo hemos utilizado el 'device' (/dev/hda1) y el punto de montaje (/mnt/hda1)
Veamos ahora un ejemplo ms completo:
mount -t msdos /dev/fd0 /mnt/floppy -o rw,noexec,noauto
En este caso le indicamos el 'tipo' (MSDOS), luego el 'device' (dev/fd0), luego el 'punto de montaje'
(mnt/floppy) y luego las opciones 'rw' (que pueda leer y escribir), que no pueda ejecutarse y que no se
monte en forma automtica al empezar sino que para hacerlo sea necesario usar la orden 'mount'
11
La disquetera es un caso especial. Si sacramos directamente el disquette sin desmontar, tal vez
podramos hacer dao tanto al disquette como a la propia disquetera. Por este motivo ANTES de retirar
el disquette de la disquetera siempre debemos desmontar con la siguiente orden:
umount /mnt/floppy
Cada vez que montamos un disquette con formato 'vfat' el kernel de gnu/linux carga en forma
automtica el controlador correspondiente (vfat). Todos los controladores necesarios para el
funcionamiento del sistema (y no solo este) los carga 'kerneld' es un servicio automatizado que corre en
background y que carga y descarga segn las necesidades del sistema los controladores necesarios.
Cada vez que no se usa ms un controlador, kerneld lo descarga y de esta forma libera memoria.
12
Vemos que hay muchos dispositivos, puertos, etc pero nos vamos a enfocar en los dispositivos de disco
que veamos. En este caso los hdX representan discos IDE. Si en cambio tenemos discos SCSI o SATA
la nomenclatura ser sdX. En ambos casos la X representa una letra (el primer disco ser A, el segundo
del mismo tipo ser B, etc) y luego un nmero (el nmero 1 ser la primer particin, el 2 la segunda,
etc.) Por ejemplo sdb3 representara el segundo disco SCSI y su particin 3.
13
En nuestro caso vemos particiones tipo IDE (hda, hda1, hda2, hda3, hdb, hdb1, etc) Observamos que
aparece como dispositivo el disco sin particiones (hda, hdb) y luego nuevamente el disco en cuestin
pero con cada particin (hda1, hda2, hda3, hda4, etc).
Cmo saber la nomenclatura de nuestro nuevo disco duro (rgido)? Una forma posible es ver esta lista
antes de instalar el disco y volver a verla luego de instalado. En esta forma la diferencia (el o los
dispositivos nuevos) nos dar la nomenclatura utilizada. Otra forma posible es razonar la nomenclatura
posible. Por ejemplo si tenamos un solo disco IDE este sera seguramente hda. Por lo tanto un nuevo
disco ser hdb. Buscaramos los datos de este nuevo disco, y tambin de acuerdo al nmero de
particiones efectuadas al mismo los dems dispositivos. Por ejemplo si hicimos una sola particin
veremos los siguientes dispositivos:
hdb, hdb1.
Otra forma posible es leer los mensajes que deje 'dmesg' Recordamos que con este comando podemos
ver los mensajes de inicio. Normalmente estos no pueden leerse por la velocidad con que 'pasan' por la
pantalla, pero mediante 'dmesg' podremos verlo sin problema.
root@losindios:/~# dmesg | more
+[17179569.184000] Linux version 2.6.17-11-386 (root@terranova) (gcc version 4.1.
2 20060928 (prerelease)) #2 Thu Feb 1 19:50:13 UTC 2007
..........
[17179569.184000] DMI 2.3 present.
[17179569.184000] ACPI: RSDP (v000 AMI ) @ 0x0
[17179574.336000] hda: SAMSUNG WD800BB-22JHA0, ATA DISK drive
[17179574.616000] hdb: PHILLIPS SP0802N, ATA DISK drive
[17179574.672000] ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
[17179574.692000] Probing IDE interface ide1...
[17179575.428000] hdc: LITE-ON DVDRW SOHW-1673S, ATAPI CD/DVD-ROM drive
[17179576.212000] hdd: SONY CD-RW CRX230ED, ATAPI CD/DVD-ROM drive
[17179576.268000] ide1 at 0x170-0x177,0x376 on irq 15
[17179576.276000] hda: max request size: 128KiB
[17179576.296000] hda: 156301488 sectors (80026 MB) w/2048KiB Cache,
CHS=65535/16/63, UDMA(100)
[17179576.296000] hda: cache flushes supported
[17179576.296000] hda: hda1 hda2 < hda5 hda6 hda7 >
[17179576.356000] hdb: max request size: 512KiB
[17179576.356000] hdb: 156368016 sectors (80060 MB) w/2048KiB Cache,
CHS=16383/255/63, UDMA(100)
[17179576.356000] hdb: cache flushes supported
[17179576.356000] hdb: hdb1
[17179576.424000] hdc: ATAPI 48X DVD-ROM DVD-R CD-R/RW drive, 2048kB Cache,
UDMA(66)
[17179576.424000] Uniform CD-ROM driver Revision: 3.20
[17179576.428000] hdd: ATAPI 52X CD-ROM CD-R/RW drive, 2048kB Cache, UDMA(33)
[17179576.984000] usbcore: registered new driver usbfs
[17179576.984000] usbcore: registered new driver hub
[17179576.984000] ohci_hcd: 2005 April 22 USB 1.1 'Open' Host Controller (OHCI)
Driver (PCI).............................................................
En realidad este archivo es bastante ms grande y para evitar confusiones solo he dejado la parte que
nos interesa, pero tiene muchos ms datos al comienzo y tambin al final.
14
Hemos indicado el tipo (-t ext3), el dispositivo (/dev/hdb1) y el punto de montaje (media/disco2)
creado anteriormente.
15
Vemos que hay una pequea porcin del disco que el sistema se reserva por lo que el espacio
disponible en hdb1 es un poco menor que la disponibilidad total aunque nunca haya sido todava usado.
16
17
Si badblocks informa que un bloque con problemas est siendo utilizado, e2fsck intentar mover la
informacin que guarda este bloque a otra parte del disco. Pero debemos saber que si el bloque estaba
realmente defectuoso, posiblemente no podamos recuperar el contenido del archivo ya que este se
encontrar corrupto.
18
19
20
Utilizando NTFS-3G
Que es NTFS-3g
Es un 'driver' que trabaja en 'espacio de usuario'. Para no entrar en cuestiones demasiado tericas
(especialmente cuando todava no hemos abordado el tema terico del kernel y su compilacin)
solamente quiero dejar en claro que no est en el kernel sino en una capa que se encuentra 'encima' de
este y que es independiente. Esto puede ser visto como un inconveniente, de todos modos el
rendimiento es muy bueno.
Pero para poder montar un sistema de archivos en el espacio de usuario necesitamos otra utilidad
llamada 'FUSE'.
Qu es FUSE?
Con FUSE es posible poner un sistema de archivos en ejecucin en espacio de usuario. Sus
caractersticas ms salientes son:
Instalacin de FUSE
Si bien FUSE ya existe en Ubuntu y otras distribuciones con Kernel 2.6, la versin existente no es
FUSE 2.6.3 necesaria para instalar NTFS-3G. (Fuse puede usarse con otras utilidades que no son
NTFS-3G). Por este motivo, antes de instalar FUSE es necesario desinstalar las versiones anteriores
que pudiramos tener.
Tambin es posible que al intentar utilizar './configure' aparezca una indicacin que diga:
'Detected that FUSE is already present in the kernel, so building of kernel module
is disabled. To force building of kernel module use the '--enable-kernel-module'
option.'
21
En este caso lo que hay que hacer al momento de utilizar el comando './configure' es escribirlo de
siguiente manera:
'./configure --enable-kernel-module'
b)
$ gzip -d fuse-2.6.3.tar.gz
Podemos observar el signo '$' lo que nos dice que estamos haciendo esto como usuario
comn...pero podemos hacerlo como root tambin. Esta primera parte podemos hacerla de
cualquiera de las dos maneras.
Una vez que finaliz el proceso veremos que nuestro archivo se llama ahora
'fuse-2.6.3.tar'
Esto es as porque lo hemos descomprimido, pero todava est empaquetado con la utilidad 'tar'.
c)
Desempaquetamos
Desde lnea de comandos escribimos:
Veremos pasar por la pantalla gran cantidad de archivos producto del desempaquetado.
d)
$ cd fuse-2.6.3
e)
22
$ make
Luego de unos instantes y si todo sali sin fallas el sistema volver al prompt y estaremos listos
para el siguiente (y ltimo comando).
g)
Atencin! este ltimo paso debe ser dado como root, as que si estbamos como usuario
comn, antes de escribir nada en lnea de comandos debemos loguearnos como root y luego
seguir.
En lnea de comandos escribimos
# make install
b)
$ gzip -d ntfs-3g-1.0.tgz
Con esto habremos logrado que nuestro archivo se descomprima pero an es un empaquetado con
todos los archivos por lo que debemos desempaquetarlo.
c)
Con esto habremos logrado que se contruya un directorio del mismo nombre con todos los
archivos ya desempaquetados y descomprimidos.
d)
$ cd ntfs-3g-1.0
e)
Utilizando './configure'
Escribimos en consola el comando en cuestin:
$ ./configure
Luego de algunos instantes el SO volver al prompt. Es muy importante ver si aparecen mensajes
de error, tales como la falta de alguna biblioteca. En este caso se deber resolver primero la falta
23
de la dependencia en cuestin y luego volver a hacer './configure'. Una vez que todo ha quedado
en forma correcta, pasamos al siguiente item.
f)
Si todo sali bien de './configure' debemos usar el comando 'make' de la siguiente forma:
$ make
Si todo sali de acuerdo a lo previsto, pasaremos ahora al ltimo comando que debemos realizar
como root (no como usuario comn)
# make install
Si estamos nuevamente en el 'prompt' significa que hemos realizado todo el proceso sin inconveniente.
Felicitaciones!
De lo contrario seguimos las indicaciones que aparezcan por consola para agregar alguna dependencia
que est en falta o desactualizada.
24
Analicemos un poco esta lnea para saber cmo adaptarla a nuestras necesidades en nuestro propio SO.
Lo primero que aparece es como se encuentra indicado el dispositivo en '/dev'. Esto es muy importante;
por ejemplo en mi caso trat de realizar este proceso en una mquina virtual...pero como la misma no
estaba leyendo el dispositivo en cuestin el proceso no anduvo.
Para saber cmo se llama realmente nuestro dispositivo, podemos ir al directorio 'dev' mediante:
cd /dev
Y el nombre 'hda1' es solo por una cuestin de practicidad, pero podramos haberle puesto 'juancito' y
funcionara igual. Ejemplo:
# mkdir /media/juancito
De acuerdo al nombre con el que se cre el subdirectorio, ese deber ser el nombre donde hagamos el
punto de montaje que indicaremos en fstab. En nuestro caso fue '/media/hda1'.
Luego indicamos el tipo de sistema de archivos, y vemos una particularidad...no indicamos 'ntfs' sino
'ntfs-3g' lo que indentifica este tipo de sistema de archivos.
Finalmente hemos identificado 'silent' lo que quiere decir que no queremos saber de los mensajes que
enve el kernel. El 'umask=0' es un tipo especial de 'mscara' para los permisos y lo que estamos
haciendo es decirle al SO que no utilizaremos mscara alguna. Este tema ser visto en detalle un poco
ms adelante.
Los dos '0' indicados al final, nos indican que no habr verificacin programada de la particin con fsck
y tampoco se harn chequeos especiales de la particin.
Tengamos especial cuidado, una vez escrita la lnea correspondiente (o modificada), en llegarnos con el
cursor hasta la parte de abajo del archivo y dejar por lo menos una lnea vaca, antes de guardar el
archivo. Todo esto por supuesto hecho como root.
25
En lugar de escribir esto ltimo y de modificar el archivo /etc/fstab, es posible lograr el mismo
resultado, sin modificar el citado archivo y simplemente escribiendo en consola:
# ntfs-3g /dev/hda1 /media/hda1 -o silent,umask=0
Consideraciones finales
Si todo anduvo de acuerdo a lo previsto ya nuestro sistema podr leer, escribir, modificar y guardar
archivos dentro de la particin NTFS sin problema.
Para saber si esto es posible podemos hacer lo siguiente:
$ touch /home/pepe/info1
Con esto creamos un archivo vaco llamado 'info1' en nuestro directorio '/home/pepe'. Podramos
-mejor an- en lugar de crear un archivo vaco, escribir desde un editor de texto -tipo mcedit- un
pequeo archivo y guardarlo con un nombre fcil de identificar como 'info1'.
Lo importante es que este archivo est en /home/[usuario] (en nuestro caso 'pepe') ya que ese
subdirectorio estar formateado en ext3 o reiserfs, es decir en alguna forma que no sea NTFS.
Luego desde lnea de comandos escribimos
# cp /home/pepe/info1 /media/hda1
26
27
hiberfil.sys NVIDIA
root@losindios:/media/hda1#
Hemos utilizado el ';' para escribir dos comandos en la misma lnea. Con el primero ('cd') nos
posicionamos en la particin en cuestin (/media/hda1), mientras con con 'ls' listamos el contenido de
la misma. Vemos all que hay un archivo llamado 'info1' que es el que hemos copiado desde la particin
'ext3'.
Ahora vamos a modificar el archivo en cuestin:
# mcedit /media/hda1/info1
Aparece el archivo en cuestin, al que cambiaremos mediante el editor de texto su contenido, por otro
que se nos ocurra. Finalizada la modificacin guardamos el archivo.
Ahora abrimos el archivo pero solo para lectura mediante el comando 'cat'
# cat /media/hda1/info1
Mediante 'cat' podemos ver el archivo en /home/pepe/info2 y deber tener el mismo contenido que
tena luego de modificado en /media/hda1.
# cat /home/pepe/info2
Finalmente, vamos a borrar los archivos que hemos agregado a nuestro NTFS
root@losindios:~# rm -i /media/hda1/info1
rm: borrar el archivo regular `/media/hda1/info1'? (s/n) s
root@charrua:/media/hda1# ls
hiberfil.sys NVIDIA
Archivos de programa pagefile.sys
AUTOEXEC.BAT Bootfont.bin Program Files
IO.SYS readme.txt
Config.Msi MSDOS.SYS RECYCLER
CONFIG.SYS System Volume Information
Documents and Settings
NTDETECT.COM WINDOWS
ntldr wingtk
root@losindios:/media/hda1#
Una vez borrado el archivo 'info1' hicimos un 'ls' y vemos que ya no est el mismo en /media/hda1
Con esto hemos copiado desde una particin gnu/linux a una NTFS, luego hemos copiado desde una
particin NTFS a una particin gnu/linux, tambin hemos modificado el archivo que se encontraba en
la particin NTFS y finalmente lo hemos borrado, todo sin problema.
28
/media/cdrom0
/media/Hawk
/media/Eagle
udf,iso9660 user,noauto,exec,utf8 0
0
ntfs-3g
rw,nosuid,nodev,user_id=0,group_id=$
ntfs-3g
rw,nosuid,nodev,user_id=0,group_id=$
fstab de mente
# /etc/fstab: static file system information.
#
# Use 'blkid -o value -s UUID' to print the universally unique identifier
# for a device; this may be used with UUID= as a more robust way to name
# devices that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>
<type> <options>
<dump> <pass>
proc
/proc
proc
nodev,noexec,nosuid 0
0
# / was on /dev/sdb1 during installation
UUID=f915f076-2155-45ca-a997-dbac8faed7b9 /
ext4
errors=remoun$
# /home was on /dev/sdb6 during installation
UUID=976ed08d-cfc4-4c96-8374-35d65926b7a4 /home
ext4
defaults
$
# swap was on /dev/sdb5 during installation
UUID=79ea11fb-1358-4745-a408-d655d7fcda76 none
swap
sw
$
/dev/sda1 /media/Hawk
ntfs-3g rw,nosuid,nodev,user_id=0,group_id=0 0 0
/dev/sda2 /media/Eagle ntfs-3g rw,nosuid,nodev,user_id=0,group_id=0 0 0
To mount read-write:
/dev/hda1 /mounting/win ntfs-3g rw,umask=0000,defaults 0 0
/dev/hdb1 /mounting/win1 ntfs-3g rw,umask=0000,defaults 0 0
29
Finalizado el proceso de formateo habr un proceso de comprobacin. Si queremos evitar este ltimo
proceso en lugar del comando anterior en lnea de comandos escribiremos:
$ fdformat -n /dev/fd0
30
Sistemas de archivo
Qu son los sistemas de archivos?
Una definicin simple podra ser: "Es el conjunto de particiones que tiene uno o varios discos en
nuestra computadora".
Sin embargo por ser una definicin muy simple, puede llevarnos a equvocos.
Es preferible definir un Sistema de Archivos como "Una estructura organizada de datos que sirve
para poder ubicar dentro del/los disco/s los archivos (en *nix los directorios son tambin
considerados archivos) que utiliza el Sistema Operativo".
La construccin de un sistema de archivos es en realidad el formateo de alto nivel y consiste en
iniciar la construccin de la estructura de datos. En los sistemas *nix estaremos hablando de
superbloque, i-nodo (tambin conocido como 'nodo ndice'), bloque de datos, bloque de directorio, etc.
Mientras que el superbloque cuenta con la informacin general del sistema de archivos, un inodo
tiene todos los datos de un archivo (permisos, fechas, ubicacin, pero no contiene el nombre del
archivo).
Existe una forma aparte de almacenamiento junto al directorio que cuenta con el nombre del archivo y
el nmero de i-nodo.
minix
El ms antiguo y supuestamente el ms fiable, pero muy limitado en caractersticas (algunas marcas de
tiempo se pierden, 30 caracteres de longitud mxima para los nombres de los archivos) y restringido en
capacidad (como mucho 64 MB de tamao por sistema de archivos).
ext3
El sistema de archivos ext3 posee todas las propiedades de un sistema de archivos anterior conocido
como ext2. La diferencia es que se ha aadido una bitcora (journaling). Esto mejora el rendimiento y
el tiempo de recuperacin en el caso de una cada del sistema. Por este motivo ext3 es mucho ms
seguro y rpido que ext2 y se ha vuelto ms popular. No tienen fragmentacin porque los datos se
guardan en forma secuencial y no aleatoria. Esto significa que no es necesario defragmentar el disco
rgido ya que no se fragmenta.
31
ext2
Diseado para tener compatabilidad con diseos futuros, es la versin anterior al ext3, pero hay an en
la actualidad quin lo sigue usando por se muy fiable. No tienen fragmentacin porque los datos se
guardan en forma secuencial y no aleatoria. Al igual que ext3 no es necesario defragmentar el disco
rgido ya que no se fragmenta.
ext
Es el primero de los ext, el ms antiguo y no es compatible con los sistemas ms nuevos. Por este
motivo no es utilizado en instalaciones nuevas, y en general ha sido sustituido por otros Sistemas de
archivos.
reiserfs
Es un Sistema de Archivos robusto, que al igual que el ext3 utiliza una bitcora lo que hace que sea
menos frecuente la prdida de datos. La bitcora es registro por transaccin actual o anterior y que
permite autoreconstruir el sistema de archivos en caso de una dao, como puede ser un corte de
suminisitro elctrico o un apagado inadecuado del ordenador. No tienen fragmentacin porque los datos
se guardan en forma secuencial y no aleatoria. Al igual que ext3 no es necesario defragmentar el disco
rgido ya que no se fragmenta.
Existe tambin soporte para otros Sistemas de Archivos no nativos utilizados normalmente por otros
Sistemasa Operativos como DOS, Windows, etc.
msdos
Permite tener compatibilidad con FAT de MS-DOS, OS/2 y Windows NT.
vfat
Es tambin conocida como FAT32. Soporta tamaos de discos mayores que FAT y es el Sistema de
Archivos adoptado en la mayora de discos con MS Windows, si bien los ms nuevos utilizan NTFS.
ntfs
Es el sistema que sustituye a Fat32 en los windows ms nuevos. Si bien hubo algn problema para
escribir y editar en este sistema de archivos. En la actualidad los Sistemas Operativos GNU/Linux
pueden manejarlo sin problemas.
iso9660
El sistema de archivos estndar para CD-ROM, permite nombres de archivo ms largos.
32
nfs
Es un sistema de archivos de red que permite compartir sistemas de archivos de varias computadoras y
as permitir fcil acceso a todos los archivos.
smbfs
Permite compartir un sistema de archivos en nuestra computadora con otro que se encuentre en una
computadora con Windows por ejemplo. Esto lo hace particularmente til en una red donde tenemos un
servidor *nix con terminales Windows o viceversa.
hpfs
El sistema de archivos de OS/2.
En general se tiende a utilizar 'reserfs' o 'ext3' para la instalacin de un Sistema operativo GNU/Linux,
mientras que los sistemas de archivos no nativos pueden igualmente utilizarse si estn en la misma
computadora montndolos (caso VFat o NTFS) o mediante NFS si estn en otra computadora.
En otras palabras, si en nuestra computadora co-existe ms de un Sistema Operativo, por ejemplo un
SO GNU/Linux con otro Windows, seguramente si bien el GNU/Linux utilizar ext3 o reiserfs, el SO
Windows utilizar NTFS o Fat32.
Nuestro Sistema Operativo GNU/Linux nos permitir trabajar con todos estos Sistemas de archivos
montndolos, de forma que podamos acceder tambin a los datos que estn guardados en otros sistemas
de archivos no nativos.
Podramos perfectamente tener nuestro SO GNU/Linux en un sistema de archivos Fat32 pero
perderamos en velocidad, seguridad, etc. En un sistema 'ext3' o 'reserfs' no existen los clsicos
problemas de fragmentacin, veramos que el espacio utilizado para guardar un mismo archivo, es
mayor en otros sistemas de archivos no nativos.
Si tenemos nuestra computadora en red, posiblemente queramos ver archivos que no estn
especficamente en nuestra computadora, y para esto existe 'NFS', pero si la red es mixta, es decir tiene
computadoras que funcionan en otro SO, lo conveniente es trabajar con 'Smbfs'.
'Proc', en realidad no es un sistema de archivos, aunque est montado en el directorio del mismo
nombre (/proc), lo que hace es permitirnos el acceso a ciertos datos del ncleo, como la lista de
procesos. Por ejemplo, teniendo acceso al /proc podemos, mediante lnea de comandos conocer los
procesos actuales en nuestro sistema. Veamos cmo:
# ls -l /proc
total 0
dr-xr-xr-x
dr-xr-xr-x
dr-xr-xr-x
dr-xr-xr-x
dr-xr-xr-x
5
5
5
5
5
root
root
root
klog
messagebus
root
root
root
klog
messagebus
0
0
0
0
0
2007-07-27
2007-07-27
2007-07-27
2007-07-27
2007-07-27
16:55
16:55
16:55
16:55
16:55
4466
4568
4621
4623
4644
5
5
5
5
5
5
5
5
5
5
5
5
5
1
2
1
1
haldaemon
root
root
root
root
root
root
hplip
root
clamav
cupsys
root
root
root
root
root
root
33
haldaemon
root
root
root
gdm
root
root
lp
root
clamav
lp
root
root
root
root
root
root
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2007-07-27
2007-07-27
2007-07-27
2007-07-27
2007-07-27
2007-07-27
2007-07-27
2007-07-27
2007-07-27
2007-07-27
2007-07-27
2007-07-27
2007-07-27
2007-07-27
2007-07-27
2007-07-27
2007-07-27
16:55
16:55
16:55
16:55
16:55
16:55
16:55
16:55
13:55
16:55
18:55
13:55
13:55
18:55
18:55
18:55
18:55
4660
4661
4760
4786
4787
4792
4875
4878
5
5023
5979
6
7
vmcore
vmnet
vmstat
zoneinfo
El directorio /proc no es parte del sistema de archivos del disco rgido sino que se encuentra en
memoria y desaparecer cada vez que apaguemos la computadora. Ser el ncleo quin har aparecer
los datos en /proc como si se tratase de un directorio normal.
34
y el sistema nos dar las opciones posibles a utilizar mediante un listado como el que se muestra a
continuacin:
Usage: mkfs.ext2 [-c|-t|-l filename] [-b block-size] [-f fragment-size]
[-i bytes-per-inode] [-I inode-size] [-j] [-J journal-options]
[-N number-of-inodes] [-m reserved-blocks-percentage] [-o creator-os]
[-g blocks-per-group] [-L volume-label] [-M last-mounted-directory]
[-O feature[,...]] [-r fs-revision] [-R options] [-qvSV]
device [blocks-count]
35
Donde, /dev/hdc especifica el dispositivo correspondiente a nuestro CD-ROM, y /cdrom debe ser un
directorio vaco.
36
PenDriver MOntar
Generalmente el pc se te pone como un dispositivo de almacenamiento ms eso quiere decir que si lo
montas tu mismo con mount, seguramente ser un dispositivo del tipo "/dev/sdXX" dnde XX puede
ser una letra y un nmero en mi caso por ejemplo el dispositivo lo tengo en "/dev/sdg1" por lo que
haria
$ mount -t auto /dev/sdg1 /media/pendrive
de este modo me montaria el pendrive en el directorio /media/pendrive (este directorio deber estar
creado previamente).
$ mount -t tipodeparticion /dev/sda1 /mnt/puntodemontaje
Pues en la distro ubuntu, debemos cambiar vfat por usbfs.. quedando el comando finalmente como
$ mount -t usbfs /dev/.static/dev/sda /mnt/usb
Vemos el dispositivo
$ mount -t vfat /dev/sd<> /mnt/usb
37
38
No se pudo desmontar dispositivo, el dispositivo est ocupado algn proceso est leyendo esa unidad.
Para saber cul es el proceso usaremos el comando fuser (paquete psmisc):
$ fuser -v /dev/fd0
USER
/dev/fd0:
francis
PID
265
ACCESS
f....
COMMAND
xfe
Vemos que el proceso 265 xfe tiene el dispositivo abierto, de manera que si queremos desmontar la
unidad tendremos que dejar que termine o matarlo. El comando fuser, con la opcin -k, nos permite
matar directamente los procesos que estn usando el dispositivo:
# fuser -k /dev/fd0