Я знаю, что вы можете извлечь .7z
файлы с 7-Zip.
Есть ли другая стандартная программа Linux, которая может сделать это? Может быть один из них
tar
bzip2
xz
gzip
Я добавлю, что bsdtar
могу это сделать, но доступно не на всех системах.
Я знаю, что вы можете извлечь .7z
файлы с 7-Zip.
Есть ли другая стандартная программа Linux, которая может сделать это? Может быть один из них
tar
bzip2
xz
gzip
Я добавлю, что bsdtar
могу это сделать, но доступно не на всех системах.
Ответы:
7-Zip архивы используют LZMA и LZMA2, которые не поддерживаются стандартными инструментами (они также используют bzip2, но вам все равно нужно декодировать заголовок).
xz
использует LZMA. Но да, он все еще не поймет остальную часть формата 7z.
Архивы 7-zip можно извлечь с помощью p7zip ( http://p7zip.sourceforge.net/ ) в Linux. Он включен в репозитории Debian, Fedora, Ubuntu и, возможно, других дистрибутивов.
Перечислите содержимое с помощью (нижний регистр L, для списка):
7za L Myarchive.7Z
Извлечь содержимое:
7za x myarchive.7z
sudo port install p7zip
«Стандартный» способ работы с 7-Zip-архивами в Unix - это использование P7ZIP . Но так как формат 7-Zip был разработан в первую очередь для Windows, вы не должны ожидать, P7ZIP
что он будет установлен по умолчанию в дистрибутивах Linux.
Если вы хотите использовать LZMA-сжатие в Unix, предпочтите XZ Utils .
Я не смог найти 7za ни в одном репозитории yum на RHEL / CentOS, поэтому я только что загрузил последнюю версию исходного кода с sourceforge.net:
$ wget https://sourceforge.net/projects/p7zip/files/p7zip/16.02/p7zip_16.02_src_all.tar.bz2
(измените "16.02" выше на любую последнюю версию, когда вы пытаетесь загрузить, вы можете узнать, перейдя по адресу https://sourceforge.net/projects/p7zip/files/p7zip/ ).
Находясь в каталоге, куда вы скачали архив p7zip, распакуйте его:
$ tar -xvjf p7zip_16.02_src_all.tar.bz2
Затем выполните команду make от имени пользователя root внутри распакованной папки:
# make
# make install
Он выдаст 7za
двоичный файл в /usr/local/bin
каталоге (если вы используете хотя бы RHEL7):
$ whereis 7za
7za: /usr/local/bin/7za
7za двоичный файл является частью пакета p7zip может быть использован для этого. Его можно установить из epel
репозитория, если вы используете RHEL / OL / CentOS (протестировано на RHEL6 / RHEL7):
RHEL6, 7:
# rpm -Uvh http://mirrors.kernel.org/fedora-epel/6/i386/epel-release-6-8.noarch.rpm
# yum install p7zip
Этот пакет долгое время не обновлялся, но все еще может использоваться для извлечения файлов:
$ 7za x xyz_7zfile.7z