Linux’ta .tar.gz Dosyası Nasıl Açılır: İleri İpuçları ile Tam Kılavuz
Sıkıştırılmış dosyalarla çalışmak, herhangi bir Linux ortamında günlük bir gerçekliktir. En yaygın kullanılan formatlar arasında .tar.gz, arşivleme için tar ve sıkıştırma için gzip‘i birleştiren iki aşamalı bir formattır. Yazılım kaynak kodunu açıyor, yedeklemeleri geri yükliyor veya bir VPS Hosting sunucusunda yapılandırma dosyalarını dağıtıyor olsanız da, .tar.gz arşivlerini verimli ve güvenli bir şekilde işlemeyi bilmek temel bir Linux becerisidir.
Bu kılavuz, temel çıkarma komutundan büyük arşivler için ileri teknikler, güvenlik sertleştirmesi ve komut dosyası en iyi uygulamalarına kadar her şeyi kapsar.
.tar.gz Dosyası Nedir?
Bir .tar.gz dosyası — genellikle tarball olarak adlandırılır — iki adımda oluşturulur:
- tar birden fazla dosya ve dizini tek bir arşivde paketler (
.tar) - gzip boyutunu azaltmak için bu arşivi sıkıştırır (
.tar.gzveya.tgz)
Yaygın Kullanım Durumları
- Yazılım kaynak kodunu dağıtma
- Yapılandırma dosyalarını ve yedeklemeleri paketleme
- Günlük dosyalarını uzun vadeli depolama için arşivleme
- Büyük dizin ağaçlarını sunucular arasında aktarma
Örnek dosya adı: project-files.tar.gz
Temel Çıkarma Komutu
Bir .tar.gz dosyasını çıkarmak için standart komut şudur:
tar -xvzf file.tar.gzBayrak Dökümü
| Bayrak | Anlamı |
|---|---|
-x | Dosyaları arşivden çıkart |
-v | Ayrıntılı mod — çıkarıldığında her dosyayı listeler |
-z | gzip kullanarak sıkıştırmayı aç |
-f | Çalışılacak dosya adını belirtir |
Bu tek komut, günlük çıkarma görevlerinin büyük çoğunluğunu işler.
Belirli Bir Dizine Çıkart
Varsayılan olarak, tar dosyaları geçerli çalışma dizinine çıkarır. Çıktıyı belirli bir konuma yönlendirmek için -C bayrağını kullanın:
tar -xvzf file.tar.gz -C /path/to/target-directory> Not: Hedef dizin zaten var olmalıdır. Gerekirse önce mkdir -p /path/to/target-directory ile oluşturun.
Bu yaklaşım, özellikle otomatik dağıtım komut dosyalarında veya bir üretim sunucusunda birden fazla arşivi düzenlerken kullanışlıdır.
Çıkarmadan Önce Arşiv İçeriğini Önizle
Bir arşivi çıkarmadan önce — özellikle bilinmeyen bir kaynaktan gelen — içeriğini incelemek iyi bir uygulamadır:
tar -tvzf file.tar.gz-t bayrağı, arşivin içindeki tüm dosya ve dizinleri hiçbir şey çıkarmadan listeler. Bu, şunları yapmanıza yardımcı olur:
- İç dizin yapısını anlama
- Mevcut dosyaların yanlışlıkla üzerine yazılmasını önleme
- Şüpheli veya beklenmeyen yolları algılama
Belirli Dosya veya Dizinleri Çıkart
Her zaman tüm arşivi çıkarmanız gerekmez. Tek bir dosya veya klasörü çıkarmak için, arşiv içinde göründüğü gibi tam yolunu belirtin:
tar -xvzf file.tar.gz path/to/specific-file.txtTam iç yolu bulmak için önce --list komutunu çalıştırın:
tar -tvzf file.tar.gz | grep filename> Önemli: / ile başlayan mutlak yol değil, arşiv listesinde gösterilen göreli yolu kullanın.
Güvenilmeyen Arşivleri Çıkarırken Güvenlik Hususları
Bilinmeyen veya güvenilmeyen kaynaklardan .tar.gz dosyalarını çıkarmak, kötü niyetli arşivlerin kritik sistem dosyalarının üzerine yazmasına neden olan yol geçişi saldırıları da dahil olmak üzere ciddi güvenlik riskleri oluşturabilir. Bu korumalar uygulayın:
Dizin Üzerine Yazılmasını Önle
tar --no-overwrite-dir -xvzf file.tar.gzBaşında Gelen Yol Bileşenlerini Çıkart
--strip-components bayrağı, çıkarılan yollardan başında gelen dizin seviyelerini kaldırır ve mutlak yol enjeksiyonu denemelerini nötralize eder:
tar --strip-components=1 -xvzf untrusted-archive.tar.gzİzole Edilmiş Bir Dizine Çıkart
Güvenilmeyen arşivleri her zaman adanmış bir sandbox dizinine çıkarın ve dosyaları son konumlarına taşımadan önce içeriği inceleyin:
mkdir /tmp/sandbox && tar -xvzf untrusted-archive.tar.gz -C /tmp/sandboxBu uygulamalar, özellikle paylaşılan altyapıda kritiktir. Birden fazla siteyi veya istemciyi yönetiyorsanız, katı izin sınırları olan Paylaşılan Web Hosting ortamlarını kullanmayı düşünün.
Büyük Arşivleri Verimli Bir Şekilde İşleme
Birkaç gigabaytlık arşivler için, standart çıkarma bir kara kutu gibi hissettirilebilir. Bu teknikler görünürlüğü ve performansı artırır.
pv ile İlerlemeyi İzle
pv (pipe viewer) gerçek zamanlı bir ilerleme çubuğu ve aktarım hızı görüntüler:
pv file.tar.gz | tar xzvf -Henüz mevcut değilse pv yükleyin:
# Debian/Ubuntu
sudo apt install pv
# CentOS/RHEL/AlmaLinux
sudo dnf install pvDaha Hızlı Çıkarma için Ayrıntılı Modu Devre Dışı Bırak
Çok büyük arşivleri çıkarırken, -v bayrağı binlerce dosya adını terminale yazdırarak işleri yavaşlatabilir. Daha iyi performans için bunu bırakın:
tar -xzf file.tar.gzpigz ile Paralel Sıkıştırmayı Aç Kullan
Çok çekirdekli sunucular için, pigz gzip yerine paralel bir uygulama kullanır ve sıkıştırmayı açma süresini önemli ölçüde azaltabilir:
tar -I pigz -xf file.tar.gzİki Ayrı Adımda Sıkıştırmayı Aç
Bazen daha ince kontrol gerekir — örneğin, bir ardışık düzene entegre ederken veya açmadan önce ara .tar dosyasını incelerken. İşlemi iki komuta bölebilirsiniz:
# Step 1: Decompress gzip to get a plain .tar archive
gunzip file.tar.gz
# Step 2: Extract the .tar archive
tar -xvf file.tarBu yaklaşım şu durumlarda kullanışlıdır:
- Çıkarmadan önce ham
.tardosyasını incelemek istiyorsanız - Ardışık düzeniniz
.tarve.gzaşamalarını ayrı olarak işliyorsa .tardosyasını başka bir araca geçirmeniz gerekiyorsa
.tar.gz Arşivi Oluştur
Arşivleri çıkarmayı bilmek kadar arşiv oluşturmayı bilmek de önemlidir. Sözdizimi çıkarmaya benzer ancak -x yerine -c (oluştur) kullanır:
tar -czvf archive-name.tar.gz /path/to/directory/Belirli Dosya veya Dizinleri Hariç Tut
tar -czvf archive.tar.gz /path/to/directory/ --exclude='*.log' --exclude='node_modules'Bu, temiz dağıtım paketleri veya gereksiz yüklemeden arındırılmış yedeklemeler oluşturmak için çok değerlidir.
Komut Dosyalarında .tar.gz İşlemlerini Otomatikleştirme
Üretim sunucularında — bir Dedicated Server veya yönetilen VPS çalıştırıyor olsanız da — arşiv işlemlerini otomatikleştirmek zaman kazandırır ve insan hatasını azaltır.
Örnek: Otomatik Yedekleme Komut Dosyası
###
