tar.gz, gzip, gunzip, zip & unzip di Linux: Panduan Kompresi dan Archive untuk Sysadmin
Mengelola file merupakan pekerjaan sehari-hari bagi Linux administrator, system administrator, DevOps engineer, developer, maupun pengguna Linux biasa. Ketika jumlah file semakin banyak atau ukuran data semakin besar, kita membutuhkan mekanisme untuk menggabungkan, mengompresi, membuat backup, dan memindahkan file dengan lebih efisien.
Di Linux, terdapat beberapa utilitas yang sangat umum digunakan untuk kebutuhan tersebut, di antaranya tar, gzip, gunzip, zip, dan unzip.
Ketiganya sering muncul dalam pekerjaan administrasi server.
Misalnya, Anda ingin melakukan backup direktori /var/www/html. Daripada memindahkan ribuan file satu per satu, Anda dapat menggabungkannya menjadi satu archive:
tar -czvf website.tar.gz /var/www/html
Atau ketika menerima file backup.zip dari pengguna Windows, Anda dapat mengekstraknya langsung di server Linux:
unzip backup.zip
Meskipun terlihat sederhana, memahami perbedaan antara archive dan compression sangat penting.
tar pada dasarnya digunakan untuk menggabungkan banyak file menjadi satu archive. Sementara gzip digunakan untuk melakukan kompresi. Ketika keduanya digabungkan, kita mendapatkan format yang sangat populer di Linux, yaitu .tar.gz.
Di sisi lain, ZIP menggabungkan fungsi archive dan compression dalam satu format sehingga sangat populer untuk pertukaran file lintas sistem operasi.
Artikel ini membahas cara kerja, perbedaan, penggunaan, contoh praktis, best practice, hingga kesalahan yang sering terjadi ketika menggunakan tar.gz, gzip, gunzip, zip, dan unzip.
Memahami Perbedaan Archive dan Compression
Sebelum masuk ke perintah, pahami terlebih dahulu dua konsep dasar: archive dan compression.
Apa itu Archive?
Archive adalah proses menggabungkan beberapa file atau direktori menjadi satu file.
Contohnya:
website/
├── index.html
├── style.css
├── script.js
├── images/
└── config/
Dengan tar, struktur tersebut dapat digabungkan menjadi:
website.tar
Perlu diperhatikan bahwa tar sendiri tidak bertujuan utama untuk mengecilkan ukuran file.
Jadi:
tar = menggabungkan file
gzip = mengompresi file
Apa itu Compression?
Compression adalah proses mengurangi ukuran data dengan algoritma tertentu.
Sebagai contoh:
backup.sql
dapat dikompresi menjadi:
backup.sql.gz
Ukuran file dapat menjadi lebih kecil, tergantung karakteristik data.
File teks dan log biasanya memiliki tingkat kompresi yang cukup baik. Sebaliknya, file seperti JPEG, MP4, atau ZIP biasanya tidak mendapatkan pengurangan ukuran sebesar file teks karena data tersebut sudah terkompresi.
tar.gz — Archive Sekaligus Kompresi
Format .tar.gz merupakan salah satu format archive yang sangat umum ditemukan pada Linux dan Unix.
Sebenarnya .tar.gz terdiri dari dua proses:
File/Direktori
↓
tar
↓
archive.tar
↓
gzip
↓
archive.tar.gz
Dengan kata lain, tar melakukan penggabungan file terlebih dahulu, kemudian gzip melakukan kompresi.
Membuat Archive tar.gz
Sintaks dasar:
tar -czvf nama-archive.tar.gz sumber
Contoh:
tar -czvf backup-website.tar.gz /var/www/html
Penjelasan opsi:
-c = create
-z = gzip
-v = verbose
-f = file archive
Jadi:
tar -czvf backup-website.tar.gz /var/www/html
berarti membuat archive baru bernama backup-website.tar.gz, menggunakan gzip, dan menampilkan proses file yang sedang diproses.
Mengekstrak File tar.gz
Gunakan:
tar -xzvf backup-website.tar.gz
Keterangan:
-x = extract
-z = gzip
-v = verbose
-f = file archive
Jika ingin mengekstrak ke direktori tertentu:
tar -xzvf backup-website.tar.gz -C /opt/restore/
Pastikan direktori tujuan sudah tersedia.
mkdir -p /opt/restore
tar -xzvf backup-website.tar.gz -C /opt/restore
Melihat Isi Archive Tanpa Mengekstraknya
Ini sangat berguna ketika menerima backup dari server lain.
Gunakan:
tar -tzvf backup-website.tar.gz
Dengan perintah tersebut, Anda dapat memeriksa isi archive terlebih dahulu.
Praktik ini lebih aman daripada langsung mengekstraknya ke filesystem produksi.
Membuat Backup Direktori
Contoh backup konfigurasi:
sudo tar -czvf etc-backup.tar.gz /etc
Untuk backup aplikasi:
tar -czvf app-backup.tar.gz /opt/myapp
Untuk backup website:
tar -czvf website-backup.tar.gz /var/www/html
gzip & gunzip — Kompresi File di Linux
gzip merupakan utilitas kompresi yang sangat populer pada sistem Linux.
Berbeda dengan tar, gzip bekerja pada file secara individual.
Misalnya:
access.log
dikompresi menjadi:
access.log.gz
Mengompresi File dengan gzip
Gunakan:
gzip access.log
Setelah perintah tersebut dijalankan, biasanya file asli:
access.log
digantikan oleh:
access.log.gz
Jika Anda ingin mempertahankan file asli, gunakan opsi -k:
gzip -k access.log
Hasilnya:
access.log
access.log.gz
Ini berguna ketika file asli masih diperlukan.
Mengatur Tingkat Kompresi
Gzip menyediakan level kompresi dari 1 sampai 9.
Contoh:
gzip -1 file.log
Level 1 lebih mengutamakan kecepatan.
Sedangkan:
gzip -9 file.log
lebih mengutamakan tingkat kompresi.
Namun, kompresi maksimum tidak selalu berarti pilihan terbaik.
Untuk server produksi, Anda perlu mempertimbangkan CPU, waktu proses, ukuran file, dan kebutuhan operasional.
Sering kali level default sudah menjadi kompromi yang baik.
Mengompresi Banyak File
Gzip bukan tool archive. Misalnya:
gzip file1.txt file2.txt file3.txt
akan menghasilkan:
file1.txt.gz
file2.txt.gz
file3.txt.gz
Bukan satu file archive.
Jika Anda membutuhkan satu file untuk banyak dokumen, gunakan tar kemudian gzip:
tar -czvf dokumen.tar.gz file1.txt file2.txt file3.txt
gunzip — Mengekstrak File .gz
Untuk mengembalikan file .gz menjadi file biasa, gunakan:
gunzip access.log.gz
Hasilnya:
access.log
Alternatifnya, Anda juga dapat menggunakan:
gzip -d access.log.gz
Keduanya melakukan proses decompression gzip.
Mempertahankan File .gz
Jika ingin mempertahankan archive compressed:
gzip -dk access.log.gz
Opsi:
-d = decompress
-k = keep
zip & unzip — Format Archive Universal
ZIP merupakan salah satu format archive yang paling populer untuk pertukaran file.
Keunggulan utama ZIP adalah kompatibilitasnya yang sangat luas.
File:
backup.zip
dapat digunakan pada:
- Linux
- Windows
- macOS
- Android
- berbagai aplikasi archive
Karena alasan tersebut, ZIP sering menjadi pilihan ketika file akan dikirim kepada pengguna dari sistem operasi berbeda.
Membuat File ZIP
Sintaks dasar:
zip archive.zip file1 file2 file3
Contoh:
zip dokumen.zip laporan.pdf konfigurasi.txt catatan.txt
Untuk memasukkan direktori beserta seluruh isinya, gunakan opsi -r:
zip -r website.zip website/
Contoh hasil:
website.zip
yang berisi seluruh struktur:
website/
├── index.html
├── css/
├── js/
└── images/
Mengekstrak File ZIP
Gunakan:
unzip website.zip
Untuk mengekstrak ke direktori tertentu:
unzip website.zip -d /opt/website/
Contoh:
mkdir -p /opt/website
unzip website.zip -d /opt/website
Melihat Isi ZIP
Sebelum melakukan ekstraksi, Anda dapat melihat daftar file menggunakan:
unzip -l website.zip
Ini merupakan praktik yang baik ketika archive berasal dari sumber eksternal.
Perbandingan tar.gz, gzip, dan ZIP
Secara sederhana:
| Tool/Format | Fungsi Utama | Banyak File | Kompresi | Umum di Linux |
|---|---|---|---|---|
| tar | Archive | Ya | Tidak | Sangat umum |
| gzip | Compression | Umumnya satu file | Ya | Sangat umum |
| tar.gz | Archive + compression | Ya | Ya | Sangat umum |
| zip | Archive + compression | Ya | Ya | Sangat umum |
| unzip | Ekstraksi ZIP | Ya | – | Umum |
| gunzip | Ekstraksi GZIP | Umumnya satu file | – | Sangat umum |
Cara mudah mengingatnya:
tar → kumpulkan
gzip → kecilkan
gunzip → kembalikan
zip → kumpulkan + kecilkan
unzip → ekstrak ZIP
Studi Kasus 1 — Backup Website Linux
Misalnya server menjalankan website pada:
/var/www/html
Buat backup:
sudo tar -czvf website-$(date +%F).tar.gz /var/www/html
Jika tanggal server adalah 28 September 2026, nama file dapat menjadi:
website-2026-09-28.tar.gz
Pendekatan ini sangat berguna untuk backup manual maupun otomatis.
Untuk melihat hasil:
ls -lh website-*.tar.gz
Studi Kasus 2 — Backup Konfigurasi Server
Konfigurasi Linux sering berada di /etc.
Anda dapat membuat archive:
sudo tar -czvf etc-backup.tar.gz /etc
Namun, jangan menganggap archive tersebut sebagai satu-satunya backup sistem.
Backup konfigurasi sebaiknya menjadi bagian dari strategi backup yang lebih besar, terutama untuk server produksi.
Studi Kasus 3 — Mengompresi Log
Misalnya terdapat file:
/var/log/myapp/app.log
Anda dapat mengompresnya:
sudo gzip /var/log/myapp/app.log
Jika aplikasi atau sistem logging mengharuskan file aktif tetap bernama app.log, jangan sembarangan menjalankan gzip terhadap log yang sedang digunakan.
Untuk log rotation, Linux umumnya menggunakan mekanisme seperti logrotate.
Studi Kasus 4 — Mengirim File ke Pengguna Windows
Jika Anda ingin mengirim banyak file kepada pengguna Windows, ZIP dapat menjadi pilihan praktis:
zip -r project.zip project/
Kemudian pengguna dapat membuka:
project.zip
dengan aplikasi bawaan atau aplikasi archive lainnya.
Untuk kebutuhan interoperabilitas, ZIP sering lebih praktis daripada tar.gz.
Tutorial Step-by-Step: Membuat Backup tar.gz
Langkah 1 — Tentukan Direktori
Misalnya:
/var/www/html
Langkah 2 — Buat Direktori Backup
sudo mkdir -p /backup
Langkah 3 — Buat Archive
sudo tar -czvf /backup/website.tar.gz /var/www/html
Langkah 4 — Periksa File
ls -lh /backup/website.tar.gz
Langkah 5 — Periksa Isi Archive
tar -tzvf /backup/website.tar.gz
Langkah 6 — Uji Restore
Buat direktori pengujian:
sudo mkdir -p /tmp/restore-test
Kemudian:
sudo tar -xzvf /backup/website.tar.gz -C /tmp/restore-test
Langkah 7 — Verifikasi
ls -lah /tmp/restore-test
Menguji restore merupakan langkah penting.
Backup yang belum pernah diuji restore sebenarnya belum memberikan kepastian bahwa proses pemulihan akan berjalan sesuai harapan.
Best Practice Menggunakan Archive di Server
Gunakan nama file backup yang informatif.
Contoh:
database-2026-09-28.tar.gz
website-production-2026-09-28.tar.gz
config-server01-2026-09-28.tar.gz
Lebih baik daripada:
backup1.tar.gz
backup2.tar.gz
backup-final.tar.gz
backup-final-new.tar.gz
Nama file yang buruk dapat menjadi sumber kebingungan. Dan backup-final-final-2.tar.gz adalah tanda bahwa dokumentasi sudah meminta pertolongan.
Simpan Metadata Penting
Untuk backup Linux, metadata seperti permission, ownership, symbolic link, dan struktur direktori dapat menjadi sangat penting.
Karena itu, tar sering lebih cocok daripada sekadar menyalin file menggunakan metode sederhana.
Gunakan opsi yang sesuai dengan kebutuhan backup Anda.
Periksa Isi Sebelum Restore
Gunakan:
tar -tzf backup.tar.gz
atau:
unzip -l backup.zip
Hal ini membantu menghindari ekstraksi archive ke lokasi yang salah.
Jangan Menyimpan Backup Hanya di Server yang Sama
Jika server rusak secara fisik, filesystem corrupt, terkena ransomware, atau kehilangan storage, backup yang berada di disk yang sama dapat ikut hilang.
Pertimbangkan strategi:
Server
↓
Local Backup
↓
Remote Backup
↓
Off-site / Object Storage
Konsep backup yang baik bukan hanya membuat file .tar.gz, tetapi memastikan data tersebut dapat dipulihkan ketika benar-benar dibutuhkan.
Kesalahan yang Sering Terjadi
1. Mengira tar Sudah Mengompresi
Perintah:
tar -cvf backup.tar /data
hanya membuat archive.
Jika membutuhkan gzip:
tar -czvf backup.tar.gz /data
2. Menggunakan gzip untuk Menggabungkan Banyak File
Perintah:
gzip file1 file2 file3
tidak menghasilkan satu archive.
Hasilnya adalah beberapa file .gz.
Untuk satu archive:
tar -czvf files.tar.gz file1 file2 file3
3. Lupa Opsi -r Saat ZIP Direktori
Perintah:
zip website.zip website/
tidak sama dengan:
zip -r website.zip website/
Gunakan -r untuk memasukkan isi direktori secara rekursif.
4. Mengekstrak Archive Tanpa Memeriksa Isinya
Hindari langsung:
tar -xzvf file.tar.gz
untuk file yang tidak dikenal.
Lebih baik periksa terlebih dahulu:
tar -tzf file.tar.gz
5. Menganggap Kompresi Selalu Menghemat Banyak Ruang
Tidak semua file mendapatkan penghematan besar.
File seperti:
.jpg
.png
.mp4
.zip
.gz
umumnya sudah menggunakan kompresi sehingga hasil kompresi ulang mungkin tidak signifikan.
Sebaliknya, file:
.txt
.log
.csv
.sql
.json
.xml
biasanya memiliki karakteristik yang lebih mudah dikompresi.
Tips Profesional untuk Sysadmin
Gunakan tar.gz ketika Anda bekerja dengan backup Linux, distribusi source code, konfigurasi, deployment, atau archive direktori.
Gunakan ZIP ketika kompatibilitas lintas platform menjadi prioritas, khususnya ketika file akan diberikan kepada pengguna Windows atau pengguna non-Linux.
Gunakan gzip secara langsung ketika Anda memang hanya membutuhkan kompresi terhadap satu file, seperti file log atau dump tertentu.
Untuk database, pertimbangkan juga metode backup native database.
Misalnya PostgreSQL memiliki:
pg_dump
dan MySQL/MariaDB memiliki:
mysqldump
Setelah menghasilkan dump database, file tersebut dapat dikompresi:
pg_dump database_name > database.sql
gzip database.sql
Hasilnya:
database.sql.gz
Untuk MySQL:
mysqldump database_name > database.sql
gzip database.sql
Pendekatan ini sering lebih tepat daripada mencoba mengarsipkan direktori data database secara langsung ketika database sedang berjalan.
Cheat Sheet Perintah
Membuat tar.gz:
tar -czvf backup.tar.gz /data
Ekstrak tar.gz:
tar -xzvf backup.tar.gz
Melihat isi tar.gz:
tar -tzf backup.tar.gz
Mengekstrak ke direktori tertentu:
tar -xzf backup.tar.gz -C /restore
Kompres file dengan gzip:
gzip file.log
Kompres tanpa menghapus file asli:
gzip -k file.log
Ekstrak gzip:
gunzip file.log.gz
Alternatif:
gzip -d file.log.gz
Membuat ZIP:
zip archive.zip file1 file2
Membuat ZIP direktori:
zip -r archive.zip directory/
Melihat isi ZIP:
unzip -l archive.zip
Ekstrak ZIP:
unzip archive.zip
Ekstrak ZIP ke direktori:
unzip archive.zip -d /restore

Kesimpulan
tar.gz, gzip, gunzip, zip, dan unzip merupakan tool dasar tetapi sangat penting dalam administrasi Linux.
tar digunakan untuk menggabungkan file dan direktori menjadi sebuah archive. gzip digunakan untuk mengurangi ukuran file. Ketika keduanya digabungkan, kita mendapatkan format tar.gz yang sangat umum digunakan pada lingkungan Linux.
Sementara itu, ZIP menjadi pilihan praktis ketika file harus dipertukarkan dengan sistem operasi lain.
Ringkasnya:
tar = archive
gzip = compression
gunzip = decompress gzip
tar.gz = archive + gzip
zip = archive + compression
unzip = extract ZIP
Bagi seorang sysadmin, kemampuan menggunakan utilitas tersebut bukan sekadar menghafal perintah.
Yang lebih penting adalah memahami kapan harus menggunakan masing-masing tool, bagaimana menjaga metadata file, bagaimana memeriksa archive sebelum restore, serta bagaimana memasukkannya ke dalam strategi backup yang dapat diuji dan dipulihkan.
Jika Anda sering mengelola server Linux, perintah-perintah ini layak menjadi bagian dari command-line toolkit sehari-hari.
Apakah Anda lebih sering menggunakan tar.gz, zip, atau format archive lainnya ketika mengelola server Linux?
Bagikan pengalaman, tips, atau perintah favorit Anda di kolom komentar. Jika artikel ini bermanfaat, bagikan kepada rekan sysadmin, Linux administrator, mahasiswa, siswa TKJ/TJKT, atau siapa pun yang sedang belajar administrasi server.
Jangan lupa membaca artikel Linux, networking, server, DevOps, dan cybersecurity lainnya untuk memperluas kemampuan administrasi infrastruktur IT.
FAQ
Pertanyaan: Apa perbedaan tar dan gzip?
Jawaban: tar digunakan untuk menggabungkan file dan direktori menjadi archive, sedangkan gzip digunakan untuk mengompresi data.
Pertanyaan: Apa itu file .tar.gz?
Jawaban: .tar.gz adalah archive yang dibuat menggunakan tar kemudian dikompresi menggunakan algoritma gzip.
Pertanyaan: Bagaimana cara membuat file .tar.gz?
Jawaban: Gunakan perintah tar -czvf backup.tar.gz /direktori.
Pertanyaan: Apa perbedaan gunzip dan unzip?
Jawaban: gunzip digunakan untuk mengekstrak file gzip seperti .gz, sedangkan unzip digunakan untuk mengekstrak archive .zip.
Pertanyaan: Kapan sebaiknya menggunakan ZIP dibandingkan tar.gz?
Jawaban: ZIP cocok ketika archive akan dibagikan lintas sistem operasi, terutama dengan pengguna Windows.
Pertanyaan: Apakah tar melakukan kompresi?
Jawaban: Tidak secara default. tar terutama digunakan untuk membuat archive. Kompresi dapat ditambahkan menggunakan gzip dengan opsi -z.
Pertanyaan: Bagaimana cara melihat isi tar.gz tanpa mengekstraknya?
Jawaban: Gunakan tar -tzf backup.tar.gz.
Pertanyaan: Bagaimana cara membuat ZIP dari sebuah direktori?
Jawaban: Gunakan opsi rekursif -r, misalnya zip -r website.zip website/.
Sudah menggunakan tar.gz, gzip, atau ZIP untuk mengelola file di server Linux?
Bagikan pengalaman, tips, atau command favorit Anda di kolom komentar. Jika artikel ini bermanfaat, bagikan kepada teman, rekan sysadmin, siswa TKJ/TJKT, mahasiswa, developer, dan praktisi IT lainnya.
Untuk tutorial Linux, server, networking, DevOps, cybersecurity, dan infrastruktur IT lainnya, lanjutkan membaca artikel terkait dan ikuti konten terbaru agar tidak ketinggalan tutorial berikutnya.
Dukung kami dengan Subscribe & Join Membership channel YouTube | Walid Umar
Akses video pembelajaran eksklusif, materi persiapan UKK (Uji Kompetensi Siswa) dan Penyelesaian Soal LKS ITNSA