¿Cómo retirar una unidad USB sin preocuparse si se ha desmontado? [duplicar]

11

A veces desconecto mi unidad USB solo para descubrir que los archivos no se escribieron en ella.

Supongo que la única forma de garantizar que los archivos se escriban es haciendo clic derecho en la unidad USB del escritorio y luego seleccionando "desmontar", pero a veces lo olvido.

¿Cuál es la mejor manera de garantizar que los archivos se escriban en la unidad USB al instante? De esta manera puedo retirar la unidad USB tan pronto como note que la luz LED en la unidad USB dejó de parpadear.

OS: CentOS 6

    
pregunta slm 14.09.2013 - 20:59

3 respuestas

15

Esta es la respuesta de Gilles, guardándola aquí para que no se pierda.

Si usa la opción de montaje sync en la unidad extraíble, todas las escrituras se escriben en el disco inmediatamente, por lo que no perderá datos de archivos que aún no se hayan escrito. Es una mala idea, pero hace lo que estás pidiendo, algo así.

Tenga en cuenta que sync no garantiza que no perderá datos . Al desmontar una unidad extraíble también se garantiza que ninguna aplicación tenga un archivo abierto. Si no lo desmonta antes de desenchufarlo, no notará si tiene datos no guardados hasta que sea demasiado tarde. El desmontaje mientras un archivo está abierto también aumenta la posibilidad de que se dañe, tanto en el nivel del sistema de archivos (el sistema operativo puede haber puesto en cola algunas operaciones hasta que se cierre el archivo) y en el nivel de la aplicación (por ejemplo, si la aplicación pone un archivo de bloqueo, no se puede t ser eliminado).

Además, sync es malo para la vida útil del dispositivo . Sin la opción sync , el kernel reordena las escrituras y las escribe en lotes. Con la opción sync , el núcleo escribe cada sector en el orden solicitado por las aplicaciones. En medios flash baratos que no reasignan sectores (es decir, casi cualquier dispositivo USB más antiguo, no sé si todavía es cierto en los recientes), las escrituras repetidas en la tabla de asignación de archivos en (V) FAT o en la revista en un sistema de archivos moderno típico, puede matar al palo bastante rápido .

Por lo tanto, no recomiendo usar la opción de montaje sync .

En los sistemas de archivos FAT, puede utilizar la opción flush mount . Esto es intermedio entre async (el valor predeterminado) y sync : con la opción flush , el kernel vacía todas las escrituras tan pronto como la unidad queda inactiva, pero no conserva el orden de las escrituras (por ejemplo, todas las escrituras a la FAT se fusionan).

    
respondido por el slm 14.09.2013 - 22:51
12
  

Paciente : "Doctor, me duele cuando hago esto".
Doctor : "Bueno, no hagas eso".
  - quizás los Hermanos Marx, pero probablemente lo robaron a otros vaudevillianos si es así

Ambas respuestas están bien, pero cuestiono la pregunta. Si no puede recordar desmontar correctamente una unidad de mando antes de retirarla, quizás debería recordar más.

En general, el problema no tiene una buena solución. La Macintosh original (c. 1984) tenía una unidad de disquete de 90 mm sin el botón de expulsión adecuado. O desmontas el disco o no sale. Ellos proporcionaron una anulación para cuando el software se negó a expulsar el disco, pero necesitabas una herramienta especial (sin doblar el clip) para activarlo. El clip de papel formaba una "función de fuerza" de Don Normanesque ya que era difícil ignorar que estaba atascando un clip en un agujero de 1 mm.

Debido a la mecánica de un conector USB, es difícil diseñar una función de fuerza similar para las unidades de memoria. Por lo tanto la imprecación: no quitar sin desmontar. Además, no es prudente viajar en un automóvil sin cinturón de seguridad y casi todas las funciones de forzamiento nunca han logrado el fin deseado.

    
respondido por el msw 14.09.2013 - 23:53
1

Por lo general, los dispositivos de almacenamiento masivo, como las unidades de almacenamiento USB, se montan con un comando, mount . Deben desmontarse explícitamente mediante el complemento de este comando, umount (que no es un error tipográfico). Existen herramientas que pueden detectar eventos en el nivel de hardware, por ejemplo, un dispositivo USB se acaba de conectar. Estos "servicios" se encargarán de hacer el montaje automáticamente por usted. Esto es lo que sucede cuando utiliza el escritorio de GNOME y normalmente verá que las unidades USB aparecen como montadas en el navegador de archivos Nautilus.

Es un poco más complicado saber cuándo ya no se está escribiendo en el dispositivo. Tendría que escribir su propio controlador para hacer uso de los mensajes Udev y DBUS para saber cuándo se realizó la escritura del dispositivo cada vez, y luego mantenerlo explícitamente en el estado "sin montar".

No veo ninguna otra forma de hacer esto sin una integración mucho más profunda en los diversos subsistemas en Linux, y que yo sepa que simplemente no existe a partir de ahora.

MAC OSX

Mi conjetura sería que en OSX, están ejecutando comandos sync y dejan el dispositivo "montado", lo que puede considerarse una tarea peligrosa, pero es conveniente para el operador.

    
respondido por el slm 14.09.2013 - 21:00

Lea otras preguntas en las etiquetas