Perché non riesco a copiare un file 5G?


29

Sto cercando di eseguire il backup di VirtualBox, ma quando provo a copiare la directory .VirtualBox sul mio disco rigido esterno, viene visualizzato l'errore "File troppo 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

Cosa dovrei cercare qui?

Risposte:


40

/media/LACIEsembra che tu stia gestendo un'unità preformattata, molto probabilmente con il filesystem FAT32. Secondo Wikipedia , la dimensione massima del file per FAT32 è di circa 4 GB.

Suggerisco di riformattare l'unità in ext4 (per supportare le autorizzazioni dei file Linux) o NTFS (se è necessario condividere l'unità con gli utenti di Windows).

Che strano, ma ora devi eseguire il backup del backup prima di riformattare;)


Prendi un carico di quello. Abbastanza sicuro, è FAT. Ho effettivamente aggiunto una partizione ext3 ad un certo punto (probabilmente in b / c stavo avendo lo stesso problema l'ultima volta che ho eseguito il backup di qualcosa, molto tempo fa) in modo da poter aggirare l'unità FAT.
Amanda,

ext2 è anche un'opzione per l'interoperabilità di Windows, ma NTFS è la più semplice poiché la maggior parte delle distro Linux / BSD moderne e Mac OS includono la possibilità di leggere almeno le partizioni NTFS. È possibile lasciare i driver di lettura / scrittura sul disco rigido per l'installazione su altri sistemi. L'uso di ext2, ExFAT, HFS o qualsiasi altro FS richiede di ottenere i driver su altri sistemi tramite qualche altro metodo solo per leggere l'unità.
Afrazier

8

Se hai bisogno di mantenere il filesystem fat32 c'è un modo per aggirare il limite.

C'è un comando chiamato splitche ti permetterà di dividere un archivio in parti più piccole.

 -b, --bytes = SIZE
              inserisci byte SIZE per file di output

Esempio:

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

150 + 0 record in
150 + 0 registrazioni
157286400 byte (157 MB) copiati, 0,439344 s, 358 MB / s

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

Oh e catli rimette insieme.


joinha un altro uso, vuoi dire cat?
enzotib,

@enzotib infatti :-D
Rinzwind
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.