Univers Apple

07
Nov.
2020

Plein phare sur une application Brew : p7zip

Publié par sky

Profitant d'un ratio de compression bien plus élevé que les autres format de compression, les archives 7z sont de plus en plus fréquentes. C'est notamment le cas pour les amateurs d'émulation dont les ROMs les plus lourdes sont disponibles à ce format.

macOS, via son outil Archive Utility, ne permet pas de décompresser les archives à ce format. L'une des solutions sur Mac est donc l'installation d'une application supplémentaire, et voici comment installer et utiliser l'application p7zip disponible via Homebrew.

 

Installation de l'application

Affichons les informations de l'application

brew info p7zip

voici ce que brew nous répond

p7zip: stable 16.02 (bottled)
7-Zip (high compression file archiver) implementation
https://p7zip.sourceforge.io/
/usr/local/Cellar/p7zip/16.02_2 (103 files, 4.7MB) *
  Poured from bottle on 2019-08-23 at 06:55:49
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/p7zip.rb
License: LGPL-2.1
==> Analytics
install: 10,475 (30 days), 32,053 (90 days), 156,576 (365 days)
install-on-request: 8,178 (30 days), 25,264 (90 days), 117,797 (365 days)
build-error: 0 (30 days)

Toujours intéressé par l'application ? Installons la

brew install p7zip

L'installation est rapide, l'application n'est vraiment pas très lourde.

 

Compression de données

Pour l'exemple, j'ai créé un dossier de test avec quelques scripts PHP. Avec mon terminal, je me place juste avant le dossier.

cd chemin/vers/mon/dossier

puis je regarde mon dossier de test

ls -l Test

voici la réponse.

-rw-r--r--@ 1 sky  wheel     855  7 avr  2020 mame.php
-rw-r--r--@ 1 sky  wheel     144 14 mai 21:02 mysql.php
-rw-r--r--@ 1 sky  wheel      48 14 mai 21:33 sha512.php
-rw-r--r--@ 1 sky  wheel     235 18 mai 14:39 sum.php

Imaginons que je souhaite compresser tous les fichiers de ce dossier dans une archive nommée test.7z

7z a test.7z Test

Tout simplement !

Mais p7zip permet aussi d'ajouter les fichiers que l'on souhaite, un à un. Imaginons que l'on souhaite ajouter tous les fichiers sauf le sha512.php

N'oubliez pas de supprimer la précédente archive

rm test.7z

Puis ajoutons le premier fichier

7z a test.7z sum.php

On voit bien que l'application créé l'archive

7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=utf8,Utf16=on,HugeFiles=on,64 bits,16 CPUs x64)

Scanning the drive:
1 file, 235 bytes (1 KiB)

Creating archive: test.7z

Items to compress: 1


Files read from disk: 1
Archive size: 269 bytes (1 KiB)
Everything is Ok

puis les deux fichiers commençant par la lettre m

7z a test.7z Tests/m*

Ici, l'application ouvre l'archive pour y ajouter les 2 fichiers

7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=utf8,Utf16=on,HugeFiles=on,64 bits,16 CPUs x64)

Open archive: test.7z
--
Path = test.7z
Type = 7z
Physical Size = 269
Headers Size = 130
Method = LZMA2:12
Solid = -
Blocks = 1

Scanning the drive:
2 files, 999 bytes (1 KiB)

Updating archive: test.7z

Items to compress: 2


Files read from disk: 2
Archive size: 794 bytes (1 KiB)
Everything is Ok

L'application peut donc ajouter des fichiers à la volée, dans une archive déjà créée.

 

Affichage des données d'une archive

p7zip permet d'afficher les fichiers contenus dans une archive.

7z l test.7z

Le résultat est

7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=utf8,Utf16=on,HugeFiles=on,64 bits,16 CPUs x64)

Scanning the drive for archives:
1 file, 830 bytes (1 KiB)

Listing archive: test.7z

--
Path = test.7z
Type = 7z
Physical Size = 830
Headers Size = 202
Method = LZMA2:12
Solid = -
Blocks = 3

   Date      Time    Attr         Size   Compressed  Name
------------------- ----- ------------ ------------  ------------------------
2020-05-18 14:39:48 ....A          235          139  Tests/sum.php
2020-05-14 21:02:56 ....A          144          115  Tests/mysql.php
2020-04-07 00:50:30 ....A          855          374  Tests/mame.php
------------------- ----- ------------ ------------  ------------------------
2020-05-18 14:39:48               1234          628  3 files

On retrouve bien nos fichiers, mais surtout, on peut voir qu'ils étaient dans le dossier Tests, très important lors la décompression.

 

Décompression des données

Dernier point, regardons comment décompresser une archive.

Pour l'exemple, déplaçons notre archive dans un autre dossier, vide. Puis nous nous déplacerons dedans.

mkdir nouveau
mv test.7z nouveau/
cd nouveau

p7zip dispose de 2 options pour extraire les fichiers d'une archive. La première va extraire les fichiers sans se préoccuper des dossiers.

7z e test.7z

Regardons le résultat

ls -l
-rw-r--r--   1 sky  staff      855  7 avr  2020 mame.php
-rw-r--r--   1 sky  staff      144 14 mai 21:02 mysql.php
-rw-r--r--   1 sky  staff      235 18 mai 14:39 sum.php
-rw-r--r--   1 sky  staff      830 18 oct 10:17 test.7z

La seconde va permettre de conserver les chemins inclus dans les archives. Ce qui peut être pratique lorsque vous archives contient des dossiers, des sous-dossiers ou encore des sous-sous-dossiers. Cette seconde option va vous permettre de conserver l'architecture existante

7z x test.7z

Regardons le résultat

ls -l
drw-r--r--   1 sky  staff      830 18 oct 10:17 Tests
-rw-r--r--   1 sky  staff      855  7 avr  2020 mame.php
-rw-r--r--   1 sky  staff      144 14 mai 21:02 mysql.php
-rw-r--r--   1 sky  staff      235 18 mai 14:39 sum.php
-rw-r--r--   1 sky  staff      830 18 oct 10:17 test.7z

Nous retrouvons les fichiers précédemment extraits mais aussi le dossier Test, dans lequel nous pouvons regarder

ls -l Tests
-rw-r--r--   1 sky  staff      855  7 avr  2020 mame.php
-rw-r--r--   1 sky  staff      144 14 mai 21:02 mysql.php
-rw-r--r--   1 sky  staff      235 18 mai 14:39 sum.php

Et voilà, l'utilisation des archives 7z n'a rien de compliqué, et n'a plus aucun secret pour vous.

 
Sommaire de la série
 
 
Commentaires
Aucun commentaire pour le moment.

 

Poster un commentaire
En postant sur skymac.org, je m'engage à être courtois et à ce que mon message soit pertinent avec le sujet de l'article.
En outre, j'accepte, sans condition, que mon message soit refusé et supprimé si ces règles ne sont pas appliquées.
Captcha indisponible
Pour valider le formulaire, vous devez confirmer que vous êtes bien une personne. Actuellement, la fonctionnalité est indisponible. Vous devez activer le service ReCaptcha dans le gestionnaire des cookies, et donc consentir à l'utilisation de ses cookies.
Ouvrir le panneau de gestion des cookies
Fermer le panneau
Ce site utilise des cookies pour assurer son bon fonctionnement. Il utilise aussi des cookies issues de services tiers permettant de proposer des fonctionnalités avancées. À tout moment, vous pouvez choisir quels services vous souhaitez activer ou refuser, afin de retirer votre consentement quant à l'utilisation des cookies.
 
Personnalisation des services
Vous êtes libre de choisir quels services vous souhaitez activer. En autorisant ces services tiers, vous acceptez le dépôt et la lecture de cookies et l'utilisation de technologies de suivi nécessaires à leur bon fonctionnement. En retirant votre consentement pour certains de ces services, certaines fonctionnalités du site peuvent ne plus fonctionner.
Navigation du site  En savoir plus
Le site écrit un cookie de session permettant son bon fonctionnement et aidant à la navigation. Il ne peut être désactivé.
Utilisation : 1 cookie, enregistre l'identifiant de la session.
Durée de vie : Le cookie est présent pendant toute la session sur le site. Il devient obsolète après 24 minutes d'inactivité.
Obligatoire
Popup Média
Afficher des vidéos depuis Yoube ou Dailymotion.
ReCaptcha  En savoir plus
Permet de valider que les visiteurs sont bien des humains lorsqu'ils valident des formulaires.
 
Tout accepter Tout refuser Gérer