Dosya Arşivleme ve Sıkıştırma
Linux altında dosya arşivlenmesi ve sıkıştırılması neredeyse belirli ve standartlaşmış birkaç komut ile gerçekleştiriliyor. tar komutu yardımıyla istenilen osyaları arşivleyebilir, bunların üzerine yenilerini ekleyebilir, istediğiniz zaman da tekrar açıp eski haline getirebilirsiniz. GNU gzip komutu ise dosyaların sıkıştırılması (zip) ve sıkıştırılmış dosyaların açılması (unzip) işlemlerini yapabiliyor. Fazla disk alanınız yoksa bu iki komut her zaman yardımınıza koşacaktır.
Dosya Arşivleme
tar (Tape ARchive)
tar (Tape ARchive) programı, bir veya birden fazla dosyayı tek bir forma sokar. Genellikle bir dizin ve bu dizinin altında yer alan tüm alt dizinleri biraraya getirmek için kullanılır. tar, dosyaların üzerinde sıkıştırma işlemini normalde uygulamaz. Fakat tar’ın GNU sürümü (Linux’ta da kullanılan) bu işlemi gzip kullanmadan da yapabiliyor.
tar komutuna bir örnek verelim:
# tar -cf arsiv.tar tmp/
Bu komut, “-c” (create archive) parametresi yardımıyla tmp dizini altındaki herşeyi paketleyip arsiv.tar isimli dosyaya yollar. -f parametresi, hangi dosyaya
yazılacağını belirtir. İstediğiniz zaman dosyayı tekrar açmak isterseniz:
# tar -xf arsiv.tar
komutunu kullanın. “-x” (extract) parametresi, “-f”vc ile belirtilen dosyayı açacaktır. “-r” seçeneği ile daha önce yaratılmış bir arşive dosya eklenebilir. Böylece dosyayı açma ve tekrar arşiv oluşturma işleminden kurtulmuş olursunuz.
# tar -rf arsiv.tar ekleme.txt
Dosyanın içeriğini önceden görebilmek için “-t” parametresini kullanın ve bu işlemi de alışkanlık haline getirin. Bazı durumlarda arşivlenmiş yazılım, kendine ait bir dizin açmak yerine içerdiği dosyaları bulunduğu yere yazabilir.
# tar -tf arsiv.tar
Aşağıdaki komut, arşivlenen dosyaları diskete kaydetmeye yarıyor. Bunun için temiz bir disketi yuvasına yerleştirin ve aşağıdaki satırı yazın.
# tar -cf /dev/fd0 tmp/
tmp dizini altındaki herşeyi diskete kaydetmiş olduk. Açmak için bilinen yöntemi kullanırız:
# tar -xf /dev/fd0
Dosya Sıkıştırma ve Açma gzip
Dosya sıkıştırma amacıyla sıkça kullanan iki yazılım vardır: gzip ve compress. Her iki yazılım da Slackware Linux dağıtımında bulunuyor. GNU’nun dağıtımı olan gzip, tar ile birlikte kullanılan ve dosya sıkıştırma ve arşivlemede neredeyse standart haline gelmiş bir program. Bir dosyayı sıkıştırmak için parametre girmeden gzip komutunun ardından dosya ismini yazın.
# gzip elvis
# ls -al
elvis.gz
gzip ile sıkıştırılmış dosyaların sonu .gz ile biter. Bunları açmak için gunzip komutunu kullanın:
# gunzip elvis.gz
tar.gz Uzantısı
tar.gz uzantılı bir dosyayı açmak için iki yöntem mevcuttur.
1. yol Önce gz uzantısını açıp sonra tar uzantısını açmaktır. Bu yol hem uzun hemde zahmetlidir.
2. yol ise kolay ve tek satırda yapılabilir. Yani tar ve gz dosyalarını ayrı ayrı değil bir tk satırda açmaktır.
Kullanım:
# tar -zxvf dosyaadi.tar.gz
bzip2
bzip2, sıkıştırma işlemini Burrow-Wheeler blok sınıflandırmalı metin sıkıştırma algoriması ve Huffman kodlama sistemi kullanarak gerçekleştirir. Birçok sıkıştırma programına göre daha başarılıdır.
Kullanımı
bzip2 [ -cdfkqstvzVL123456789 ] [ dosyalar ... ]
şeklindedir. Birkaç örnek ile bzip2 kullanımına bakalım. Örnek dosyamız resim.txt olsun. Dosyayı
sıkıştırmak için
# bzip2 -z resim.txt
bu komut sonrası resim.txt dosyası resim.txt.bz2 olarak sıkıştırıldı. bzip2 aksi belirtilmedikçe giriş dosyasını siler. Eğer giriş dosyasının kalmasını isterseniz “-k” seçeneğini komuta eklemelisiniz. Örneğin:
# bzip2 -zk resim.txt
böyle resim.txt giriş dosyası silinmeden resim.txt.bz2 dosyası oluşmuş oldu. bzip2 seçenekleri bununla bitmiyor. Hem yüksek sıkıştırma yapmak hemde ayrıntılı bilgi almak için;
# bzip2 -zvk9 resim.txt
komutu kullanılabilir. “-9″ en iyi sıkıştırmayı uygula seçeneğidir. Daha yavaş sıkıştırır ama sonuç daha başarılıdır. “-1″ kullanırsanız hızlı ama daha az sıkıştırma yapmasını sağlar. “1″ ile “9″ arası rakamlar verebilirsiniz. “-v” ise işlem dökümlerini size verir. Ne kadar sıkıştırdığı, giriş ve çıkış dosyalarının byte büyüklükleri vs bilgiyi işlem sonrası görebilirsiniz. “-t” komutu ile dosyamızı doğruluğunu kontrol edebiliriz.
# bzip2 -vt resim.txt.bz2
ok diyorsa dosyamız tamam demektir. Farklı kullanımlara örnek verelim
# bzip2 -zvk9 resim.txt tux.png deneme.opt
dediğimizde bize çıktı olarak resim.txt.bz2, tux.png.bz2 ve deneme.opt.bz2 olarak dosyaları ayrı ayrı sıkıştırılmış olarak verir. Birçok dosyayı tek arşivde sıkıştırmak için ise “-c” seçeneğini kullanmanız gerekir. “-c” standart çıktıda sıkıştırma ve açma yapar.
bzip2 zcvk9 resim.txt tux.png deneme.opt >> arsiv.bz2
komutunu verdiğimizde sıkıştırılmasını istediğimiz tüm dosyalar arsiv.bz2 olarak tek bir yerde şıkıştırılmakta. Şimdide sıkıştırdığımız dosyayı açalım. bzip2, bz2,bz, tbz2, tbz, uzantılı dosyaları açar. Eğer dosya uzantısız ise çıkan dosya sonuna .out diye uzantı ekler. resim.txt.bz2 dosyasını açalım.
# bzip2 -dv resim.txt.bz2
eğer girdi dosyası olan resim.txt.bz2 yi silinmeden elimizde tutmak istiyorsak
# bzip2 -dvk resim.txt.bz2
komutunu veriyoruz. Kullanım çok basit. bzip2 ile oluşturduğumuz dosyalarda herhangi bir bozulma durumunda veriyi kurtarmayı denemek için bzip2recover komutunu kullanıyoruz.
# bzip2recover arsiv.bz2
bu komut ile arsiv.bz2 içindeki bloklar kontrol edilip sorun olup olmadığına bakılıyor ve kontrol edilmiş bir dosya olarak ayrıca yazılıyor. Komutu verdikten kurtarılan bloklardan rec00001.arsiv.bz2 gibi bir dosya oluştuğunu görebilirsiniz. bzip2recover daha çok büyük dosyalar için kullanılır çünkü büyük dosyalar daha fazla blok içerirler. Az blok içeren dosyalarda kurtarma işlemi başarısız olabilir.
zip
Bilgisayar camiasının en sık duyduğu sıkıştırma formatlarından biridir. özellikle dağıtım dosyalarında ve arşiv dosyalarında kullanıma uygundur. Kullanımı
zip [-options] [-b path] [-t mmddyyyy] [-n suffixes] [zipfile list] [-xi list]
Dosya sıkıştırma örneği;
# zip arsivdosyasininadi.zip dosya.txt
Daha iyi sıkıştırmak için -9 ve işlem hakkında bilgi için “-v” seçeneğini kullanarak komut verirsek
# zip -9v arsivdosyasininadi.zip dosya.txt
zip dosyasına şifre vererek sıkıştırmak için “-e” seçeneğini kullanıyoruz ve bize şifre girmemiz isteniyor. Böylece dosyamızı şifreyle korumaya almış olduk.
# zip -9 ve arsivdosyasininadi.zip dosya.txt
zip dosyamıza tek satırlık açıklama eklemek için “-c” seçeneğini kullanıyoruz. Eğer daha uzun bir açıklama yazacaksak “-z” seçeneğini kullanıyoruz. “-z” seçeneğinde açıklamamızı yazdıktan sonra enter ile bir satır aşağıya inip . ile açıklamayı bitirp kapatıyoruz.
# zip -9vc arsivdosyasininadi.zip dosya.txt
uzun açıklama için;
# zip -9vz arsivdosyasininadi.zip dosya.txt
komutundan sonra bizden açıklamayı girmemizi istiyor ve zip dosyasını oluşturuyor. Bu işlemleri mevcut bir dosya üzerinde yapıyorsanız dosyanın güncelleştirildiğini söyleyen bir yazı çıkmakta. zip dosyasının dosya bütünlüğünü kontrol etmek için;
# zip -vT arsivdosyasininadi.zip
zip dosyalarını açmak için unzip komutunu kullanıyoruz.”-v” eklerseniz ayrıntılı bilgileride görebilirsiniz.
# unzip arsivdosyasininadi.zip
Sıkıştırma programlarının çoğunda çok gelişmiş kullanım seçenekleri bulunmaktadır. Diğer seçenekler ve kullanım örnekleri için man sayfalarına bakmanız yeterli.