Linux Dosya Arşivleme (tar, gzip)

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 dosyaları 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 ve Sıkıştırma

Açık kaynak dünyasında dolaşıyorsanız, düzenli olarak .tar.gz dosyalarıyla karşılaşma ihtimaliniz vardır. Açık kaynak paketleri genellikle .tar.gz ve .zip biçimlerinde indirilebilir.

tar Komutu, bir grup dosyayı bir arşive dönüştürerek tar arşivleri oluşturmak için kullanılır . gzip, bzip2, lzip, lzma, lzop, xz ve sıkıştırma gibi çok çeşitli sıkıştırma programlarını destekler. Tar, başlangıçta dosyaları manyetik bantta saklamak için arşivler oluşturmak için tasarlandı, bu nedenle adı “ T ape AR chive”.

Gzip , tar dosyalarını sıkıştırmak için en popüler algoritmadır. Kural olarak, gzip ile sıkıştırılmış bir tar arşivinin adı .tar.gz veya .tgz ile bitmelidir .

Kısacası, .tar.gz ile biten bir dosya, gzip ile sıkıştırılmış bir .tar arşividir.

Komut aynı zamanda tar arşivlerini çıkarmak , tar arşivde bulunan dosyaların bir listesini görüntülemek, mevcut bir arşive ek dosyalar eklemek ve diğer çeşitli işlemler için de kullanılabilir.

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.

    Dosya Arşivleme

        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.

      

        -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

   Gzip       

        $ 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

        compress ve uncompress de sırayla bir dosyayı sıkıştırmak ve açmak için kullanılır. Aslında Linux’ta uncompress adında bir yazılım yoktur, bu dosya ismi compress dosyasına bağlantılıdır. compress ile sıkıştırılan dosyaların sonu .Z ile biter.

        $ ls -al web.html
        -rw-r–r–   1 gorkem   users       41450 Jan 27 13:40 web.html
        $ compress web.html
        $ ls -al web.html.Z
        -rw-r–r–   1 gorkem   users       18906 Jan 27 13:40 web.html.Z

        Yukarıdaki web.html dosyasını sıkıştırdığımızda dosyanın boyutu 41450 bayttan 18906 bayta indi. Açmak için:

        $ uncompress web.html.Z

        Bir dosyanın uzantısından ne tür bir dosya olduğunu anlayamazsanız file komutu imdadınıza koşar. Linux’ta belirli uzantılı dosyaların başı bilinen bir harf veya harf grubu ile başlar. file komutu dosyanın başındaki karakterleri kontrol ederek ve bunları bir listeyle (/etc/magic) karşılaştırarak dosyanın ne tür olduğunu söyler.

        # file tmp.gz
        tmp.tgz: gzip compressed data – deflate method , last modified: Sat Feb 15 08:21:50 1997 os: Unix
        # file tmp.tar.Z
        tmp.tar.Z: compressed data 16 bits

 

Dosya Açma

Komut Açıklama Örnek
  Bir tar.gz dosyasından belirli bir dosyayı/dosyaları çıkarmak için, arşiv adından sonra çıkartılacak dosya adlarının boşlukla ayrılmış bir listesini ekleyin tar -xf archive.tar.gz file1 file2
-xf -x (extract) parametresi, -f ile belirtilen dosyayı açacaktır. tar -xf arsiv.tar
-x

Bir tar.gz dosyasını çıkarmak için --extract( -x) seçeneğini kullanın ve f den sonra arşiv dosyası adını belirtin , tar sıkıştırma türünü otomatik olarak algılayacak ve arşivi çıkaracaktır. Aynı komut, .tar.bz2 gibi diğer algoritmalarla sıkıştırılmış tar arşivlerini çıkarmak için kullanılabilir.

tar -xf archive.tar.gz
-v seçeneği, komutu daha görünür hale getirecek ve tar terminalde ayıklanan dosyaların adlarını yazdıracaktır. tar -xvf archive.tar.gz
-C

Arşiv dosyalarını belirli bir dizine çıkarmak için ( -C) öğesini kullanın :--directory-C Örneğin, arşiv içeriğini /home/linuxize/files dizine çıkarmak için şunları kullanabilirsiniz.

tar -xf archive.tar.gz -C /home/linuxize/files
--wildcards

Ayrıca, seçeneği kullanarak ve kabuğun onu yorumlamasını önlemek için desenden alıntı yaparak, bir joker karakter kalıbına dayalı olarak bir tar.gz dosyasından dosyaları ayıklayabilirsiniz . Örneğin, adları .js (Javascript dosyaları) ile biten dosyaları çıkarmak için şunları kullanırsınız.

tar -xf archive.tar.gz --wildcards '*.js'
-t
-list

Bir tar.gz dosyasının içeriğini listelemek için --list( -t) seçeneğini kullanın.

tar -tf archive.tar.gz

–c
–create

–create parametresi yeni bir tarball oluşturmak için kullanılır. Gerekli argümanlar (gelecekteki) tarball'ın adı ve dahil edilecek dosyalardır. Dizinlerin adları da bir argüman olarak kabul edilebilir.
Örnekteki -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.

tar --create -f <Gerekli tarball adı> <Dosya adları>
tar cf <Gerekli tarball adı> <Dosya adları>
tar -cf arsiv.tar tmp/
     

 

Birlikte Kullanım

        ftp adreslerinde Linux için yeralan yazılımlar genellikle tar ve gzip, nadiren de tar ve compress ile sıkıştırılıp arşivelenerek saklanırlar. Çünkü tar komutu tek başına arşivi sıkıştırmaz, bu işlem için gzip veya compress kullanılır. Bunların açılabilmesi için tar komutu ve birkaç parametre yeterli olur.

        $ ls
        netscape-4.0.linux-elf.tar.gz

        Yukarıdaki dosya önce tar ile arşivlenmiş, ardından gzip ile sıkıştırılmış. Tek adımda bu iki dosyayı açmak için tar dosyasına x ve f parametrelerinin dışında z parametresini de ekleyin:

        $ tar -zxf netscape-4.0.linux-elf.tar.gz
        $ ls
        netscape-4.0.linux-elf

        Eğer dosya sıkıştırılırken compress komutu kullanılmışsa z yerine Z parametresini yazın.

        $ ls
        folder.tar.Z
        $ tar -Zxf folder.tar.Z
        $ ls
        folder

        Benzer şekile, bir dosyayı aynı anda hem tar ile arşivlemek, hem de sıkıştırmak istersek c ve f parametreleri dışında compress ile Z, gzip ile z parametrelerini girmek yeterlidir. Aşağıda sırayla gn-gopher dizisinin önce tar ve gzip ile, ardından tar ve compress ile arşivlenmesi görülüyor.

        $ ls
        gn-gopher/
        $ tar -zcf gopher.tgz gn-gopher/
        $ tar -Zcf gopher.tar.Z gn-gopher/

 

    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 dosyaları 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.

  

 

Kaynak

Yorumunuzu Ekleyin


Yükleniyor...
Yükleniyor...