Archiefbestanden

Uit De Vliegende Brigade
Ga naar: navigatie, zoeken

Samenvatting

tar -xzf bestand.tar.gz                        # Uitpakken
tar -zcvf bestand.tar.gz map_of_bestandsnaam   # Inpakken. Bronbestanden blijven behouden. Denk aan extentie

.gz - Inpakken

Algemeen:

gzip bestandsnaam

Ik gebruik dit voor het comprimeren van sql-dumpbestanden, ook in scripts. Bv.:

gzip ./$doelbestandsnaam

Let op: Het oorspronkelijke bestand wordt verwijderd!

.gz - Uitpakken

gunzip file.gz

of

gzip -d file.gz

.tar - Inhoud bekijken

tar tvf archiebestand.tar

.tar - Inpakken

Inclusief gzip-compressie, en zonder dat originele bestanden worden verwijderd:

tar czvf archief.tar.gz bestanden

Complete site archiveren - Je hebt geen switch voor recursie nodig:

tar czvf example.com.tar.gz /var/www/example.com/*

.tar - Uitpakken

tar -xf archief_bestand.tar

.tar.gz - Inhoud inzien

tar tvfz archiefbestand.tar.gz

.tar.gz - Inpakken

Syntaxis

tar -zcvf bestandsnaam.tar.gz mapnaam

Switches

  • -z - Comprimeer mbv. gzip
  • -c - Creëer archief
  • -v - Verbose: Geef info weer op het scherm (optioneel)
  • -f - File name.

Map archiveren vanuit diezelfde map?

Het lijkt geen probleem te zijn om een map te archiveren terwijl die map de working directory is: Je zou een recursie kunnen krijgen.

Schakelaar -f echt nodig?

De schakelaar -f heb je toch echt nodig:

tar -cz wikidvb-backup-20160706.tar.gz ~/in1   
tar: gzip: compressed data not written to a terminal. Use -f to force compression.
For help, type: gzip -h
wikidvb-backup-20160706.tar.gz: Cannot stat: No such file or directory
tar: Removing leading `/' from member names

.tar.gz - Uitpakken

Syntaxis

tar -xzf bestand.tar.gz

Het oorsponkelijke bestand bestand.tar.gz blijft hierbij behouden.

Switches

  • -x - Extract
  • -z - Gebruik gzip voor comprimeren en expanderen
  • -f - File name.

Heb je de -f switch echt nodig?

Ja. Als je dit doet, gebeurt er nix:

tar -xz bestand.tar.gz

Ik geloof dat -f gebruikt wordt voor communicatie met gzip.

.tar.gz - Uitpakken zonder top-level-map, in de juiste map

Vaak bevatten gedownloade softwarepakketten de top-level-map. Da's onhandig. En dit is de oplossing:

Bekijken of er inderdaad zo'n top-level-map is:

tar -tf bestand.tar.gz | head

En indien dat het geval is: Uitpakken zonder die top-level-map:

tar -xvf bestand.tar.gz --strip 1

Helemaal mooi als je daarnaast move hebt, maar dat lijkt niet het geval te zijn. Wat wél werkt:

  • Archiefbestand op een standaardlocatie laten staan (bv. ~/in1 voor mij vaak)
  • In de doelmap staan
  • Daar het uitpakcommando geven. Bv. tar xvf ~/in1/rt7.tar.gz --strip 1

.zip - Uitpakken

unzip archiebestand.zip

Installatie unzip: sudo apt-get install unzip

Bronnen