logo sinuh
 

Inicio arrow Conocimiento arrow Curso GNU/Linux desde cero arrow ENTREGA 26. Montando unidades (III).
ENTREGA 26. Montando unidades (III). Imprimir
Por Luis García Galván   
lunes, 28 mar 2005 14:00

CURSO DESDE 0 DE GNU/LINUX. Versión 2.


Entrega 26. Montando unidades (III).


% [Where is my brain? 
Missing ].

El fichero /etc/fstab.


Este es un fichero de configuración que nos interesa muchísimo, ya que guarda información estática sobre los sistemas de ficheros. Cuando nuestro sistema arranque leerá este fichero de configuración y actuará en consecuencia, montando todo aquello que le indiquemos o guardando datos para simplificar el montado posterior.


Sin más, abrimos el que tengamos cada uno en nuestro sistema, el mío es tal que así:


# /etc/fstab: static file system information.

#

# <file system> <mount point> <type> <options> <dump> <pass>

proc /proc proc defaults 0 0

/dev/hda11 / ext3 defaults,errors=remount-ro 0 1

/dev/hda10 /boot ext3 defaults 0 2

/dev/hda6 /home ext3 defaults 0 2

/dev/hda12 /usr ext3 defaults 0 2

/dev/hda5 none swap sw 0 0

/dev/hdc /media/cdrom0 iso9660 ro,user,noauto 0 0

/dev/hdd /media/cdrom1 iso9660 ro,user,noauto 0 0

/dev/hdb1 /mnt/m2kaux vfat rw,user,umask=0 0 0

/dev/hda1 /mnt/winxp ntfs ro,user,umask=0 0 0

/dev/hda7 /mnt/juegos vfat rw,user,umask=0 0 0

/dev/hda8 /mnt/auxi1 vfat rw,user,umask=0 0 0

/dev/hda9 /mnt/auxi2 vfat rw,user,umask=0 0 0

/dev/sda1 /mnt/cfmd vfat rw,user,umask=0 0 0

/dev/sdc1 /mnt/sdmmc vfat rw,user,umask=0 0 0

/dev/sde1 /mnt/usb vfat rw,user,umask=0 0 0


Todo lo que veamos detrás de un carácter '#' son líneas comentadas y no tendrán efecto alguno, con lo que tenemos que en la 3ª línea de mi fichero (no tiene por qué ser así en el del resto) está comentado el formato que veremos a continuación:


<file system><mount point><type><options><dump><pass>



Significado

“File system”, o sea sistema de fichero, se corresponde con el dispositivo que usábamos en el comando mount (ver entrega 24).

“Mount point”, punto de montaje, es el directorio donde queremos montar el dispositivo.

“Type”, tipo, se corresponde a la opción -t del comando mount.

“options”, opciones, se corresponde con lo que poníamos para la opción -o de mount.

“dump”, sólo es necesario si usamos el comando 'dump' para determinar qué sistemas necesitan ser volcados, siendo dump una herramienta de backup. Lo normal es dejarlo a 0 si no lo tenemos instalado o no vamos a hacer uso de él, que suele ser lo normal.

“pass”, lo usa el programa fsck (este ya si que es más importante). Este programa realiza un chequeo al arrancar de los sistemas de ficheros, y el número indica en qué orden deben comprobarse, teniendo en cuenta que los que tengan el mismo número se comprueban de forma secuencial a como han sido definidos.


Hay que tener en cuenta que si los sistemas se encuentran en distintos dispositivos se hace una comprobación concurrente, aprovechando así el paralelismo del sistema. Si este número es un 0 (lo normal) se entiende que no hay que comprobarlo.


El manual (comando 'man') recomienda en caso de que se comprueben, que a la partición raíz ('/') se le asigne un 1 y al resto un 2.


Visto esto y sabiendo manejar el comando mount, ya es cosa trivial saber cómo usar este fichero, para ayudarnos podemos usar la tabla de la entrega 25 y ya nada se nos debe resistir.


Con esto ya sabemos configurar este fichero, y ya sabemos que todo lo que definamos en él se monta automáticamente al iniciar el sistema, salvo que le digamos lo contrario como en las líneas 10 y 11 de mi fichero, donde si os fijáis en las opciones aparece 'noauto' (una de las que aparece en las tablas de la entrega 25, y que no tiene sentido fuera de este fichero). ¿Entonces, de qué nos vale? Pues muy sencillo, puesto que todo se simplifica a la hora de montar unidades. Ejemplos:


matados2k@fortaleza:~$ mount /dev/cdrom1

matados2k@fortaleza:~$ ls /media/cdrom1/

autorun.inf devel dyne.png isolinux logo.png

ChangeLog dyne extras LICENSE.TXT README.TXT

CLICK_ME.HTM dynebolic-manual.pdf floppy linuxboot.cfg

default.xbe dynebol.ico gnulinux.png loadlin

matados2k@fortaleza:~$


No he tenido nada más que indicarle el dispositivo, y no sólo eso, sino que además he podido hacerlo como usuario normal ya que definí la opción 'user' para este dispositivo en mi fichero, permitiendo que cualquier usuario pueda montar la unidad (todas las opciones fueron ya explicadas en las entrega 25).


matados2k@fortaleza:~$ umount /media/cdrom1

matados2k@fortaleza:~$ mount /mnt/usb

matados2k@fortaleza:~$ ls /mnt/usb/

instalador Modserver2.sxw test1.jpg test3.jpg test5.jpg test7.jpg

Modserver2.pdf modserver.sxi test2.jpg test4.jpg test6.jpg test8.jpg

matados2k@fortaleza:~$ umount /dev/sde1

matados2k@fortaleza:~$


Podemos observar entonces que podemos montar y desmontar todo lo definido en /etc/fstab con sólo indicar su dispositivo o el directorio a montar. ¿No es estupendo? Y que desmontar sí sabíamos que se podía de ambas formas. Y además hemos visto que se puede hacer que otros usuarios monten unidades además de root, ya nos vamos acercando a una configuración ideal ;).


Y si os fijáis, las 3 últimas líneas de mi fichero son las que montan las cosas que conecto al usb y al lector de tarjetas. ¿No sería lógico entonces añadirles la opción 'noauto' para que no intente añadirlas al principio? Pues sí, pero... podemos ver otra ventaja:


matados2k@fortaleza:~$ su

Password:

fortaleza:/home/matados2k# mount -a

mount: el dispositivo especial /dev/sda1 no existe

mount: el dispositivo especial /dev/sdc1 no existe

mount: el dispositivo especial /dev/sde1 no existe

fortaleza:/home/matados2k# mount -a

mount: el dispositivo especial /dev/sda1 no existe

mount: el dispositivo especial /dev/sdc1 no existe

fortaleza:/home/matados2k#


Vemos aquí una nueva opción de mount que es '-a', que intenta montar automáticamente todo lo definido en /etc/fstab si no lo estaba ya o no se le indica lo contrario con 'noauto', y como veis los 3 errores primeros son debidos a que no hay nada conectado (ya que los ha intentado montar por no tener puesto 'noauto'). Pero voy y pincho un pen usb, y mira por donde, no he tenido que preocuparme de más.


¡OJO!: La opción '-a' también existe para 'umount' y os podéis imaginar qué pasa ¿no?:


fortaleza:/home/matados2k# umount -a

umount: /dev: dispositivo ocupado

umount: /mnt/auxi1: dispositivo ocupado

umount: /usr: dispositivo ocupado

umount: /home: dispositivo ocupado

umount: /boot: dispositivo ocupado

umount: /: dispositivo ocupado

fortaleza:/home/matados2k# mount -a

mount: el dispositivo especial /dev/sda1 no existe

mount: el dispositivo especial /dev/sdc1 no existe

mount: el dispositivo especial /dev/sde1 no existe

fortaleza:/home/matados2k#


Pues sí, lo intenta desmontar todo, y gracias a Dios si algo está en uso no se desmonta y podemos volver a poner en funcionamiento todo con 'mount -a'.


Sigo con problemas, ni 'eject' hace que se me desmonte algo.


Pues si el dispositivo sabéis de sobra que no está ocupado, como ya explicamos en las entregas anteriores, sí que es un problema y es que algo pasa. Pero si para algo es bueno Linux es para encontrar la solución para todo. Por desgracia, los usuarios de KDE solíamos tener este problema más frecuentemente de lo que desearíamos, veamos cómo combatirlo:


matados2k@fortaleza:~$ umount /mnt/usb/

umount: /mnt/usb: dispositivo ocupado

umount: /mnt/usb: dispositivo ocupado

matados2k@fortaleza:~$


Esto es un problema, porque yo sé que no tengo ninguna aplicación abierta que lo use y que está inactivo, ya que mi pen usb tiene una lucecita que ahora está apagada. Algún proceso debe haberse quedado atontado mientras lo usaba, vamos a buscarlo:


matados2k@fortaleza:~$ su

Password:

fortaleza:/home/matados2k# lsof +D /mnt/usb

COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME

famd 7818 matados2k 89r DIR 8,65 16384 1 /mnt/usb

famd 7818 matados2k 92r DIR 8,65 4096 609 /mnt/usb/instalador

fortaleza:/home/matados2k#


Aquí tenemos nuestro culpable, sí señor, podéis señalarle con el dedo. Este comando no vamos a explicarlo ahora ni los siguientes que veamos, ya que son para una próxima serie de entregas, así que tenéis que hacer un acto de fe, ya sabéis que para encontrar el culpable es 'lsof +D aquí_dispositivo_o_directorio”.


Sólo puede quedar uno, forastero.


Ahora tendríamos que eliminar ese proceso, lo normal es que el que ahí sale sea el culpable, o sea 'famd', pero yo ya sé por experiencia que no lo es. Si lo eliminamos solucionaríamos el problema, y será así normalmente, pero eliminar un servicio como 'famd' ('man famd') puede traer otros problemas.


Así que como norma general el que nos muestre ese comando es el que tenemos que eliminar, pero hay casos como éste en que no es el verdadero culpable. ¿Eso quién te lo da? Pues simplemente la experiencia. Como sé que es problema de KDE y en concreto de un proceso llamado ' konqueror' que se ha quedado atontado (aunque ya lo haya cerrado), lo paso a eliminar buscándolo primero con otro comando del que también tendréis que hacer acto de fe:


fortaleza:/home/matados2k# ps aux

....

1000 8869 15.8 4.2 35996 21896 ? S 19:37 0:00 konqueror [kdei

1000 8870 0.2 2.0 24688 10404 ? S 19:37 0:00 kio_file [kdein

1000 8871 0.0 1.9 24320 10208 ? S 19:37 0:00 kio_devices [kd

root 8872 0.0 0.1 2780 912 pts/3 R+ 19:37 0:00 ps -aux

fortaleza:/home/matados2k#


De hecho yo sé que puede ser uno de estos 3 (ya me ha pasado muchas veces y la experiencia así me lo dice). Así que lo eliminamos (otro acto de fe):


fortaleza:/home/matados2k# kill 8869

fortaleza:/home/matados2k# umount /mnt/usb

fortaleza:/home/matados2k#


El número pasado a kill es el PID del proceso y nos lo indica tanto 'lsof +D' como 'ps aux' si os fijáis bien, tanto si hubiéramos matado 'famd' como este último solucionaríamos el problema y podríamos desmontar con seguridad nuestro pen usb.


Una es una forma más automática, y otra la dicta la experiencia de verse muchas veces con el problema, así que esto queda simplemente como ejemplo. Y una vez terminada esta serie de montado de unidades veremos con detalle estos comandos (mejor esto y poder intentar solucionar el problema que esperar a más adelante ¿no?).


A Dios pongo por testigo que si todo falla, no me rendiré. A la desesperada.


Murphy es muy puñetero y aún así puede que la cosa se resista a desmontarse como Dios manda, si algo puede fallar ya se sabe que fallará y antes que volver a reiniciar nos queda un último intento:


umount -l [dispositivo|directorio]


Esta opción '-l' es que lo desmonte por narices y eso puede tener su riesgo, de hecho (por lo menos a mí) no viene documentado en 'man umount', pero siempre es un último recurso que nos puede solucionar la papeleta:


matados2k@fortaleza:~$ umount /mnt/usb/

umount: /mnt/usb: dispositivo ocupado

umount: /mnt/usb: dispositivo ocupado

matados2k@fortaleza:~$ umount -l /mnt/usb/

matados2k@fortaleza:~$


Con esto ya hemos visto todas las soluciones que yo conozco, siempre mejores que simplemente desconectar, con lo que damos por terminada esta espesa entrega.


Despedida.


Ya sabemos prácticamente todo lo necesario para movernos con soltura montando y desmontando unidades, y hemos visto cómo simplificarlo, pero aún podemos quedar las cosas de forma más automática, y para eso la siguiente entrega.


Agradecimientos:

· Revisión del documento: karuchi (Carolina García).


Página oficial y dominio de mi propiedad http://matados2k.es

Matados'2k Usuario y moderador de foro.noticias3d.com

Matados'2k Usuario y moderador de www.sinuh.org


matados2k (arroba) gmail (punto) com


Este documento está sometido a la licencia de creative commons en su variante “Reconocimiento-NoComercial-SinObraDerivada 2.1 España” . Es de agradecer que se comunique al autor el uso de este documento en otro medio y se debe incluir de forma obligatoria este recuadro y los agradecimientos.



Comentario[s]
Agradecimiento
Escrito por Invitado el 2005-03-28 15:45:39
Se que a estas alturas casi todo el mundo lo ha dicho ya, pero aún así, te doy mi más sincero agradecimiento por tú curso. 
Soy administrador de sistemas de una gran coporación montada en la plataforma Windows, y sé lo tedioso, laborioso y a veces exasperante que llega a resultar realizar manuales que hagan asequible a los usuarios menos expertos las cosas más simples. 
Por eso, yo que llevo más de siete años, realizando manuales para usuarios mega torpes, y sé el esfuerzo que ello conlleva, te felicito por tú manual.
Una petición
Escrito por Ruffo el 2005-03-30 14:17:07
Buenas, sé que en una de las entregas lo comentabas de pasada, pero mi interés está en saber si harás una entrega que explique como montar un servidor en linux con diferentes clientes, entre ellos algún windows. 
Mi caso particular es que tenía un Domain Controler en windows 2000 server y un par de máquinas con 2000 professional, y me gustaría saber cómo podría susituir el server por debian... pá tener la administración de cuentas y usuarios centralizado.
Gracias por el curso
Escrito por Invitado el 2005-03-31 16:25:01
:)
Lo tendré en cuenta.
Escrito por Para Ruffo el 2005-04-01 12:58:39
Pues si es una buena idea lo que propones, pero el algo que aun queda algo lejos, comprende que aun estamos en una fase muy temprana como para abordar la adminstración de servidores.
Opcion correcta
Escrito por Licorero el 2005-11-10 00:59:22
Muy interesante y didáctico. 
 
Un apunte: el parámetro a ps se pasa sin el guión, es decir, "ps aux". 
 
De hecho, aún funcionando ya avisa de "Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html" 
 
Saludos

Sólo los usuarios registrados pueden escribir comentarios.
Por favor valídate o regístrate.

Powered by AkoComment 2.0!




© 2002-2005 SINUH - Comunidad GNU/Linux de Extremadura
Este portal utiliza Mambo
DHTML / JavaScript Tree by TwinHelix Designs

Para contactar con nosotros envía un correo a
info
Licencia Creative Commons
Los contenidos de este portal, salvo indicación en contra, están sujetos a una licencia de Creative Commons.

Los logotipos y marcas que aparecen son propiedad de sus respectivos dueños.

Las opiniones y declaraciones de las personas reflejadas en los foros y comentarios son propiedad y responsabilidad de sus autores, no identificando la opinión de SINUH y excluyendo de cualquier responsabilidad a esta asociación.
Ahora 9 visitantes
Advertisement