Tutoriel Linux

Een 7z-archief maken onder Linux wanneer een ZIP te klein wordt

Débutant3 min de lecture

Een ZIP is voldoende om enkele documenten uit te wisselen. Zodra een map zwaar wordt, moet je de bestandsgrootte beperken of de namen verbergen die erin staan, wordt het 7z formaat interessanter. Ik zou het gebruiken om een batch voor overdracht voor te bereiden of een werkversie te archiveren, niet als enige back-up.

De procedure bestaat uit vier controles: de geïnstalleerde opdracht identificeren, het archief maken zonder de bronnen te wissen, de inhoud lezen en deze testen voordat je iets verwijdert of verzendt.

Tux sorteert documenten in een veilig archief ter illustratie van het maken van een 7z-archief onder Linux
Een 7z-archief moet worden gecontroleerd voor de overdracht of verwijdering van de bronbestanden.

Controleer de opdracht en bereid de map voor

Op recente Debian of Ubuntu zorgt het pakket 7zip meestal voor 7zz. Oudere installaties gebruiken soms p7zip-full en de opdracht 7z. Begin met kijken wat er daadwerkelijk beschikbaar is:

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

Als er geen enkele opdracht reageert, installeer dan het passende pakket voor jouw distributie. Op Debian of Ubuntu begin je met het bijwerken van de index, en installeer je vervolgens 7zip:

sudo apt update
sudo apt install 7zip

Werk vanuit de bovenliggende map van de te archiveren map. Je vermijdt een archief vol absolute paden en je ziet meteen de betrokken volume. Controleer ook de beschikbare ruimte op de bestemming:

du -sh project
 df -h .

Maak een 7z-archief met behoud van de bronbestanden

Ga naar de map die project bevat en maak dan het archief aan. De opdracht a voegt de bestanden toe. Het verwijdert niet de bronmap, tenzij je hem expliciet vraagt om ander gedrag.

7zz a backup-project.7z project/

Met de oude opdracht vervang je gewoon 7zz door 7z. Het standaardniveau is meestal voldoende. Om de snelheid te prioriteren op een server die al belast is, voeg je -mx=3 toe. Het niveau -mx=9 verbruikt meer CPU en vermindert de grootte niet altijd genoeg om het wachten te rechtvaardigen.

Om het archief in volumes van 2 GiB te splitsen, bedoeld voor een beperkt opslagmedium of verzending, gebruik je -v2g:

7zz a -v2g backup-project.7z project/

Bewaar alle bestanden .001, .002 en de volgende in dezelfde map. Het eerste volume dient voor de test en extractie.

Versleutel het archief zonder het wachtwoord bloot te stellen

Vermijd -pmotdepasse direct in de opdrachtregel: Bash slaat dat vaak op in de geschiedenis en het kan zichtbaar zijn in de lijst van processen. Geef -p op zonder waarde zodat 7-Zip het wachtwoord interactief kan vragen. Voeg -mhe=on toe om ook de bestandsnamen te versleutelen.

7zz a -p -mhe=on backup-project-private.7z project/

Een versleuteld archief vervangt geen back-up. Als je het wachtwoord of de opslag sleutel verliest, wordt de inhoud onbruikbaar. Voor bedrijfsgeheimen, houd een versleutelings- en herstelbeleid apart van deze eenmalige opdracht.

Lijst, test en extraheer naar een kopie

Voordat je een overdracht of een opruiming doet, controleer eerst de inhoud. l lijst de bestanden, t controleert de integriteit van het archief. Deze twee opdrachten voorkomen dat je een onvolledig archief ontdekt nadat je de originele map hebt verwijderd.

7zz l backup-project.7z
7zz t backup-project.7z

Test vervolgens een extractie naar een lege directory. Houd de bronmap intact tot deze stap:

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

Voor een belangrijke overdracht, bereken ook een hash van het archief en vergelijk deze na de kopie:

sha256sum backup-project.7z > backup-project.7z.sha256
sha256sum -c backup-project.7z.sha256

Het 7z-formaat wordt gebruikt om in te pakken en te comprimeren. Voor een reguliere back-up met geteste herstelling, is er ook een onafhankelijke bestemming en een rotatie nodig. Als je simpelweg een standaard Unix-archief moet maken of extraheren, blijft de gids tar onder Linux geschikter voor de gebruikelijke stromen.

sudo apt update && sudo apt upgrade