Dlaczego nie mogę skopiować pliku 5G?


29

Próbuję wykonać kopię zapasową VirtualBox, ale kiedy próbuję skopiować katalog .VirtualBox na zewnętrzny dysk twardy, pojawia się błąd „Plik jest zbyt duży”:

[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

Czego powinienem tu szukać?

Odpowiedzi:


40

/media/LACIEwygląda na to, że obsługujesz wstępnie sformatowany dysk, najprawdopodobniej z systemem plików FAT32. Według Wikipedii maksymalny rozmiar pliku dla FAT32 wynosi około 4 GB.

Sugeruję sformatować dysk na ext4 (w celu obsługi uprawnień do plików Linux) lub NTFS (jeśli chcesz udostępnić dysk użytkownikom Windows).

To zabawne, ale przed sformatowaniem musisz najpierw wykonać kopię zapasową;)


Zdobądź to. Jasne, to jest FAT. W pewnym momencie faktycznie dodałem partycję ext3 (prawdopodobnie b / c miałem ten sam problem podczas ostatniego tworzenia kopii zapasowej, co było bardzo dawno temu), więc mogę pracować wokół dysku FAT.
Amanda

ext2 jest również opcją dla Windows Interop, ale NTFS jest najłatwiejszy, ponieważ większość współczesnych dystrybucji Linux / BSD i Mac OS zawierają możliwość przynajmniej odczytu partycji NTFS od razu po wyjęciu z pudełka. Możesz zostawić sterowniki odczytu / zapisu na dysku twardym, aby zainstalować je w innych systemach. Korzystanie z ext2, ExFAT, HFS lub dowolnego innego FS wymaga przeniesienia sterowników do innych systemów za pomocą innej metody tylko do odczytu dysku.
afrazier

8

Jeśli chcesz zachować system plików fat32, możesz obejść ten limit.

Istnieje polecenie split, które pozwala podzielić archiwum na mniejsze części.

 -b, --bytes = ROZMIAR
              umieść SIZE bajtów na plik wyjściowy

Przykład:

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

150 + 0 rekordów w
150 + 0 zapisów
157286400 bajtów (157 MB) skopiowanych, 0,439344 s, 358 MB / s

test podziału -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

Aha i catłączy je z powrotem.


joinma inne zastosowanie, masz na myśli cat?
enzotib

@enzotib rzeczywiście :-D
Rinzwind
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.