Podczas wykonywania tar na skompresowanym pliku BZ2 napotkałem następujący błąd:
tar: dump.sql: Plik zmniejszył się o 19573448400 bajtów; wypełnienie zerami
Czy ktoś może wskazać, co może być przyczyną tego problemu?
Dzięki.
To nie jest błąd. To INFO.
Jestem gotów się założyć, że kompresujesz / dekompresujesz obraz maszyny wirtualnej lub w inny sposób rzadko przydzielany plik.
Bzip2 wykrył, że plik jest w większości zerowy i skompresował go, aby nie było go w skompresowanym pliku.
Jest to różnica między rzeczywistym rozmiarem a pozornym rozmiarem rzadkich plików.
Plik, o którym mowa, został wywołany
dump.sql
, więc prawdopodobnie nie jest to skompresowany plik BZ2. - W każdym razie problem nie ma nic wspólnego z bz2 ani typem zawartości pliku.Komunikat oznacza, że a
stat()
w pliku zgłosił inny rozmiar niż ilość, którą można odczytać z pliku. Może się tak zdarzyć, jeśli plik został zmieniony podczastar
pracy.Dzieje się tak również w przypadku „plików wirtualnych”, takich jak te w systemie plików Linux / sys. Wiele z nich ma rozmiar 4096 bajtów (dowolna wartość). Raz
read()
zwracają tylko kilka bajtów.źródło