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.

Matt Rogers
źródło
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.

David Chan
źródł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 .

użytkownik1686
źródło