Zoo (Dateiformat)
# Zoo (Dateiformat)

Zoo ist ein Dateiformat für komprimierte Datenarchivierung.

Die Datenkompression basiert auf dem Lempel-Ziv-Welch-Algorithmus (LZW). Für Dateien diesen Formats ist die Dateinamenserweiterung .zoo vorgesehen. Die Referenzimplementierung wurde in der Programmiersprache C entwickelt.

## Merkmale

In einem Zoo-Archiv können mehrere Dateien komprimiert oder wahlweise unkomprimiert zusammengefasst werden. Als Besonderheit erlaubt das Format das Hinzufügen mehrerer „Generationen“ derselben Datei, die automatisch verwaltet, aber auch einzeln extrahiert werden können. Die Dateien können einzeln kommentiert, als gelöscht markiert und wiederhergestellt werden. Die maximale Dateigröße sowohl der archivierten Dateien als auch des Archivs beträgt 4 GiB. Die Aufteilung großer Dateien auf mehrere Archive ist nicht vorgesehen. Die Referenzimplementierung kommt mit zusätzlichen, separaten Werkzeugen:

### fiz

    ein Analysewerkzeug für die Wiederherstellung von Daten aus beschädigten Zoo-Archiven

### sez

    (self-extracting Zoo utility) für die Erstellung selbstentpackender Archive für (MS-)DOS

## Geschichte

Das Format wurde von Rahul Dhesi entwickelt, der Mitte der 1980er Jahre die zugehörige Software erstmals in der Usenet-Gruppe comp.sources.misc veröffentlichte. Im Jahr 1991 wurde die Entwicklung mit der Version 2.1 zugunsten anderer Packprogramme eingestellt.

Das Format hatte seine größte Verbreitung auf OpenVMS-Systemen und eine Zeit lang auf Commodores Amiga.

Aktuell (Stand 2020) wird Zoo nur noch von einzelnen Linux-Distributionen (primär Debian) gepflegt.

## Verfügbarkeit

Die Referenzimplementierung wurde für zahlreiche Unix-ähnliche sowie DOS-Betriebssysteme verfügbar gemacht. Sie ist mittlerweile im Quelltext offengelegt und die letzte Version in die Gemeinfreiheit übergeben. Das Format wird heute noch von einer Reihe aktueller Packprogramme wie ALZip, WinAce, TUGZip, The Unarchiver, Filzip und PowerArchiver sowie den Standard-Werkzeugen der großen Linux-Arbeitsumgebungen (File Roller, Ark) unterstützt. Die Referenzimplementierung oder ein Entpacker ist in den meisten populären Linux-Distributionen direkt aus den Standard-Paketquellen installierbar.

