Я знаю, что вы можете извлечь .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