BÖLÜM 12
Dosya Sıkıştırma/Arşivleme
[CSS Ana Sayfaya Dön]

1. Dosya Sıkıştırma Nedir?
2. Dosya Arşivleme Nedir?
3. Popüler Dosya Sıkıştırma/Arşivleme Programları Nelerdir, Nasıl kullanılır ve nereden temin edebilirim?
4. UNIX Sıkıştırma/Arşivleme Programları

- COMPRESS ve UNCOMPRESS

- Nedir?
- Nasıl Kullanılır?
- Z uzantılı bir Dosyayı GZIP'e çevirebilir miyim?

- GZIP

- Nedir?
- Nasıl Kullanılır?
- GZIP ile Sıkıştırılmış bir Metin Dosyasını Açmadan ?çini Görmek Mümkün mü
- Bir Dizini Sıkıştırabilir miyim?

- TAR

- Nedir?
- TAR'lı bir dosyayı Nasıl Açarım?
- Nasıl TAR Arşivi Oluştururum?
- *.tar.gz uzantılı bir Dosyayı Açmanın Daha Kısa bir Yolu var mı?
- GNUTAR'ı Nereden Bulabilirim?

5. DOS Sıkıştırma/Arşivleme Programları

- ZIP

- Kullanım
- Kullanımda Dikkat Edilmesi Gereken Hususlar

- ARJ

- Kullanım
- Kullanımda Dikkat Edilmesi Gereken Hususlar

6. Windows 95/NT Sıkıştırma/Arşivleme Programları
7. Başka sıkıştırma/arşivleme programları da var mı?

1. Dosya Sıkıştırma Nedir?

Çok büyük hacimli dosyalar arşivleme amaçlı kullanımlar için genellikle SIKI?TIRILARAK saklanırlar. Bu, dosyanın büyüklüğünü önemli oranlarda azaltır. Bu özelliğinden dolayı, sıkıştırma programları FTP arşivlerinde dosya sıkıştırmak için çokça kullanılır. Bazen bir dosya sıkıştırılabildiği gibi bazen de birden çok dosya sıkıştırılarak tek bir programda arşivlenerek tutulabilir.

Sıkıştırılmış bir dosya, genellikle, uzantısından ayırt edilir. Kullanılan programın türüne göre sıkıştırılmış dosyanın uzantısı (.Z, .ZIP, .ARJ vb) olabilir.Bu tip dosyalar alındıktan sonra kullanılmadan önce mutlaka AÇILMALIDIR.

2. Dosya Arşivleme Nedir?

Bir dizindeki tüm dosyaları (alt dizinleri ve dizin bilgileri ile birlikte), genellikle, tek bir dosya halinde birleştirme işlemi "dosya arşivleme" olarak adlandırılabilir. Bu, UNIX'te TAR kullanılarak yapılır. TAR, dosyaları sıkıştırmadan arşivler. DOS/WINDOWS sistemlerinde ise, aynı iş BACKUP ile yapılır. Ayrıca, ZIP, ARJ vb gibi bazı formatlar, aynı anda hem arşivleme, hem de sıkıştırma yaparlar ve standart BACKUP programlarının yerini almışlardır.

3. Popüler Dosya Sıkıştırma/Arşivleme Programları Nelerdir, Nasıl kullanılır ve nereden temin edebilirim?

Popüler dosya sıkıştırma/arşivleme formatları, dos/windows için ZIP ve ARJ; unix için TAR, GZIP ve Z dir. Aşağıda, Unix ve Dos/Windows işletim sistemleri için iki ayrı kısım halinde popüler sıkıştırma/arşivleme programları, kullanımları, bu programların temin edilebilecekleri yerler vb gibi bilgiler özetlenmiştir.

unix sıkıştırma formatlarını dos/windows sistemlerinde de açmak mümkündür. Benzer şekilde, popüler bir dos/windows sıkıştırma/arşivleme formatı olan ZIP i de, unix sistemlerinde (unzip) açmak mümkündür.

Macintosh, VM/CMS, MVS vb gibi değişik işletim sistemlerinin de kendilerine özgü sıkıştırma/arşivleme programları vardır. Önümüzdeki sürümlerde bu konuda kısa bilgiler de verilecektir.

4. UNIX Sıkıştırma/Arşivleme Programları

- COMPRESS, UNCOMPRESS: UNIX sistemlerinin standart sıkıştırma programıdır. Compress ile sıkıştırılan dosyaların uzantısı .Z 'dir. Bu program şu anda UNIX sistemlerinde popülerliğini kaybetmiş durumda. Genellikle UNIX makinalarında daha iyi bir sıkıştırma algoritması olan GZIP tercih ediliyor. Bir çok sistemde ise compress gzip'e sembolik link haline getirilmiş şekliyle kullanılıyor. Linux da ise gelen standart sıkıştırma programı GZIP'tir.

Kullanım : Yine de compress'in hala kullanıldığı gözönünde bulundurularak, bir kaç söz söylemeli. Sıkıştırılmış dosya yaratmak için: `compress dosya_adı` demek yeterli.`-v` parametresi ile dosyanın ne kadar sıkıştırıldığını da öğrenmeniz mümkün. Sıkıştırılmış bir dosyayı açmak içinse: `compress -d dosya_adı.Z` ya da `uncompress dosya_adı` demeniz yeterli. Daha ayrıntılı bilgi için her zaman : man compress diyebilirsiniz.

Z uzantılı bir Dosyayı GZIP Formatına Çevirebilir miyim? Tabii, dilerseniz önce uncompress edip, gzip ile sıkıştırırsınız; dilerseniz znew isimli programı kullanabilirsiniz.

- GZIP, GUNZIP: Gnu'nun sıkıştırma programıdır. UNIX'te .gz, VMS'te -gz, MSDOS'da, OS/2'te .z uzantılı dosyalardır. UNIX sistemlerinde standart olarak kurulu olarak gelmesi gerek. Yoksa, ftp://ftp.metu.edu.tr:/pub/gnu ftp://ftp.metu.edu.tr:/pub/simtel/msdos/compress (dos icin) adreslerinden alınabilir.

Kullanım : Man gzip ya da gzip -h ile ayrintili bilgi alabilirsiniz. Kısaca; Sıkıştırılmış bir dosya yaratmak için : `gzip sıkıştıracağınız_dosyanın_adı` demeniz yeterli. Gzip ile sıkıştırılmış bir dosyayı: `gzip -d dosya_adı.gz` diyerek açmanız mümkün. En temel kullanımı bu. Bunun dışinda yine GNU'nun direk *.gz formatlı dosyaları açmak için kullanabileceğiniz GUNZIP programı var. Bu programla *.gz'yi herhangi bir parametre vermeden açabilirsiniz.

GZIP ile Sıkıştırılmış bir Metin Dosyasını Açmadan ?çini Görmek Mümkün mü? Evet, mümkün. `gzcat`'ı kullanabilirsiniz. `gzcat dosya_adı` demeniz yeterli. Yukarıda compress-gzip ilişkisi için anlatılanların tümü gzcat-zcat için geçerli. zcat aslında compress komutuyla sıkıştırılmış dosyalar için kullanılıyorken, compress'in yerini gzip'e bırakmasıyla gzip için de kullanılır oldu. Yine birçok sistemde' zcat gzcat'e sembolik link durumda. Buna ek olarak, aynı işi: `gunzip -c dosya_adı.gz` diyerek de yapabilirsiniz.

Bir Dizini Sıkıştırabilir miyim? Hem evet, hem hayır. Eğer dizini sıkıştIrmaktan kastınız dizinin içindeki tüm dosyaları sıkıştırmaksa evet, bunun için komut satırınıza -r parametresini ekleyeceksiniz. -r parametresinden sonra gzip, adı geçen dizin ve onun tüm altdizinlerindeki bütün dosyaları tek tek sıkıştırır. Yok eğer dizinin sıkıştırılmış tek arşiv dosyası haline getirilmesi ise hayır. Bunun için önce dizinin tar komutu ile arşivini alıp, gzip ile o arşivi sıkıştırmanız gerekecek.

- TAR (Tape Archive) : UNIX sistemlerinin standart arşiv programıdır. Bir dizindeki/dizinlerdeki dosyaları tek bir dosya haline getirir. Bu program ile arşivlenen dosyaların uzantısı ".tar" olmaktadır.

* .TAR'lı bir Dosyayı Nasıl Açarım? Ayrıntılı bilgi için man tar komutunu kullanın. Ya da sadece tar derseniz kullanımla ilgili kısa bilgiler listelenecektir. Tar'ın compress ve gzip'den farklı olarak bir çok parametresi vardır. Tar'i açma parametresi x'tir. Ancak TAR default olarak /dev/rmtnh'den okumak isteyeceği için bir de dosya adı vermeniz gerek. Bunu da -f parametresi ile yapıyoruz. Yani:`tar -xf dosyaadi.tar` demeniz yeterli. Açarken, dosya adlarını da listelemesini istiyorsanız,`-v` parameteresini eklemiz gerekecek.

Bir TAR Arşivini Nasıl Oluştururum? Tar'a bir arşiv oluşturmasını söylemenin yolu `c` parametresi. -f ile de arşivin adını veriyorsunuz. Yani: `tar -cf arşiv_adı.tar /dosyaların/dizini` şeklinde bir komut verirseniz, isteğiniz gerçekleşecektir. Bu şekilde arşiv oluşturunca, TAR, linklerin sadece isimlerini alır. Link edilen dosyayı da arşive alması için -h parametresini kullanmalısınız. Bir TAR arşivini GZIP ile sıkıştırırsak, oluşan sıkıştırılmış arşivin uzantıları .tar.gz olacaktır.

*.tar.gz uzantılı bir Dosyayı Açmanın daha kısa bir yolu var mı? Var. Kullandığınız tar programı GNU'nun ise, parametre olarak `-z` verirseniz arşivi sıkıştırılmış halinden açmaya başlar. Aynı şekilde `-z` parametresi vererek sıkıştırılmıs halde bir arşiv dosyası yarattırabilirsiniz. GNU TAR dışında bir tar programı kullanıyorsanız o zaman şu komut satırına ihtiyacınız olacak: `gzcat file.tar.gz | tar xvf -` ya da`gzip -d -c |tar xvf -`

GNUTAR'ı Nereden Bulabilirim? ftp://ftp.metu.edu.tr:/pub/mirrors/gnu

5. DOS Sıkıştırma/Arşivleme Programları

- PKZIP, PKUNZIP: PkWare şirketinin sıkıştırma ve arşivleme programıdır. Bu program ile sıkıştırılan dosyaların uzantısı ".zip" olmaktadır. UNIX programlarından farklı olarak, pkzip hem arşivleme hem de sıkıştırma islevini görmektedir. Bu programlkar shareware'dir. ftp://ftp.metu.edu.tr:/pub/mirrors/simtel/msdos/archiver dizininden alabilirsiniz (pkzip.exe ve pkunzip.exe). Son sürüm, 2.04g dir.

Kullanım : `PKZIP <sıkıştırılmış_dosya_adı> <sıkıştırılacak_dosya_adı>` ile, ilgili dosyayı sıkıştırırız. Sıkıştırılmış dosyanın uzantısı verilmezse, ZIP olacaktır. sıkıştırılmış bir dosyayı açmak için ise, `PKUNZIP <sıkıştırılmış_dosya_adı>` dememiz yeterli. Ornek olarak, inet-tr.css isimli dosyayı sıkıştırmak isteyelim. Bu durumda vereceğimiz komut :

                  pkzip inet-tr.zip inet-tr.css

olacaktır. Sonuçta, inet-tr.zip isimli dosya oluşturulacaktır. Açmak için ise, `pkunzip inet-tr.zip` dememiz yeterli. <sıkıştırılacak dosya adı> kısmına, bir dosya grubu da gelebilir. Söz gelimi, `pkzip hepsi.zip c:\dos\*.exe` komutu ile, c:\dos dizinindeki uzantısı .exe olan tüm dosyaları sıkıştırarak HEPSI.ZIP isminde bir arşiv dosyası haline getirdik.

PKZIP, bazı komut satırı parametreleri de alabilir. Bunlardan en önemlileri şunlardır:

-a varolan bir arşive yeni dosyalar eklemek için (add)
-d bir arşivden dosya silmek için (delete)
-e[x,n,f,s,0] sıkıştırma miktarını belirtmek için (-ex : maxsimum sıkıştırma; -e0 : minimum oranda sıkıştırma)
-r dizin yapısını koruyarak sıkıştırma/arşivleme yapmak için (recursive)
-v ZIP arşivinin içindeki dosyaları listelemek için (verbose)

Kullanım ile ilgili ayrıntılı bilgi pkzip -h ile alınabilir.

Kullanımda dikkat edilmesi gereken hususlar :

- DOS işletim sisteminin, dosya isimlerinde 8 karakter; dosya uzantılarında ise en fazla 3 karakter kullanabilme limitinden ötürü, bunlara uymayan dosyaların PKZIP ile sıkıştırılmaması gerekir.
- Alt dizinleri, dizin isimlerini de koruyarak (recursive) sıkıştırmak için, komut satırına -r parametresini yazmayı unutmayın.
- Arşivden sadece belirli bir dosyayı açmak isterseniz, PKUNZIP <arşiv_adı> <açacağınız_dosya_adı> şeklinde bir komut vermelisiniz.

- ARJ : R. K. Jung'un geliştirdiği bir programdır. Bu program ile sıkıştırılan/arşivlenen dosyaların uzantısı ".arj" olmaktadır. Arj'da pkzip gibi hem arşivleme hem de sıkıştırma yeteneğine sahip bir program. Pkzip'den farklı olarak sıkıştırma/açma işlevlerini tek bir programla (ARJ.EXE) halledebiliyor. Ayrıca, ARJ, büyük arşivleri istenen uzunlukta dosyalara bölme imkanı da sağlıyor. Bu, PKZIP'e göre önemli bir avantaj. Maksimum sıkıştırma modunda, ZIP'e göre, özellikle çokluortam (multimedia) dosyaların sıkıştırılmasında daha iyi sıkıştırma oranları elde edebilirsiniz. ARJ, aynı zamanda, kendi kendine açılabilir arşivler (self-extracting archives) oluşturabilir. Böylece, sıkıştırılmış arşivi bir .EXE dosya yaparak, sadece ilgili dosyayı çalıştırmakla (AR'a gerek kalmaksızın) açabilirsiniz. ARJ da, shareware bir program. Son sürümü:2.50a (Dec 12, 1995). ftp://ftp.metu.edu.tr:/pub/mirrors/simtel/msdos/archiver adresinden bu programı alabilirsiniz (ARJ.EXE).

Kullanım : `ARJ a <sıkıştırılmış_dosya_adı> <sıkıştırılacak_dosya_adı>` ile, ilgili dosyayı sıkıştırırız. Sıkıştırılmış dosyanın uzantısı verilmezse, ARJ olacaktır. sıkıştırılmış bir dosyayı açmak için ise, `ARJ e <sıkıştırılmış_dosya_adı>` dememiz yeterli. Ornek olarak, inet-tr.css isimli dosyayı sıkıştırmak isteyelim. Bu durumda vereceğimiz komut :

                  arj a inet-tr.arj inet-tr.css

olacaktır. Sonuçta, inet-tr.arj isimli dosya oluşturulacaktır. (Eğer, inet-tr.arj ismindeki dosya daha önceden varsa, program, eski arşivin içine yeni dosyayı da ekleyecektir -add-). Açmak için ise, `arj e inet-tr.zip` dememiz yeterli. <sıkıştırılacak dosya adı> kısmına, bir dosya grubu da gelebilir. Söz gelimi, `arj hepsi.arj c:\dos\*.exe` komutu ile, c:\dos dizinindeki uzantısı .exe olan tüm dosyaları sıkıştırarak HEPSI.ARJ isminde bir arşiv dosyası haline getirdik.

ARJ, bazı satır komutları ve parametreleri de alabilir. Bunlardan en önemlileri şunlardır:

Komutlar :

a arşive yeni dosya eklemek için
d arşivden dosya silmek için
v arşivdeki dosyaları, dizin bilgileri ile birlikte, listelemek için
m arşivleme sonrasında dosyaları diskten silmek için
e arşivi açmak için
x arşivi, dizin bilgilerini de koruyarak, açmak için

Parametreler :

-m[0,1,2,3,4] sıkıştırma miktarını belirtmek için (-m4: maxsimum sıkıştırma; -m0: minimum oranda sıkıştırma)
-r dizin yapısını koruyarak sıkıştırma/arşivleme yapmak için (recursive)
-v[xxxk] Arşivi xxx kilobyte lık kısımlar halinde parçalayarak oluşturmak için (-v1300k gibi) -açarken de aynı parametre (ya da -vv) kullanılmalı.

Kullanım ile ilgili ayrıntılı bilgi ve örnek kullanımlar arj -? ile görüntülenebilir.

Kullanımda dikkat edilmesi gereken hususlar :

- DOS işletim sisteminin, dosya isimlerinde 8 karakter; dosya uzantılarında ise en fazla 3 karakter kullanabilme limitinden ötürü, bunlara uymayan dosyaların DOS ARJ ile sıkıştırılmaması gerekir.
- Alt dizinleri, dizin isimlerini de koruyarak (recursive) sıkıştırmak için, komut satırına -r parametresini yazmayı unutmayın.
- Arşivden sadece belirli bir dosyayı açmak isterseniz, ARJ e <arşiv_adı> <açacağınız_dosya_adı> şeklinde bir komut vermelisiniz.

6. Windows95/NT Dosya Sıkıştırma/Arşivleme Programları

- WINZIP : Önceleri, standart ZIP formatı için bir Windows kullanıcı arayüzü şeklinde ortaya çıkan bu program, şu an, popüler tüm unix/mac/dos sıkıştırma/arşivleme formatlarını (ZIP, ARJ, Z, gz, TAR, ARC,LZH. Microsoft Compress, vb) ve özel kodlama formatlarını (UU/XXENCODE--DECODE, BINHEX, MIME vb) açabilmektedir.Program, aynı zamanda, ZIP formatında dosya sıkıştırma/arşivleme yapabilmektedir.

Bir dosya yöneticisi üzerinden, kullanıcı yapacağı tüm operasyonları menüler ve ikonlar yardımıyla seçer. WINZIP ayrıca, standart windows 95/nt dosya/dizin özellik menüsüne (Properties) otomatik olarak eklenebilir ve Windows Explorer ile bütünleşik kullanılabilir. Uzun dosya isimleri içeren dosyaları sıkıştırabilir/arşivleyebilir. Ayrıca, Winzip Self Extractor yardımıyla, kendi kendine açılabilen (self extracting) arşivler oluşturmak mümkün. Son sürümü 6.2. Program shareware. Programın bir kopyası ve daha ayrıntılı bilgi; http://www.winzip.com adresinden alınabilir.

Kullanım ile ilgili ayrıntılı bilgiler CSS'nin sonraki sürümlerinde verilecektir.

7. Başka sıkıştırma/arşivleme programları da var mı?

Bir cok farklı sıkıştırma/arşivleme programları var. RAR, LHZ, UC bunlardan bazılarıdır. Tüm bu programların Dos/Windows için olanlari, ftp://ftp.metu.edu.tr/pub/mirrors/simtel/msdos/archiver 'den alınabilir. Ayrıca, windows 95/nt için değişik ZIP arayüz programları da mevcuttur. Bu ve benzeri programlar için en iyi başlangıç noktası http://www.shareware.com. Burada, istediğiniz işletim sistemi ile ilgili sıkıştırma programlarını "compress", "compression", "zip" vb gibi anahtar kelimeler üzerinden tarama yaparak bulabilirsiniz.