El misterio de los puntos de montaje
ArticleCategory:
UNIXBasics
AuthorImage:[Here we need a little image from you]
TranslationInfo:[Author + translation history. mailto: or
http://homepage]
original in en Guido Socher
en to es Roberto Uris
AboutTheAuthor:[A small biography about the author]
A Guido le gusta Linux debido a la comuindad que existe
alrededor de este sistema operativo. Es un proyecto enorme en
la cual diferentes personas alrededor del mundo estan trabajando,
todos con un mismo objetivo: Mejorarlo cada dia.
Desafortunadamente Linux se ha vuelto tan grande que también
atrae a los chicos malos que solamente quieren hacer dinero y no
dar nada a cambio. Cuidese de estas personas! Suelen dar la imagen
de ser empresas "pro-linux" pero en realidad solamente son oportunistas.
Abstract:
Este articulo explica el concepto the puntos the montaje, pero
tambien espero que proporcione información interesante para
lectores no muy novatos.
ArticleIllustration:
ArticleBody:
Introducción
Iniciaré explicando el concpeto del montaje the sistemas de
archivos y luego tocaré algunos temas más avanzados. Si Ud.
cree que ya es un experto en Linux, puede saltarse las primeras
secciones.
Como funciona
Bajo windows exsite,al añadir un disco duro nuevo siempre se hace un lío.
Lo que antes era D, de repente es E: y tanto los usuarios como los
programas instalados se confunden.
En Unix no existe este problema porque todos los discos físicos
se insertan en el arbol del directorió. Esto se puede ver cuando se
teclea "mount" ó "df":
# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/hda1 9070728 4701180 3908768 55% /
/dev/hda3 24950428 683412 22999584 3% /home
none 257236 0 257236 0% /dev/shm
# mount
/dev/hda1 on / type ext3 (rw)
none on /proc type proc (rw)
none on /dev/shm type tmpfs (rw)
/dev/hda3 on /home type ext3 (rw)
|
Aquí tenemos dos particiones, uno que contiene todo menos /home.
Este es la partición raiz "/", y se encuentra conectado fisicamente
a hda1. hda1 es la primera partición (1) en el disco duro ide (hda).
La tercera partición (hda3) en el mismo disco esta montado en /home.
Por ende, si Ud. accesa /home, entonces esta accesando los archivos
en hda3. De esta forma no tendria que preocuparse si esto es ahora D:
ó E: ó ??? por que siempra será un arbol de directoriós y esto siempre
permanecerá igual.
El problema "file-system busy"
Linux realiza operaciones de lectura y escritura en búfer.
Esto se puede evidenciar si Ud. tiene conectado algun disco
por medio de usb version 1.1 y accesa algún archivo grande en
ese dispositivo. La primera vez que accesa ese archivo es muy
lento pero la segunda vez que accesa ese mismo archivo se hace
a una muy alta velocidad, tanto asi que la luz en el dispositivo
usb nisiquiera se prende.
Debido a esta caracteristica es necesario desmontar el disco antes
de quitarlo físicamente. Para discos duros internos esto nunca
es un problema pero si lo es para cdroms y dispositivos USB.
Si por ejemplo Ud. monta un usb-stick bajó /mnt/usb y tecléa
"cd /mnt/usb", entonces bash esta usando ese sistema de archivos.
Si Ud. trata de desmontarlo desde otra terminal obtendrá un error
"file system busy" (sistema de archivos ocupado) y el desmontaje
fallará. Es suficiente con salirse del directorió /mnt/usb con "cd"
y entonces sí podrá desmontar el dispositivo. A veces el problema
puede ser que Ud. se olvidó quien esta usando el dispositivo y tiene
tantas aplicaciones abiertas que es difícil saber que es lo que esta
causando el problema.
Le puede preguntar a su computadora!
# fuser -m -u /mnt/usb
/mnt/usb: 1347c(root) 1348c(guido) 1349c(guido)
El resultado de fuser es una lista de procesos que todavía
estan utilizando el sistema de archivos en questión. Ahora puede
revisar con "ps auxw" cúal es el proceso ó simplemente lo puede
detener con un "kill". Ahora sí, umount puede funcionar.
¿Y windows lo puede hacer también?
¿Por qué no simplemente sacar el usb-stick? Bueno,computadoras
de antaño con dos/win3.1 podían ser apagadas con simplemente
persionar el búton. No se necesitaba hacer un "shutdown".
Uno de mis amigos se quejó de que con Linux tenía que hacer
un "shutdown" antes de apagar la maquina. Pero luego win95
apareció y se acabarón esas quejas.
Linux lo puede hacer también.
También existen soluciones en Linux para simplemente
poder remover el disco(por ejemplo, un disco usb).
Linux Mandrake contiene una función llamada supermount
que dá los mismos resultads(y problemas) que windows. Pero
no lo recomiendo por que puede causar inestabilidad y pérdida
de archivos.
Es mejor utilizar las mtools (http://mtools.linux.lu/).
mtools es un conjunto de programas que tienen acceso a
básicamente todos los dispositivos removibles con un
sistema de archivos FAT sin la necesidad de montarlos.
El truco es el siguiente:
-
Edit /etc/mtools.conf and add a line that says
drive u: file="/dev/sda1" # o sda4; algunos usb-stick tienen particiones
# 4 es creado como default de fabrica.
- Ahora no es necesario montar /dev/sda1. Simplemente tecelée
mdir u:
para ver el contenido del usb-stick.
mcopy * u:
para copiar todos los archivos en el directorió actúal
hacia el usb-stick.
mcopy u:\* .
para copiar todos los archivos del usb-stick hacia el
directorió actúal(percatesé del \ en frente del *).
Fácil de utilizar.
Permitir que cualquiera monte un sistema de archvos
Normalmente necesitará ser root para montar sistemas de archivos.
Para dispositivos como cdroms o usb-stick tal vez quiera darle
permiso a cualquier usuario para que los monte. Todo lo que
necesita hacer en este caso, es añadir una línea como la
siguiente en /etc/fstab:
# dev mount point fs type flags
/dev/sda1 /mnt/usb auto noauto,user 0 0
Esta línea significa que sda1 (la primera partición en el primer disco
scsi, discos usb se mapéan a discos scsi) no seran montados automatícamente
(noauto) y pueden ser montados y desmontados por cualquier
usuario(user). El campo fs-type también se pone en auto
para que al montar un usb-stick formateado con vfat o ext2
el sistema automaticamente detecté el archivo de sistemas.
Laptops y nfs
El sistema de archivos para red, NFS(Network File System), es muy
útil si necesita tener un respaldo centralizado de todos los
directoriós para varios usuarios. Todo lo que necesita hacer es
montar los directoriós /home desde un servidor central y todos los
usuarios tendran sus directorió /home disponibles en todas las
computadoras en la red aúnado a las mismas preferencias y datos en cualquier
computadora que utilicen. Es muy bueno.
¿Pero como lidiamos con usuarios mobiles con laptops?
Una vez que el usuario se desconecte de la red, el directorió dejará
de existir. Esto se puede resolver copiando todos los datos (con rsync),
pero esto puede causar inconsistencias si Ud. no es muy disciplinado, y
es que en realidadmuchas veces no necesita el directorió /home completo.
Creó que una buena solución sería tener un segundo directorió /home con
solamente los datos que necesito cuando voy de viaje.
Cuando montamos un sistema de archivos (cualquier sistema de archivos/disco,
incluso nfs) sobre un directorió no-vacío, el nuevo sistema de archivos monatado
reemplaza al directorió local, permitiendonos así ver el nuevo sistema de archivos
que fue montado.
La solución a esto es la siguiente: Crear un punto de montaje para el
directorió home(/home) y automontar allí los diferentes
directorios de home cuando la computadora no esta conectada
a la red. Sin embargo,para los usuarios que utilizan sus
laptop, antes de montar cualquier sistema de archivos, deben
crear un softlink hacía un directorió /home que no este en red:
/home/guido -> ../home_nonet/guido
Esto significa que cuando el usuario guido se conecté a la red
podrá ver su directorió /home normal. Pero cuando él no este
conectado a la red, entonces verá a /home_nonet/guido como su
directorió home (/home/guido).
Una solución bastante buena.
Conclusión
Una de las metas de Unix es crear una capa de abstracción para
el hardware. El montar/desmontar sistemas de archivos/discos
fué una de las formas de cumplir con su meta. Este es una idea
bastante avanzada y moderna aunque Unix es mucho mas viejo que
otros sistemas operativos modernos.