Vous venez de télécharger un jeu de 180 Go compressé en ZIP ou en 7z (Merci FitGirl ! ^^), et une fois décompressé, il viendra squatter 200 Go. Logique... Sauf que comme le savez également, WinRAR, 7-Zip ou unzip ont besoin de conserver l'archive pour la décompresser jusqu'au bout. Du coup, au final, cette archive compressée + tous les fichiers extraits en même temps sur le disque, et bien vous vous retrouvez avec 380 Go au total.
Donc si comme moi vous êtes toujours à court de place parce que "les nouveaux modèles à tester sur Ollama, tu connais", voici peut-être LA solution du tur-fu !
C'est en tout cas la mission que s'est donné HatchZip , un extracteur gratuit et open source pour Windows, macOS et Linux, qui s'utilise en GUI (interface graphique) ou en ligne de commande. Lui en décompressant votre archive se contentera d'un peu plus de 200 Go et pas de 380 Go parce qu'avec lui, l'archive rétrécit au fur et à mesure que les fichiers en sortent. Et quand il a terminé, hé bien il ne reste plus que les fichiers extraits !
L'archive de 180 Go se vide par la fin pendant que le dossier du jeu se remplit
Comme un ZIP ou un 7z range son index tout à la fin du fichier, HatchZip commence par le mettre de côté dans un petit fichier, puis il extrait les morceaux en partant du dernier. Après chaque fournée, il ampute alors l'archive à l'endroit où commençait cette fournée, et la place libérée sert alors aux fichiers suivants.
Voici comment le lancer en ligne de commande (avec la phase de check pour voir si ça tiendra sur votre disque)
hatchzip check game.zip hatchzip extract game.zip Bien sûr, si vous faites Ctrl+C, HatchZip terminera de s'occuper des fichiers qu'il est en train d'écrire, enregistrera sa progression et s'arrêtera. Pareil après un plantage ou une coupure de courant. Mais il suffit alors de relancer la même commande pour qu'il reprenne là où il en était. Et si vous changez d'avis, hatchzip restore refera une archive "normale" avec ce qui n'a pas encore été extrait (ce sera donc ouvrable classiquement par 7-Zip, WinRAR ou unzip sauf pour un RAR ayant ses noms de fichiers chiffrés).
Côté formats, il lit le ZIP, le 7z, le RAR, le tar, le .tar.gz, le .tar.xz et les archives découpées en .001, .002, etc., dont il supprime chaque volume dès qu'il est vidé. Un .tar.gz ou un .tar.xz, lui, se décompresse depuis le début, et HatchZip n'en rend la place qu'en "poinçonnant" le fichier, ce qui n'est pas encore vérifié sous NTFS et APFS. Et un .tar.xz fait d'un seul bloc, lui, est carrément refusé dès le départ.
Par contre, un 7z lui aussi compressé en un seul gros bloc solide exigera de la place libre pour ce bloc entier, car il ne pourra être libéré qu'une fois complètement extrait. Et un RAR solide ne passe qu'avec --keep-archive, autrement dit en extraction classique qui conserve l'archive.
Après, n'oubliez pas que cet outil détruit ce qu'il lit, donc ayez toujous une copie récupérable de ce que vous décompressez. Et prenez la dernière version, uniquement sur hatchzip.dev ou sur GitHub (hatchzip.com n'a rien à voir avec le projet), et ajoutez y --verify-first quand l'archive ne peut pas être retéléchargée car ça lui permet de contrôler alors la somme de chaque fichier avant d'effacer quoi que ce soit.
HatchZip est sous licence MIT / Apache 2.0, et c'est, je pense à garder sous le coude pour le jour où votre SSD criera famine (ce qui le cas du mien tous les jours) !
Source : HatchZip sur GitHub