При использовании-z режима для сжатия данных при выполнении rsync действительно ли сжатие без потерь?
sudo rsync -az /path_to/A /path_to/B
Как можно гарантировать, что какое-либо сжатие было бы без потерь?
Короткий ответ - да.
длинный ответ - то, что все универсальное сжатие данных без потерь, и почти кодирование всех носителей с потерями. Я попытаюсь объяснить почему ниже.
существует два типа сжатия, без потерь и с потерями. В сжатии без потерь не потеряна никакая информация и таким образом, исходные данные могут быть восстановлены отлично от сжатой версии. В сжатии с потерями некоторая информация потеряна, и таким образом, исходные данные не могут быть восстановлены отлично от сжатой версии. В этом случае восстановленная версия является приближением оригинала, но размер файла будет меньшим, чем когда-либо было бы возможно с алгоритмом без потерь.
Сжатие с потерями является наиболее часто используемым для медиа, таких как JPG (изображения), MP3 (аудио) и MP4 (видео). Используя результаты сжатия с потерями в очень, намного меньшие файлы, потому что мы можем избавиться от данных, таким образом, что человеческий глаз или ухо не замечают своего отсутствия. Это на самом деле довольно интересно, и обычно включает преобразование частоты, такое как Дискретное косинусное преобразование (DCT), но это выходит за рамки этого вопроса.
В случае универсального сжатия данных, когда Вы могли бы сжимать текстовые файлы или исполняемые файлы, насколько я - осведомленное сжатие с потерями, никогда не используется. При сжатии текстового файла способом с потерями Вы потеряли бы некоторую информацию, и таким образом Вы навсегда потеряли бы часть текста. При сжатии исполняемого файла способом с потерями это не работало бы тот же путь (если вообще) после распаковки его.
Взятие его шаг вперед, скажем, у Вас есть файл MP3. Аудио внутри уже подверглось сжатию с потерями. Однако сам файл MP3 организован очень определенным способом так, чтобы аудиоплееры поняли, как играть его данные. Если бы Вы были к сжатию с потерями файлом MP3, Вы потеряли бы информацию, организация была бы уничтожена, и по всей вероятности это будет неиграемо.
От man rsync
:
CREDITS
...
This program uses the excellent zlib compression library written
by Jean-loup Gailly and Mark Adler.
zlib разработан, чтобы быть свободным, общего назначения, юридически незаложенным - то есть, не покрыт любыми патентами - библиотека сжатия данных без потерь...
Вне проверки zlib
, который является очень известен, широко используется библиотека сжатия, нет ничего особенного, что можно сделать.