Tutoriel Linux

Créer une archive 7z sous Linux quand un ZIP devient trop juste

Débutant4 min de lecture

Un ZIP suffit pour échanger quelques documents. Dès qu’un dossier devient lourd, qu’il faut limiter la taille du fichier ou cacher les noms qu’il contient, le format 7z devient plus intéressant. Je l’utiliserais pour préparer un lot à transférer ou archiver une copie de travail, pas comme unique sauvegarde.

La procédure tient en quatre contrôles : identifier la commande installée, créer l’archive sans effacer les sources, en lire le contenu, puis la tester avant de supprimer ou d’envoyer quoi que ce soit.

Tux range des dossiers dans une archive sécurisée pour illustrer la création d’une archive 7z sous Linux
Une archive 7z se vérifie avant le transfert ou la suppression des fichiers source.

Vérifier la commande et préparer le dossier

Sur Debian ou Ubuntu récents, le paquet 7zip fournit généralement 7zz. Des installations plus anciennes utilisent parfois p7zip-full et la commande 7z. Commencez par regarder ce qui est réellement disponible :

command -v 7zz || command -v 7z
7zz i 2>/dev/null || 7z i

Si aucune commande ne répond, installez le paquet adapté à votre distribution. Sous Debian ou Ubuntu, commencez par mettre à jour l’index, puis installez 7zip :

sudo apt update
sudo apt install 7zip

Travaillez depuis le répertoire parent du dossier à archiver. Vous éviterez une archive remplie de chemins absolus et vous verrez tout de suite le volume concerné. Contrôlez aussi la place disponible sur la destination :

du -sh projet
 df -h .

Créer une archive 7z en gardant les fichiers source

Placez-vous dans le dossier qui contient projet, puis créez l’archive. La commande a ajoute les fichiers. Elle ne supprime pas le dossier source, sauf si vous lui demandez explicitement un autre comportement.

7zz a sauvegarde-projet.7z projet/

Avec l’ancienne commande, remplacez simplement 7zz par 7z. Le niveau par défaut convient dans la plupart des cas. Pour privilégier la vitesse sur un serveur déjà chargé, ajoutez -mx=3. Le niveau -mx=9 prend plus de CPU et ne réduit pas toujours assez la taille pour justifier l’attente.

Pour découper l’archive en volumes de 2 Gio destinés à un support ou un envoi limité, utilisez -v2g :

7zz a -v2g sauvegarde-projet.7z projet/

Conservez tous les fichiers .001, .002 et suivants dans le même dossier. Le premier volume sert au test et à l’extraction.

Chiffrer l’archive sans exposer le mot de passe

Évitez -pmotdepasse directement dans la ligne de commande : Bash l’enregistre souvent dans l’historique et il peut apparaître dans la liste des processus. Passez -p sans valeur afin que 7-Zip demande le secret de façon interactive. Ajoutez -mhe=on pour chiffrer aussi les noms de fichiers.

7zz a -p -mhe=on sauvegarde-projet-prive.7z projet/

Une archive chiffrée ne remplace pas une sauvegarde. Perdez le mot de passe ou la clé de stockage, et le contenu devient inutilisable. Pour des secrets d’entreprise, gardez une politique de chiffrement et de récupération distincte de cette commande ponctuelle.

Lister, tester puis extraire dans une copie

Avant un transfert ou un nettoyage, contrôlez d’abord le contenu. l liste les fichiers, t vérifie l’intégrité de l’archive. Ces deux commandes évitent de découvrir une archive incomplète après avoir supprimé le dossier d’origine.

7zz l sauvegarde-projet.7z
7zz t sauvegarde-projet.7z

Testez ensuite une extraction dans un répertoire vide. Gardez le dossier source intact jusqu’à cette étape :

mkdir -p /tmp/test-7z
7zz x sauvegarde-projet.7z -o/tmp/test-7z
find /tmp/test-7z -maxdepth 2 -type f | head

Pour un transfert important, calculez aussi une empreinte de l’archive et comparez-la après la copie :

sha256sum sauvegarde-projet.7z > sauvegarde-projet.7z.sha256
sha256sum -c sauvegarde-projet.7z.sha256

Le format 7z sert à empaqueter et à compresser. Pour une sauvegarde régulière avec restauration testée, il faut aussi une destination indépendante et une rotation. Si vous devez simplement créer ou extraire une archive Unix standard, le guide tar sous Linux reste plus adapté aux flux courants.