Какой архиватор лучше?

Какой архиватор лучше?

Беседовали тут на днях с приятелем-технарём о производстве бэкапов и подняли по этому случаю тему архиваторов — программ для сжимания данных: какой, мол архиватор лучше. Суть своих аргументов излагаю ниже.

С моей точки зрения, всё зависит от того, какой смысл вы вкладываете в слово «лучше». Применительно к архивации оно может означать, например, следующее:

эффективность компрессии (насколько эффективно программа-архиватор сжимает данные);
возможность восстановления данных из битых архивов (например, в случае повреждения диска, на котором они хранятся);
взломоустойчивость (сложность взламывания или подбора паролей к архивам, в случае если вы запираете их паролем или шифруете);
открытость кода, благодаря чему независимые специалисты по безопасности смогут проверить программу-архиватор на отсутствие бэкдоров и потенциальных уязвимостей (актуально, если вы намерены защитить архив паролем);
кроссплатформенность (возможность изготовлять и распаковывать архивы в различных операционных системах — Windows, macOS, Linux);
сохранение информации о правах доступа (актуально при архивации системных разделов);
стоимость (в тех случаях, если она имеет для вас значение — например, по принципиальным соображениям).

Теперь давайте рассмотрим эти критерии по порядку.

1. Эффективность компрессии

Одним из лучших форматов в плане эффективности компресии, среди тех, что популярны, является 7z (автор Игорь Павлов). Официальная программа-архиватор этого формата называется 7-zip. Он сжимает на 6-7% эффективнее, чем RAR, и на 2-10% эффективнее, чем ZIP (см. тут). Разумеется, как при любой архивации, коэффициент сжатия сильно зависит от типа сжимаемых данных: текстовые файлы обычно сжимаются лучше всего, а картинки (.jpg) и музыка (.mp3) — значительно хуже, поскольку и в своём «обычном» состоянии являются сжатыми данными.

Формат 7z также хорош тем, что является бесплатным форматом с открытым кодом и имеет возможность шифрования архивов по стандарту AES-256 и защиты паролем. Доступны разные версии этого архиватора для различных платформ, в том числе для Windows, macOS и Linux.

Обладателям Макинтошей для работы с 7z могу предложить протестировать Keka — бесплатный архиватор для macOS с открытым кодом, поддерживающий формат 7z (а также восемь других форматов). Проект Keka достаточно активно развивается, так что если у вас будут идеи по улучшению или багрепорты, непременно напишите разработчику.

2. Возможность восстановления данных из битых архивов

Бывают случаи, когда файл с архивом частично не читается — либо вследствие физического повреждения диска, на котором он хранился, либо при пересылке по сети, либо вследствие действия вируса и прочих форс-мажорных обстоятельств. И если этот архив существует в единственном экземпляре, разумеется, крайне желательно было бы иметь чудесную возможность «вылечить» этот архив — то есть, восстановить его целостность, чтобы открыть его и извлечь оттуда ваши бесценные, единственные и неповторимые фотки с майской поездки на шашлыки.

На этот случай очень рекомендую использовать для архивации формат RAR. Чтобы иметь возможность восстановить битый архив, нужно при его создании обязательно включить опцию «добавить информацию для восстановления» (Put Recovery Record) и выбрать желаемый размер этой записи (от 1 до 100%). Чем больше размер записи, тем больший процент битого архива удастся восстановить в случае повреждения. Так, 5%-ная восстановительная запись сможет восстановить около 5% битого архива, 10%-ная — около 10 процентов, и т. д.

В то же время, добавление восстановительной записи увеличивает размер файла с архивом: чем больше запись, тем больше размер архива. Вследствие чего возникает вопрос: а не проще ли изготовить две копии этого архива и хранить их в разных местах — например, на двух разных хостингах? Возможно. Однако иногда файлы настолько большие, что нет возможности возиться с изготовлением и пересылкой по сети двух копий архивов. Так что если вы планируете хранить ваш архив в единственном экземпляре и хотите застраховать его от частичного повреждения, имеет смысл использовать RAR.

(К слову, RAR — не единственный формат, который позволяет добавлять к архивам восстановительную запись. Есть ещё ARС, ARJ, FreeARC и некоторые другие. Однако, они проигрывают ему по некоторым другим важным параметрам — эффективности/скорости сжатия, стабильности работы, кроссплатформенности, распространённости и т. д.)

К минусам RAR можно отнести, пожалуй, лишь закрытость программного кода, вследствие чего этот архиватор нельзя проверить на отсутствие бэкдоров и уязвимостей. Поэтому если вы намереваетесь защитить ваши RAR-архивы паролем, вам остаётся уповать на добросовестность разработчика. Которого, кстати, зовут Евгений Рошал (да, это наш бывший соотечественник, челябинский программист, ныне живущий где-то в Германии). Название RAR является сокращением от Roshal ARchiver, то есть «архиватор Рошала»).

Пара слов о стоимости. RAR не бесплатен (даже консольная версия!): однопользовательская лицензия стоит 29 $ (около 2000 рублей с учётом налогов). При этом, как заверила меня представитель службы продаж WinRAR, такую лицензию разрешается использовать на всех платформах (Windows, macOS, Linux и пр.) и любом количестве устройств, при условии, что ими пользуется только владелец лицензии.

3. Взломоустойчивость

Если вы намереваетесь защитить ваш архив паролем, естественно, вам захочется, чтобы запароленный архив было как можно труднее взломать. Среди прочих, все популярные форматы архивирования (к примеру, zip, rar, 7z) позволяют защищать архивы паролем с шифрованием по стандарту AES-256. Поскольку алгоритм шифрования используется один и тот же (хотя возможны и другие), взломоустойчивость в плане хакерского взлома запароленного архива, насколько я понимаю, должна быть, так или иначе, примерно сходная (если я заблуждаюсь, поправьте меня).

Очевидно, то же можно сказать и о подборе пароля с помощью последовательного перебора всех возможных вариантов (так называемая брутфорс-атака). Взломоустойчивость в этом случае будет зависеть не столько от формата архива, сколько от вычислительной мощности компьютера, который злоумышленник использует для подбора пароля (опять же, если у вас на этот счёт есть другая информация, сообщите, пожалуйста).

4. Открытость кода

Открытость кода (англ. open source) программы-архиватора может иметь для вас как пользователя практический смысл, если вы планируете защитить ваши архивы с помощью шифрования и пароля. Открытость кода позволяет сторонним экспертам по криптографии и защите информации анализировать код программы-архиватора на предмет выявления уязвимостей, чтобы разработчик мог их своевременно устранить и тем самым обеспечить приватность архивируемых вами данных.

Из тех форматов архивации, что не канули в небытие и продолжают развиваться и сохранять популярность, форматами с открытым кодом являются tar, FreeArc, pea, zip, zpaq и 7z.

5. Кроссплатформенность

Разумеется, хорошо иметь возможность пользоваться архиватором на нескольких платформах — и на Windows, и в macOS, и в Linux. Насколько мне известно, все сколько-нибудь популярные форматы архивации имеют версии под все основные платформы, а иногда и под какие-нибудь экзотические, типа Solaris, IRIX или BeOS.

Бывают случаи, когда у архиватора нет версии под какую-то определённую платформу (к примеру, у коммерческого архиватора StuffitX до сих пор нет версии под Linux). На мой взгляд, такая негибкость здорово вредит популярности архиватора и практически равносильна заявлению: «не пользуйтесь нашей программой». А маловостребованные программы, в свою очередь, имеют меньшие шансы остаться на плаву в течение долгого времени, поскольку менее активно развиваются и быстрее вымирают. Так что кроссплатформенность — хороший показатель, способствующий популярности программы и её дальнейшему совершенствованию.

Итого

Среднепродвинутому пользователю при прочих равных условиях могу порекомендовать следующее:

• Если вы цените open source и хотите, чтобы ваши архивы занимали как можно меньше места, архивируйте ваши данные с помощью 7z.

• Если вы хотите иметь возможность частично восстановить архивы в случае повреждения (типичная ситуация: очень объёмные архивы в единственном экземпляре), архивируйте ваши данные с помощью RAR. В процессе создания архива не забудьте добавить информацию для восстановления (recovery record).


Ссылки по теме:
Сравнительная таблица форматов архивации (англ.)
Сравнительная таблица программ-архиваторов (англ.)

Поделиться
Отправить
2019   софт
Популярное