No se puede copiar un archivo grande en una memoria USB ext2 [cerrado]

10

Tengo un dispositivo USB 8G (estoy en Linux Mint), y estoy tratando de copiar un archivo 5.4G en él, pero obtengo

No space left on device

El tamaño del archivo copiado antes de fallar siempre es 3.6G

Una salida del stick montado muestra ...

df -T
/dev/sdc1      ext2       7708584    622604   6694404   9% /media/moo/ba20d7ab-2c46-4f7a-9fb8-baa0ee71e9fe

df -h
/dev/sdc1       7.4G  608M  6.4G   9% /media/moo/ba20d7ab-2c46-4f7a-9fb8-baa0ee71e9fe

du -h --max-depth=1
88K ./.ssh

ls -h myfile 
-rw-r--r-- 1 moo moo 5.4G May 26 09:35 myfile

Por lo tanto, un archivo 5.4G no parece ir en una memoria USB 8G. Pensé que no había problemas con ext2, y que solo eran problemas con fat32 para tamaños de archivo y memorias USB ¿Cambiar el formato haría alguna diferencia?

Editar: Aquí hay un informe de tunefs para la unidad


sudo tune2fs -l /dev/sdd1

Filesystem volume name: Last mounted on: /media/moo/ba20d7ab-2c46-4f7a-9fb8-baa0ee71e9fe Filesystem UUID: ba20d7ab-2c46-4f7a-9fb8-baa0ee71e9fe Filesystem magic number: 0xEF53 Filesystem revision #: 1 (dynamic) Filesystem features: ext_attr resize_inode dir_index filetype sparse_super large_file Filesystem flags: signed_directory_hash Default mount options: (none) Filesystem state: not clean with errors Errors behavior: Continue Filesystem OS type: Linux Inode count: 489600 Block count: 1957884 Reserved block count: 97894 Free blocks: 970072 Free inodes: 489576 First block: 0 Block size: 4096 Fragment size: 4096 Reserved GDT blocks: 477 Blocks per group: 32768 Fragments per group: 32768 Inodes per group: 8160 Inode blocks per group: 510 Filesystem created: Mon Mar 2 13:00:18 2009 Last mount time: Tue May 26 12:12:59 2015 Last write time: Tue May 26 12:12:59 2015 Mount count: 102 Maximum mount count: 26 Last checked: Mon Mar 2 13:00:18 2009 Check interval: 15552000 (6 months) Next check after: Sat Aug 29 14:00:18 2009 Lifetime writes: 12 GB Reserved blocks uid: 0 (user root) Reserved blocks gid: 0 (group root) First inode: 11 Inode size: 256 Required extra isize: 28 Desired extra isize: 28 Default directory hash: half_md4 Directory Hash Seed: 249823e2-d3c4-4f17-947c-3500523479fd FS Error count: 62 First error time: Tue May 26 09:48:15 2015 First error function: ext4_mb_generate_buddy First error line #: 757 First error inode #: 0 First error block #: 0 Last error time: Tue May 26 10:35:25 2015 Last error function: ext4_mb_generate_buddy Last error line #: 757 Last error inode #: 0 Last error block #: 0

Ian
fuente
¿Podría ser que usted o sus herramientas están confundidos acerca de GB versus GiB? Y dado que es ext2, cuánto espacio está reservado para root (por defecto es 5%).
0xC0000022L
Gracias, ¿cómo puedo saber cuánto espacio está reservado?
Ian
@ Ian Para mostrar la información del sistema de archivos, use:tune2fs -l /dev/<device>
Marco
3
Su sistema de archivos tiene errores. Ejecutar fscken el sistema de archivos e inspeccionar / eliminar el contenido de lost+found. También tenga en cuenta que 385MiB están reservados para root (97894 bloques). Es posible que desee ajustar ese valor con tune2fs.
Marco
1
Muchas gracias, esto ahora funciona. umount y sudo e2fsck / dev / sdd1 parece haberlo solucionado (tenía errores de bloque reclamados de forma múltiple, tal vez por fallas anteriores, ya que mencionaba el mismo nombre de archivo). Si desea configurarlo como respuesta, lo aceptará.
Ian

Respuestas:

9

Su dispositivo de 8GB tiene aproximadamente 7.5 GiB e incluso con algunos gastos generales del sistema de archivos debería poder almacenar el archivo 5.4GiB.

Se utiliza tune2fspara verificar el estado y las propiedades del sistema de archivos:

tune2fs -l /dev/<device>

Por defecto, el 5% del espacio está reservado para el usuario root. Su salida enumera 97894 bloques, que corresponde a aproximadamente 385MiB y parece ser el valor predeterminado. Es posible que desee ajustar este valor utilizando tune2fssi no necesita tanto espacio reservado. Sin embargo, incluso con esos 385MiB, el archivo debe caber en el sistema de archivos.

Su tune2fssalida muestra un sistema de archivos sucio con errores. Entonces, ejecute fscken el sistema de archivos. Esto solucionará los errores y posiblemente colocará algunos archivos en el lost+founddirectorio. Puede eliminarlos si no tiene la intención de recuperar los datos.

Esto debería arreglar el sistema de archivos y copiar el archivo tendrá éxito.

Marco
fuente
-3

Ok, sé que soy un usuario de Windows, no un usuario de Linux, pero tuve un problema similar hace un tiempo cuando trataba de copiar archivos a un dispositivo de datos de 16Gig, para transferirlos desde y hacia una computadora portátil vieja. Resultó que la mayoría de los formatos del sistema de archivos para dispositivos extraíbles (ext2, fat32, etc.) no admiten la copia de archivos si el tamaño del archivo es mayor a 3.2Gigs, debido a que un espacio predeterminado generalmente está reservado para la raíz y el sistema archivos, etc ... Por lo general, recibo un error que me indica que la unidad estaba llena (aunque estaba totalmente vacía y recién formateada).

Después de investigar un poco, descubrí que el sistema de archivos NTFS es el mejor para transferir archivos grandes del sistema para que se peguen, ya que es el único sistema de archivos que permite copiar archivos de más de 3.2 sin ningún problema.

No sé si esto será de alguna ayuda, pero siempre es una posible solución.

Soluciones del rey
fuente
44
Por desgracia para usted EXT2 realidad hace de apoyo tales archivos grandes y además el límite de FAT32 es de 2 GiB sin LFS, 4 GiB con 256 GiB y con FAT32 + ( fuente ).
0xC0000022L