Архиватор WinZIP уже много лет пользуется популярностью среди Windows-пользователей. Изначально WinZIP начинался как графический интерфейс для управления утилитами PKZIP и со временем стал самостоятельным продуктом. В последних версиях появилась поддержка многотомных ZIP-архивов, а так же добавлен новый, "улучшенный", формат - ZIPX.
Интересно посмотреть как обстоят дела с поддержкой в Linux архивов, созданных в современных версиях WinZIP. Рассмотрим четыре варианта: обычный ZIP-архив, ZIP-архив с разбивкой на тома, ZIPX-архив и ZIPX-архив с разбивкой на тома. Распаковывать будем на машине под управлением Ubuntu 18.04.
Для начала на машине под управлением Windows 10 были созданы тестовые архивы в демо версии WinZIP и перемещены на машину под управлением Ubuntu 18.04. В качестве тестового набора данных использована сборка одного из браузеров на основе Chromium.
Обычный ZIP-архив
С обычными ZIP-архивами проблем в Linux нет. Благодаря труду ребят из группы Info-ZIP во всех современных дистрибутивах есть утилита "unzip", позволяющая быстро и без проблем распаковать ZIP-архив. Пример использования:
unzip archive.zip
В качестве альтернативы можно воспользоваться утилитой "7z" из пакета "p7zip-full". Она так же хорошо справляется с ZIP-архивами. Распаковать с её помощью ZIP-архив можно командой вида:
7z x archive.zip
Кроме того большинство графических оболочек для работы с архивами используют unzip и/или 7z и потому можно распаковать такие архивы даже без обращения к терминалу, используя KDE Ark, File-Roller, XArchiver и другие подобные приложения.
Многотомный ZIP-архив
С многотомными ZIP-архивами дела обстоят несколько сложнее. Распаковать их можно, но требуется некоторое "шаманство" в терминале. Сначала нужно сложить все части архива в одну директорию, а потом собрать из них новый архив командой:
zip -F src.zip --out rebuilded.zip
Если что-то пошло не так (например один из томов отсутствует или повреждён) то пересобрать архив нужно командой:
zip -FF src.zip --out rebuilded.zip
В обоих случая здесь "src.zip" это исходный архив, а "rebuilded.zip" - новый архив, который уже является простым ZIP-архивом, а не многотомным и его уже можно распаковать любым удобным способом.
Обычный ZIPX-архив
ZIPX-файлы проектом Info-ZIP к сожалению не поддерживаются, однако разработчики 7-zip добавили поддержку в свой архиватор, откуда она перекочевала в проект p7zip и стала доступна в Linux через упомянутую выше утилиту "7z" из пакета "p7zip-full".
Большинство графических оболочек для работы с архивами так же добавили поддержку ZIPX через 7z и теперь совсем не обязательно использовать терминал для распаковки. Однако в случае необходимости можно использовать команду:
7z x archive.zipx
Многотомный ZIPX-архив
Несмотря на то что 7z хорошо работает с одиночными ZIPX-файлами, оказалось что он практически бесполезен при работе с многотомными ZIPX-архивами.
Есть возможность просмотреть оглавление каждого тома и даже можно извлекать отдельные файлы, при условии что они находятся полностью внутри одного тома, однако если файл находится одновременно в нескольких томах (а специфика формата ZIPX такова что большая часть файлов в многотомном архиве "размазана" по нескольким томам) то попытка распаковки заканчивается ошибкой.
Учитывая что каких-либо других инструментов с поддержкой ZIPX для Linux нет, можно говорить о том что поддержка многотомных ZIPX-архивов в Linux отсутствует как класс.
Сводная таблица
Основными инструментами для работы с ZIP-архивами в Linux вот уже много лет остаются утилиты unzip и 7z. Попробуем собрать их возможности в табличку:
unzip | 7z | |
---|---|---|
Одиночный ZIP-архив | Да | Да |
Многотомный ZIP-архив | Нет (Да. После пересборки архива) | Нет (Да. После пересборки архива) |
Одиночный ZIPX-архив | Нет | Да |
Многотомный ZIPX-архив | Нет | Нет |
Как видим полноценной поддержки современных форматов WinZIP в Linux нет, однако стоит отметить что "в быту" многотомные архивы встречаются достаточно редко, а обычные архивы поддерживаются в полной мере.
На этом всё. Приятной работы!
Anonymous 2019-04-03 21:54:27 (#)