Plein phare sur une application Brew : p7zip
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.
- Homebrew - Gestionnaire de paquets
- Guetzli, une librairie d'encodage JPG optimisée
- Installer les commandes ecm et unecm sur macOS
- Homebrew : Recherche et commandes avancées
- Astuce macOS : Gérer les images disques au format bin/cue
- Plein phare sur une application Brew : youtube-dl
- Plein phare sur une application Brew : smartmontools
- Plein phare sur une application Brew : minidlna
- Brew et les paquets installés
- Plein phare sur une application Brew : unrar
- Plein phare sur une application Brew : glances
- Brew et les paquets à mettre à jour
- Plein phare sur une application Brew : watch
- Homebrew et la gestion de l'espace disque
- Plein phare sur une application Brew : ncdu
- Plein phare sur une application Brew : TestDisk
- Convertir une série d'images en GIF animé sur macOS
- Plein phare sur une application Brew : p7zip
- Plein phare sur une application Brew : Optimiser des PNGs avec ImageOptim
- Plein phare sur une application Brew : pstree
- Plein phare sur une application Brew : lsusb
- Plein phare sur une application Brew : rename
- Plein phare sur une application Homebrew : nmap
- Gérer les mises à jours des applications Homebrew sur 10.14 et inférieur.
- Gérer les mises à jours des applications Homebrew sur 10.14 et inférieur, partie 2.
- Plein phare sur une application Brew : yt-dlp
- Homebrew : Corriger un problème de dépendances trop récentes