Linux: zip większy niż 4 Gb


11

Podczas próby spakowania dużego pliku w systemie Linux pojawia się błąd, ponieważ jest on zbyt duży, aby można go było obsłużyć. Czy ktoś wie, jakich poleceń mogę użyć, aby obejść ten problem?

To jest błąd, który otrzymuję:

zip error: Entry too big to split, read, or write (file exceeds Zip's 4GB uncompressed size limit)

Jest to prosty plik tekstowy, w rzeczywistości plik dziennika.


3
zamiast tego użyj tar + gzip.
moonshadow

1
Po prostu podziel plik na części 1GiB i spakuj je. Lub użyj nowoczesnego algorytmu kompresji, nie potrzebujesz w swoim przypadku formatu archiwum.

Odpowiedzi:


7

użyj polecenia linux split, aby posiekać plik dziennika na mniejsze pliki.

i rozważ skonfigurowanie obracania dziennika, aby to się więcej nie powtórzyło.


2
Wystarczy dodać to, aby wesprzeć innych użytkowników, którzy tego szukają. Użyłem tego polecenia, aby podzielić plik na plasterki 1 Gb: split -b 1024m access_log2 access_log_
Matt Rogers

15

Podstawowy format Zip ma limit 4 GB na plik. Musisz zaktualizować swoje zipnarzędzie do narzędzia obsługującego Zip64:

$ zip -v
Copyright (c) 1990-2008 Info-ZIP - Wpisz „zip” -L ”, aby uzyskać licencję na oprogramowanie.
To jest Zip 3.0 (5 lipca 2008 r.), Autor: Info-ZIP.
...

Zip specjalne opcje kompilacji:
        ...
        ZIP64_SUPPORT (użyj Zip64 do przechowywania dużych plików w archiwach)

Alternatywnie użyj innego formatu archiwum, takiego jak 7z lub tar .

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.