¿Qué tipo de FileSystem recomienda para la unidad flash USB?


18

Este es un problema que tengo cuando uso Ubuntu: tengo dos computadoras que tienen Ubuntu instalado (comp1 y comp2). Creo un documento con Ubuntu en comp1 y luego copio el archivo en una unidad flash USB con formato FAT. A través de la unidad flash, pego el documento en comp2. El problema es que los permisos de archivo nunca se conservan durante la transferencia. Supongo que la FAT no admite los permisos.

¿Hay una solución para esto? ¿Debo seguir usando el sistema de archivos FAT para unidades flash USB (porque FAT es el mejor para unidades flash) y vivir con este problema de permisos? ¿O se recomienda volver a formatear mi unidad flash con un sistema de archivos más "Ubuntu Friendly" que conserve los permisos?

Respuestas:


11

ext4 es un sistema de archivos de diario, lo que significa que si el dispositivo se desconecta prematuramente, tiene más posibilidades de recuperar el sistema de archivos dañado. La parte del diario de la escritura contiene información sobre lo que se va a hacer y se borra una vez que se completa la operación. Si se descubre que hay un diario incompleto en un dispositivo cuando está montado, el sistema de archivos puede volver a su estado anterior, preservando así su integridad.

Si bien hay una sobrecarga adicional en términos de espacio involucrado en tener un sistema de archivos de diario en una memoria USB, en realidad es una buena opción para la mayoría de las cosas.

Obviamente, si necesita un dispositivo que también se pueda conectar a cualquier computadora en cualquier momento, entonces FAT sería el camino a seguir. Si desea un dispositivo que necesita conectarse a una computadora con Windows solo ocasionalmente, entonces es posible instalar controladores de dispositivo ext2 en Windows que le permitirán leer todas y cada una de las unidades ext (x). Por supuesto, dado que Windows no conoce los permisos y la propiedad de Linux, estos tampoco se manejarán.


Yo no podría haberlo dicho mejor. +1
Luis Alvarado

El controlador Ext2 para Windows también debería poder leer los sistemas de archivos Ext4, simplemente ignorará el diario.
Nathan Osman

8

Puede intentar formatear su unidad como UDF (Universal Disk Format). Es el formato para usar en CD y DVD. La mayoría de los sistemas operativos modernos podrán leerlo y escribirle.

En este momento, mirando mis datos en una unidad con formato UDF, los permisos de los archivos de Linux parecen conservarse. Hasta ahora, ha funcionado para mí.

Otra cosa buena acerca de la unidad con formato UDF es que puede almacenar un solo archivo grande de hasta 16 Exabyte (corrígeme si me equivoco), mientras que Fat32 solo puede almacenar un archivo de tamaño 4GB o menos y un tamaño de partición MAX para FAT32 es solo 2TB.

Funciona bien en Win7 y 8. Para sistemas operativos Windows más antiguos como XP y 2000, puede leer desde el disco, pero debe instalar algún tipo de controlador para escribir en él.

Para Mac, OS X 10.5 y superior tiene compatibilidad total. Aquí hay una tabla de compatibilidad completa. Tabla de compatibilidad de UDF

En Ubuntu, siga estos pasos para formatear una unidad como UDF.

sudo apt-get update
sudo apt-get install udftools

Bien, ahora quieres eliminar las particiones actuales en la unidad de destino. Puede usar una herramienta GUI como Disk Utility o hacer lo siguiente.

sudo blkid

Encuentra tu disco en la salida. (se parecen a / dev / sdb o / dev / sdc ) Ahora haga lo siguiente, pero reemplace la ' x ' en / dev / sdx para señalar la unidad que desea borrar su partición. Haga esto para ambas líneas de código.

sudo dd if=/dev/zero of=/dev/sdx bs=1M count=1
sudo mkudffs -b 512 --media-type=hd --utf8 --lvid=DriveLabel --vid=DriveLabel --fsid=DriveLabel  /dev/sdx

Podrías alterar donde dice 'DriveLabel' a tu gusto.

Eso debería ser.

En realidad, hago esto un poco diferente, pero decidí que este método era más fácil de seguir. Hice referencia a este método desde este sitio .

Espero que esto ayude a alguien por ahí.


no funciona para mí: error al montar la unidad usb
Louis

1
Gracias, enfoque muy interesante. Funciona perfectamente para sistemas operativos de escritorio (probado para Ubuntu 15.10+, Windows 7+), pero no para dispositivos móviles (definitivamente no funciona para Android hasta 8.x). Espero mucho menos impacto de escritura en la unidad flash en comparación con el sistema de archivos de registro en diario. Aquí hay una CreateUdfFlash(){ sudo wipefs "$1" ; sudo mkudffs --utf8 -b 512 --media-type=hdd --lvid="$2" --vid="$2" --fsid="$2" "$1" ; } ; CreateUdfFlash "/dev/sdX" "Some Disk Label"
frase

7

Al usar un sistema de archivos que conserva las ID de usuario en una unidad USB, puede enfrentar problemas causados ​​por el hecho de que las ID de usuario se asignan en el orden en que se crean las cuentas de usuario, y el sistema de archivos realmente almacena ID numéricas de los propietarios de los archivos, no nombres de usuario. Entonces, si, por ejemplo, la máquina A tiene alicey bobcuentas, y la máquina B tiene bruce, zoey alicecuentas, entonces es probable que cuando Alice copie sus archivos en una unidad USB con formato ext (2/3/4), vaya a la máquina B e intente acceder descubrirá que todos los archivos son propiedad de brucey de solo lectura alice.

Por supuesto, si solo tiene un usuario en ambas máquinas, esto no será un problema.

La transferencia de archivos empaquetados en un tararchivo, tal como lo propuso @FSMaxB, puede resolver este problema porque cuando desempaquete un archivo, los archivos se crearán como propiedad de su ID de usuario.


0

Si usa su unidad flash solo con sistemas Linux, puede usar uno de los sistemas de archivos ext, por ejemplo ext4, pero cuando lo usa con otros sistemas, FAT es el único sistema de archivos compatible.

¡Una forma de usar FAT y preservar los permisos (no la propiedad) sería el uso de archivos tar!


1
desempaquetar un archivo tar como rootpreserva la propiedad de los archivos, por lo que los archivos almacenan ID de usuario. Sin embargo, hacer eso en diferentes máquinas no es realmente recomendable porque las ID de usuario pueden diferir.
Sergey

Gracias. Creo que probaré la solución TAR por ahora. Pregunta: ¿hay alguna forma de crear el TAR y crearlo en la unidad flash? Navego al directorio donde está el archivo Quiero TAR y cuando ejecuto el comando TAR el archivo se crea en ese directorio. ¿Puedo hacer que se cree el archivo en la Unidad Flash?
Greg

crear TAR requiere BASH ¿verdad? ¿O hay una forma GUI para hacerlo?
Greg

Si usa un ubuntu normal, puede hacer clic derecho en archivos o directorios y hacer clic en "comprimir" (no sé si se llama así, porque uso un sistema alemán)
FSMaxB

No probé tar desde la interfaz gráfica de usuario, pero usé tar.bz2 para comprimir desde la interfaz gráfica de usuario y el bash con "tar -xf" para descomprimir, lo que conservó mis permisos.
FSMaxB

0

Estoy usando reiserfs durante años en memorias USB sin problemas. Bueno, solo que no son legibles desde sistemas Windows que podrían no ser malos si se pierden.

Si particiona un stick, para usar partes con Windows para el intercambio de datos, asegúrese de que la partición de Windows sea la primera; de lo contrario, no se identificará (al menos para XP hice la experiencia).

Puede construir un sistema de archivos gordo (¿no son bastante limitados para los tamaños de memoria de hoy?) Y agregarle un archivo grande pero vacío, y montar ese archivo como un dispositivo de bucle en Ubuntu. Entonces podrá preservar los permisos de sus archivos y aumentar o disminuir el espacio reservado sin particionar ni formatear.

Como ya se mencionó: alquitranes, cremalleras, etc. son otra posibilidad.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.