web-dev-qa-db-fra.com

Extraire des fichiers 7z avec des outils linux standard?

Je sais que vous pouvez extraire des fichiers .7z avec 7-Zip.

Existe-t-il un autre programme Linux standard capable de le faire? Peut-être l'un de ces

tar
bzip2
xz
gzip

J'ajouterai que bsdtar peut le faire, mais n'est pas disponible sur tous les systèmes.

28
Steven Penny

Les archives 7-Zip utilisent LZMA et LZMA2, qui ne sont pas prises en charge par les outils standard (elles utilisent également bzip2, mais vous devez toujours décoder l'en-tête).

9

Les archives 7-Zip peuvent être extraites avec p7Zip ( http://p7Zip.sourceforge.net/ ) sur Linux. Il est inclus dans les dépôts de: Debian, Fedora, Ubuntu et éventuellement d’autres distributions.

Liste le contenu avec (minuscule L, pour liste):

7za l myarchive.7z 

Extraire le contenu:

7za x myarchive.7z 
30
Mike Fleetwood

La manière "standard" de travailler avec les archives 7-Zip sous Unix consiste à utiliser P7Zip . Mais comme le format 7-Zip a été conçu principalement pour Windows, vous ne devriez pas vous attendre à ce que P7Zip soit installé par défaut sur les distributions Linux.

Si vous souhaitez bénéficier de la compression LZMA sous Unix, préférez XZ Utils .

2
jjlin

Je ne pouvais pas trouver 7za dans les dépôts yum sur RHEL/CentOS, je viens donc de télécharger la dernière version du code source depuis sourceforge.net:

$ wget https://sourceforge.net/projects/p7Zip/files/p7Zip/16.02/p7Zip_16.02_src_all.tar.bz2

(changez "16.02" ci-dessus à la dernière version au moment où vous essayez de télécharger, vous pouvez le trouver en allant à https://sourceforge.net/projects/p7Zip/files/p7Zip/ ).

Étant dans le répertoire où vous avez téléchargé l’archive p7Zip, décompressez-le:

$ tar -xvjf p7Zip_16.02_src_all.tar.bz2

Puis exécutez la commande make en tant qu'utilisateur root dans le dossier extrait:

# make
# make install

Il produira 7za binary dans le répertoire /usr/local/bin (si vous utilisez au moins RHEL7):

$ whereis 7za
7za: /usr/local/bin/7za
0
Tagar

Le binaire 7za fait partie du paquet p7Zip qui pourrait être utilisé pour cela. Il peut être installé à partir du référentiel epel si vous utilisez RHEL/OL/CentOS (testé sur RHEL6/RHEL7):

RHEL6:

# rpm -Uvh http://mirrors.kernel.org/Fedora-epel/6/i386/epel-release-6-8.noarch.rpm
# yum install p7Zip

RHEL7:

# yum install epel-release
# yum install p7Zip

et pourrait être utilisé pour extraire des fichiers avec des chemins complets:

$ 7za x xyz.7z
0
Gryu

J'ai essayé 7za au début mais ça n'a pas marché, alors j'ai essayé d'utiliser 7z avec les mêmes options et ça marche. Voici l'exemple: Pour extraire: 7z e xy213file.7z

0
Avinash