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.