¿Por qué no puedo copiar un archivo 5G?

29

Estoy tratando de hacer una copia de seguridad de mi VirtualBox, pero cuando trato de copiar el directorio .VirtualBox en mi disco duro externo aparece el error "Archivo demasiado grande":

[130 amanda@luna ~]$ cp -r .VirtualBox /media/LACIE/Luna/Jun012011/VirtualBox
cp: writing `/media/LACIE/Luna/Jun012011/VirtualBox/Machines/Astro/Snapshots/{9fe69a30-d308-4754-b4e4-928eb90f93d2}.vdi': File too large
cp: writing `/media/LACIE/Luna/Jun012011/VirtualBox/HardDisks/Astro.vdi': File too large

[1 amanda@luna ~]$ ls -alh .VirtualBox/HardDisks/Astro.vdi 
-rw------- 1 amanda amanda 5.0G 2010-04-30 17:41 .VirtualBox/HardDisks/Astro.vdi

¿Qué debería estar buscando aquí?

Amanda
fuente

Respuestas:

40

/media/LACIEParece que está manejando una unidad preformateada, muy probablemente con el sistema de archivos FAT32. Según Wikipedia , el tamaño máximo de archivo para FAT32 es de aproximadamente 4 GB.

Sugiero volver a formatear la unidad a ext4 (para admitir permisos de archivos de Linux) o NTFS (si necesita compartir la unidad con los usuarios de Windows).

Qué gracioso, pero ahora debes hacer una copia de seguridad de tu copia de seguridad antes de formatearla;)

Lekensteyn
fuente
Consigue un montón de eso. Efectivamente, es FAT. De hecho, agregué una partición ext3 en algún momento (probablemente b / c estaba teniendo el mismo problema la última vez que hice una copia de seguridad de algo, que fue hace mucho tiempo) para poder trabajar con la unidad FAT.
Amanda
ext2 también es una opción para la interoperabilidad de Windows, pero NTFS es la más fácil ya que la mayoría de las distribuciones modernas de Linux / BSD y Mac OS incluyen la capacidad de al menos leer particiones NTFS de fábrica. Puede dejar controladores de lectura / escritura en el disco duro para instalarlos en otros sistemas. El uso de ext2, ExFAT, HFS o cualquier otro FS requiere que los controladores entren en otros sistemas a través de algún otro método solo para leer el disco.
Afrazier 01 de
8

Si necesita mantener el sistema de archivos fat32, hay una forma de evitar el límite.

Hay un comando llamado splitque le permitirá dividir un archivo en partes más pequeñas.

 -b, --bytes = TAMAÑO
              poner TAMAÑO bytes por archivo de salida

Ejemplo:

dd if=/dev/zero bs=1M count=150 >test

150 + 0 registros en
150 + 0 registros
157286400 bytes (157 MB) copiados, 0.439344 s, 358 MB / s

prueba dividida -b 10000000
ls -l 157286400 2011-06-01 21:18 prueba 10000000 2011-06-01 21:20 xaa 10000000 01/06/2011 21:20 xab 10000000 01/06/2011 21:20 xac 10000000 01/06/2011 21:20 xad 10000000 01/06/2011 21:20 xae 10000000 01/06/2011 21:20 xaf 10000000 2011-06-01 21:20 xag 10000000 2011-06-01 21:20 xah 10000000 01/06/2011 21:20 xai 10000000 01/06/2011 21:20 xaj 10000000 01/06/2011 21:20 xak 10000000 2011-06-01 21:20 xal 10000000 01/06/2011 21:20 xam 10000000 01/06/2011 21:20 xan 10000000 2011-06-01 21:20 xao 7286400 2011-06-01 21:20 xap

Ah, y catlos vuelve a poner juntos.

Rinzwind
fuente
jointiene otro uso, quieres decir cat?
enzotib 01 de
@enzotib de hecho :-D
Rinzwind