Cara Membuka File .tar.gz di Linux: Panduan Lengkap dengan Tips Lanjutan
Bekerja dengan file terkompresi adalah realitas sehari-hari di lingkungan Linux apa pun. Di antara format yang paling banyak digunakan adalah .tar.gz, format dua tahap yang menggabungkan tar untuk pengarsipan dan gzip untuk kompresi. Baik Anda membuka paket kode sumber perangkat lunak, memulihkan cadangan, atau menerapkan file konfigurasi di server VPS Hosting, mengetahui cara menangani arsip .tar.gz secara efisien dan aman adalah keterampilan Linux fundamental.
Panduan ini mencakup semuanya mulai dari perintah ekstraksi dasar hingga teknik lanjutan untuk arsip besar, pengerasan keamanan, dan praktik terbaik scripting.
Apa Itu File .tar.gz?
File .tar.gz — sering disebut tarball — dibuat dalam dua langkah:
- tar menggabungkan beberapa file dan direktori menjadi satu arsip (
.tar) - gzip mengompresi arsip tersebut untuk mengurangi ukurannya (
.tar.gzatau.tgz)
Kasus Penggunaan Umum
- Mendistribusikan kode sumber perangkat lunak
- Mengemas file konfigurasi dan cadangan
- Mengarsipkan file log untuk penyimpanan jangka panjang
- Mentransfer pohon direktori besar antar server
Contoh nama file: project-files.tar.gz
Perintah Ekstraksi Dasar
Perintah standar untuk mengekstrak file .tar.gz adalah:
tar -xvzf file.tar.gzRincian Flag
| Flag | Arti |
|---|---|
-x | Ekstrak file dari arsip |
-v | Mode verbose — mencantumkan setiap file saat diekstrak |
-z | Dekompresi menggunakan gzip |
-f | Menentukan nama file untuk dioperasikan |
Perintah tunggal ini menangani sebagian besar tugas ekstraksi sehari-hari.
Ekstrak ke Direktori Tertentu
Secara default, tar mengekstrak file ke direktori kerja saat ini. Untuk mengarahkan output ke lokasi tertentu, gunakan flag -C:
tar -xvzf file.tar.gz -C /path/to/target-directory> Catatan: Direktori target harus sudah ada. Buatlah terlebih dahulu dengan mkdir -p /path/to/target-directory jika diperlukan.
Pendekatan ini sangat berguna dalam skrip penerapan otomatis atau saat mengorganisir beberapa arsip di server produksi.
Pratinjau Isi Arsip Sebelum Mengekstrak
Sebelum mengekstrak arsip — terutama yang berasal dari sumber yang tidak dikenal — adalah praktik yang baik untuk memeriksa isinya terlebih dahulu:
tar -tvzf file.tar.gzFlag -t mencantumkan semua file dan direktori di dalam arsip tanpa mengekstrak apa pun. Ini membantu Anda:
- Memahami struktur direktori internal
- Menghindari penimpa file yang ada secara tidak sengaja
- Mendeteksi jalur yang mencurigakan atau tidak terduga
Ekstrak File atau Direktori Tertentu
Anda tidak selalu perlu mengekstrak seluruh arsip. Untuk mengeluarkan satu file atau folder, tentukan jalurnya persis seperti yang muncul di dalam arsip:
tar -xvzf file.tar.gz path/to/specific-file.txtUntuk menemukan jalur internal yang tepat, jalankan perintah --list terlebih dahulu:
tar -tvzf file.tar.gz | grep filename> Penting: Gunakan jalur relatif yang ditampilkan dalam daftar arsip, bukan jalur absolut yang dimulai dengan /.
Pertimbangan Keamanan Saat Mengekstrak Arsip yang Tidak Terpercaya
Mengekstrak file .tar.gz dari sumber yang tidak dikenal atau tidak terpercaya dapat menimbulkan risiko keamanan serius, termasuk serangan path traversal di mana arsip berbahaya menimpa file sistem penting. Terapkan perlindungan ini:
Cegah Penimpa Direktori
tar --no-overwrite-dir -xvzf file.tar.gzHapus Komponen Jalur Terdepan
Flag --strip-components menghapus tingkat direktori terdepan dari jalur yang diekstrak, yang menetralkan upaya injeksi jalur absolut:
tar --strip-components=1 -xvzf untrusted-archive.tar.gzEkstrak ke Direktori Terisolasi
Selalu ekstrak arsip yang tidak terpercaya ke direktori sandbox khusus dan periksa isinya sebelum memindahkan file ke tujuan akhir mereka:
mkdir /tmp/sandbox && tar -xvzf untrusted-archive.tar.gz -C /tmp/sandboxPraktik ini sangat penting pada infrastruktur bersama. Jika Anda mengelola beberapa situs atau klien, pertimbangkan menggunakan lingkungan Shared Web Hosting dengan batasan izin yang ketat.
Menangani Arsip Besar Secara Efisien
Untuk arsip yang mencakai beberapa gigabyte, ekstraksi standar dapat terasa seperti kotak hitam. Teknik ini meningkatkan visibilitas dan kinerja.
Pantau Kemajuan dengan pv
pv (pipe viewer) menampilkan bilah kemajuan real-time dan kecepatan transfer:
pv file.tar.gz | tar xzvf -Instal pv jika belum tersedia:
# Debian/Ubuntu
sudo apt install pv
# CentOS/RHEL/AlmaLinux
sudo dnf install pvNonaktifkan Mode Verbose untuk Ekstraksi Lebih Cepat
Saat mengekstrak arsip yang sangat besar, flag -v dapat memperlambat dengan mencetak ribuan nama file ke terminal. Lepaskan untuk kinerja yang lebih baik:
tar -xzf file.tar.gzGunakan Dekompresi Paralel dengan pigz
Untuk server multi-core, pigz menggantikan gzip dengan implementasi paralel dan dapat secara dramatis mengurangi waktu dekompresi:
tar -I pigz -xf file.tar.gzDekompresi dalam Dua Langkah Terpisah
Terkadang Anda memerlukan kontrol yang lebih halus — misalnya, saat mengintegrasikan ke dalam pipeline atau memeriksa file .tar perantara sebelum membuka paket. Anda dapat membagi proses menjadi dua perintah:
# Step 1: Decompress gzip to get a plain .tar archive
gunzip file.tar.gz
# Step 2: Extract the .tar archive
tar -xvf file.tarPendekatan ini berguna ketika:
- Anda ingin memeriksa
.tarmentah sebelum ekstraksi - Pipeline Anda memproses tahap
.tardan.gzsecara terpisah - Anda perlu meneruskan file
.tarke alat lain
Buat Arsip .tar.gz
Mengetahui cara membuat arsip sama pentingnya dengan mengekstraknya. Sintaksnya mencerminkan ekstraksi tetapi menggunakan -c (buat) bukan -x:
tar -czvf archive-name.tar.gz /path/to/directory/Kecualikan File atau Direktori Tertentu
tar -czvf archive.tar.gz /path/to/directory/ --exclude='*.log' --exclude='node_modules'Ini sangat berharga untuk membuat paket penerapan bersih atau cadangan tanpa bloat yang tidak perlu.
Mengotomatisasi Operasi .tar.gz dalam Skrip
Di server produksi — baik Anda menjalankan Dedicated Server atau VPS terkelola — mengotomatisasi operasi arsip menghemat waktu dan mengurangi kesalahan manusia.
Contoh: Skrip Cadangan Otomatis
#!/bin/bash
BACKUP_DIR="/var/backups"
SOURCE_DIR="/var/www/html"
DATE=$(date +%Y-%m-%d)
ARCHIVE="$BACKUP_DIR/website-backup-$DATE.tar.gz"
mkdir -p "$BACKUP_DIR"
tar -czf "$ARCHIVE" --exclude='*.tmp' "$SOURCE_DIR"
echo "Backup created: $ARCHIVE"Jadwalkan ini dengan pekerjaan cron untuk cadangan otomatis sepenuhnya harian:
0 2 * * * /usr/local/bin/backup.sh >> /var/log/backup.log 2>&1Menggunakan Pengelola Arsip GUI (Opsional)
Jika Anda bekerja di lingkungan desktop Linux, alat grafis menyediakan alternatif seret dan lepas:
| Lingkungan Desktop | Pengelola Arsip |
|---|---|
| GNOME | File Roller |
| KDE Plasma | Ark |
| Xfce | Thunar Archive Plugin |
Alat ini mendukung .tar.gz secara native dan cocok untuk penggunaan sesekali. Namun, untuk administrasi server, baris perintah tetap menjadi pendekatan yang paling andal dan dapat ditulis skrip.
Referensi Cepat: Perintah tar Penting
| Tugas | Perintah |
|---|---|
| Ekstrak arsip | ###PPT_NOTR_ |
