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.
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).
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
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 .
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
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
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