Tar ile değişiklikleri karşılaştırma: temel kavramlardan pratik adımlara

0 Respuestas 4 Visitas
Valoraciones
Participantes
Autor del tema #1
Tar ile değişiklikleri karşılaştırma

İşletim sistemi scriptleri ve paket yönetimiyle çalışırken, iki arşiv arasındaki farkları görmek çoğu zaman ihtiyaç haline gelir. Özellikle yedekleme süreçlerinde hangi dosyaların değiştiğini hızlıca tespit etmek için tar ile birlikte bazı karşılaştırma yaklaşımlarını kullanmak yararlı olur. Aşağıdaki yaklaşım, basit bir yedekleme doğrulama senaryosunu ele alır ve pratik adımlarla uygulanabilir.

[0] Ön hazırlık: iki tar arşivinin içerik yapısını karşılaştırma nedir?
  • Tar arşivleri, dosya sistemi yapısını ve pax formatını kullanır. İçerik karşılaştırması, arşivlerin içindeki dosya adları, izinler, boyutlar ve tarihler gibi metadata ile dosya içerik değişikliklerini kapsayabilir.
  • En sık kullanılan iki teknik: (a) arşivlerin listesini çıkartıp karşılaştırma (tar tf archive.tar.gz vs tar tf archive2.tar.gz), (b) doğrudan içerik farklarını üretmek için bir özet akış veya hash tablosu üretmektir.


[1] Basit karşılaştırma: içerik listesini karşılaştırma
  • Örnek amaçla iki arşivi de listeleyin ve çıktı farklarını görmek için karşılaştırma kullanın.
  • Komutlar:

CÓDIGO
123tar -tf yedek1.tar.gz > liste1.txt
tar -tf yedek2.tar.gz > liste2.txt
diff -u liste1.txt liste2.txt | less

  • Bu yöntem hangi dosyaların var olup olmadığını ve tar yapısındaki sıralamayı gösterir; dosya adları, dizinler ve meta bilgiler arasındaki farkları belirler.


[2] Derin karşılaştırma: içerik değişikliklerini belirlemek
  • İki arşiv arasındaki farkı sadece adlarla sınırlı kalmadan, dosya içerik değişikliklerini de yakalamak için dosya içeriklerini karşılaştırabilir veya hash tablosu kullanabilirsiniz.
  • Önerilen akış:

CÓDIGO
123tar -xzf yedek1.tar.gz -C /tmp/ev1 --no-same-owner --no-same-permissions
tar -xzf yedek2.tar.gz -C /tmp/ev2 --no-same-owner --no-same-permissions
diff -r /tmp/ev1 /tmp/ev2 | tee farklar.txt

  • Bu yaklaşım, aynı dosya adları altında bulunan içerik değişikliklerini görmek için etkilidir; fakat büyük arşivlerde disk kullanımı ve işlem süresi önemli olabilir.


[3] Daha güvenilir karşılaştırma için dosya özetleri kullanma
  • Her iki arşivden de dosya path’lerini çıkarıp, her dosya için küçük bir özet (hash) üretebilirsiniz; sonra hash tablosunu karşılaştırırsınız.
  • Umumi akış:

CÓDIGO
123tar -tf yedek1.tar.gz | while read f; do sha256sum  sum1.txt
tar -tf yedek2.tar.gz | while read f; do sha256sum  sum2.txt
diff -u sum1.txt sum2.txt

  • Not: Bu yöntem özgün içeriğin hash’lerini çıkarır ve anlamlı karşılaştırma için dosya içeriklerine doğrudan erişim sağlar.


[4] Uygulama kararları
  • Küçük arşivlerde ve hızlı denetimlerde liste karşılaştırması yeterli olabilir.
  • İçerik değişiklikleri kritik ise içerik bazlı karşılaştırma veya hash tablosu kullanın.
  • Tar arşivlerinin sıkıştırma türü (gzip, bzip2, xz) kıyaslama süresini etkiler; her durumda her dosya için gerekli içeriğin açılması gerekebilir.


Sonuç olarak tar ile değişiklikleri karşılaştırırken hedefiniz, hangi dosyaların varlığını, değişiklikleri ve içerik farklarını hangi granülde görmek istediğinize bağlıdır. Bu nedenle önce amacınızı netleştirin, ardından uygun akışı seçin ve adımları temellendirilmiş bir şekilde uygulayın. Siz hangi durumda bu karşılaştırmayı kullanmayı düşünüyorsunuz, ve hangi tar arşiv türlerini daha sık karşılaşıyorsunuz?

Debes haber iniciado sesión para responder.

Usuarios que están viendo este tema (Total: 5, Miembros: 5, Invitados: 0)
Total: 5 (miembros: 5, invitados: 0)
0 citas seleccionadas