При выполнении tar для сжатого файла bz2 возникает следующая ошибка:
tar: dump.sql: Размер файла уменьшился на 19573448400 байт; заполнение нулями
Может ли кто-нибудь указать, что может вызвать эту проблему?
Спасибо.
Это не ошибка. Это ИНФОРМАЦИЯ.
Готов поспорить, что вы сжимаете / распаковываете образ виртуальной машины или иным образом редко выделенный файл.
Bzip2 обнаружил, что файл в основном состоит из нулей, и сжал его так, что их нет в сжатом файле.
В этом разница между фактическим размером и кажущимся размером разреженных файлов.
Рассматриваемый файл назывался dump.sql
, так что, вероятно, это не сжатый файл bz2. - В любом случае проблема не связана ни с bz2, ни с типом содержимого файла.
Сообщение означает, что stat()
в файле сообщается о размере, отличном от размера, который фактически может быть прочитан из файла. Это может произойти, если файл был изменен во время tar
работал.
Это также происходит с «виртуальными файлами», такими как файловая система Linux / sys. Многие из них имеют размер 4096 байт (произвольное значение). однажды read()
, они возвращают только пару байтов.