Linuxon a fájlok és mappák archiválásának legelterjedtebb formája a tar.gz (vagy .tgz): a tar program a fájlokat egyetlen archívumba gyűjti, a jogosultságokkal és a tulajdonosokkal együtt, a gzip pedig tömöríti. Mentések, költöztetések és letöltött programok esetén is ezzel találkozik a leggyakrabban. ZIP fájlok kezeléséről a ZIP fájl kicsomagolása egy megadott mappába cikk szól.
Archívum készítése
tar -czvf weboldal.tar.gz weboldal/
A kapcsolók jelentése:
-c(create): új archívum létrehozása,-z: gzip tömörítés,-v(verbose): kiírja a feldolgozott fájlokat (elhagyható),-f: utána következik az archívum neve. Ennek mindig a kapcsolók végén kell állnia.
Több fájl vagy mappa is megadható:
tar -czvf mentes.tar.gz public_html/ adatbazis.sql .htaccess
Mappák és fájlok kihagyása
tar -czvf weboldal.tar.gz --exclude='weboldal/wp-content/cache' --exclude='*.log' weboldal/
A dátum a fájlnévben
Rendszeres mentésnél hasznos, ha a fájlnév tartalmazza a dátumot:
tar -czf weboldal-$(date +%Y-%m-%d).tar.gz weboldal/
Archívum kicsomagolása
# Kicsomagolás az aktuális könyvtárba
tar -xzvf weboldal.tar.gz
# Kicsomagolás egy megadott könyvtárba (a célkönyvtárnak léteznie kell)
mkdir -p /var/www/uj
tar -xzvf weboldal.tar.gz -C /var/www/uj
Az -x (extract) kapcsoló jelenti a kicsomagolást. A kicsomagolás felülírja a célkönyvtárban lévő azonos nevű fájlokat, kérdés nélkül.
A tartalom megtekintése kicsomagolás nélkül
tar -tzvf weboldal.tar.gz
A -t (list) kapcsoló kilistázza az archívum tartalmát. Kicsomagolás előtt érdemes megnézni, hogy az archívum egy mappát tartalmaz-e, vagy közvetlenül a fájlokat; utóbbi esetben a fájlok szétszóródnak az aktuális könyvtárban.
Egyetlen fájl kicsomagolása
Adja meg a fájl elérési útját pontosan úgy, ahogy a tar -tzf kiírja:
tar -xzvf weboldal.tar.gz weboldal/wp-config.php
Más tömörítési formátumok
A tömörítés típusát a kapcsoló határozza meg:
| Kiterjesztés | Kapcsoló | Jellemző |
|---|---|---|
.tar.gz, .tgz |
-z |
gyors, mindenhol elérhető |
.tar.bz2 |
-j |
kisebb fájl, lassabb |
.tar.xz |
-J |
a legkisebb fájl, a leglassabb |
.tar.zst |
--zstd |
gyors és jó tömörítésű, újabb rendszereken |
.tar |
(nincs) | tömörítés nélkül |
Kicsomagoláskor a modern tar a formátumot magától felismeri, így a tömörítési kapcsoló el is hagyható:
tar -xvf archivum.tar.xz
Egyetlen fájl tömörítése gzip-pel
Ha csak egy fájlt (például egy adatbázis-mentést vagy naplófájlt) szeretne tömöríteni, nincs szükség a tar-ra:
# Tömörítés: a fájl helyére adatbazis.sql.gz kerül
gzip adatbazis.sql
# Kicsomagolás
gunzip adatbazis.sql.gz
# Tömörítés úgy, hogy az eredeti is megmaradjon
gzip -k adatbazis.sql
Jogosultságok és tulajdonosok
A tar az archívumban eltárolja a fájlok jogosultságait és tulajdonosát. Kicsomagoláskor a tulajdonost csak root felhasználóként állítja vissza; normál felhasználóként a kicsomagolt fájlok a kicsomagoló felhasználó tulajdonába kerülnek. Ha a kicsomagolás után a webszerver nem éri el a fájlokat, ellenőrizze a tulajdonost és a jogosultságokat (lásd: Fájljogosultságok (chmod, chown) Linuxon).
Ha abszolút elérési utat ad meg (pl. tar -czf mentes.tar.gz /var/www), a tar az elején lévő / jelet eltávolítja, és a fájlokat var/www/... néven tárolja. Kicsomagoláskor ezért a fájlok az aktuális könyvtárban (vagy a -C kapcsolóval megadott helyen) jönnek létre, nem írják felül az eredeti helyükön lévőket.