<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Compress</id>
	<title>Compress - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Compress"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Compress&amp;action=history"/>
	<updated>2026-05-24T05:08:58Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Compress&amp;diff=89604&amp;oldid=prev</id>
		<title>imported&gt;Prüm: /* Einzelnachweise */</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Compress&amp;diff=89604&amp;oldid=prev"/>
		<updated>2024-04-07T08:28:13Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Einzelnachweise&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{DISPLAYTITLE:compress}}&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;#039;&amp;#039;&amp;#039;compress&amp;#039;&amp;#039;&amp;#039;&amp;lt;/code&amp;gt; (&amp;lt;code&amp;gt;/usr/bin/compress&amp;lt;/code&amp;gt;) ist ein [[Packprogramm]] unter [[UNIX]]en und [[Unix-Derivat|UNIX-ähnlichen Betriebssystemen]]. Seine Funktion wie auch sein Verhalten ist im [[Portable Operating System Interface|POSIX]]-Standard (und damit auch in der [[Single UNIX Specification]] und der [[Normung|Norm]] [[Institute of Electrical and Electronics Engineers|IEEE]] 1003.1) festgelegt.&amp;lt;ref name=&amp;quot;posix&amp;quot;&amp;gt;{{Internetquelle |url=https://pubs.opengroup.org/onlinepubs/007904875/utilities/compress.html |titel=compress-Spezifikation der Open Group |sprache=en |zugriff=2013-05-12}}&amp;lt;/ref&amp;gt; Es bildet mit seinem Gegenstück &amp;lt;code&amp;gt;&amp;#039;&amp;#039;&amp;#039;uncompress&amp;#039;&amp;#039;&amp;#039;&amp;lt;/code&amp;gt; (&amp;lt;code&amp;gt;/usr/bin/uncompress&amp;lt;/code&amp;gt;) die übliche Methode, Archive platzsparend abzulegen.&lt;br /&gt;
&lt;br /&gt;
== Arbeitsweise ==&lt;br /&gt;
Auf Systemen, die den Lempel-Ziv-Algorithmus nicht unterstützen, verändert &amp;lt;code&amp;gt;compress&amp;lt;/code&amp;gt; die – als Argument übergebenen – Dateien nicht, sondern bricht mit einem &amp;#039;&amp;#039;Error Level&amp;#039;&amp;#039; größer 2 ab. Ebenfalls zu einem Abbruch mit Fehlermeldung kommt es, wenn die Dateierweiterung &amp;lt;code&amp;gt;.Z&amp;lt;/code&amp;gt; die durch die [[Kernel (Betriebssystem)|Kernel]]-Konstante &amp;lt;code&amp;gt;NAME_MAX&amp;lt;/code&amp;gt; festgelegte maximale Namenslänge überschreiten lassen würde.&lt;br /&gt;
&lt;br /&gt;
Auf allen anderen Systemen werden die Dateien gepackt und durch die gepackte Datei ersetzt, deren Namen um ein angehängtes &amp;lt;code&amp;gt;.Z&amp;lt;/code&amp;gt; erweitert wird. Reicht die Berechtigung des ausführenden [[Prozess (Informatik)|Prozesses]] dazu aus, so werden Berechtigungen und Besitzer dabei erhalten. Diese Dateien können mit dem Programm &amp;lt;code&amp;gt;&amp;#039;&amp;#039;&amp;#039;uncompress&amp;#039;&amp;#039;&amp;#039;&amp;lt;/code&amp;gt; (&amp;lt;code&amp;gt;/usr/bin/uncompress&amp;lt;/code&amp;gt;) wieder entpackt werden, wobei &amp;lt;code&amp;gt;uncompress&amp;lt;/code&amp;gt; die angehängte Dateiendung &amp;lt;code&amp;gt;.Z&amp;lt;/code&amp;gt; wieder entfernt.&lt;br /&gt;
&lt;br /&gt;
Wie auch &amp;lt;code&amp;gt;[[gzip]]&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;[[bzip2]]&amp;lt;/code&amp;gt; komprimiert &amp;lt;code&amp;gt;compress&amp;lt;/code&amp;gt; ausschließlich einzelne Dateien. Sollen mehrere Dateien oder gar ganze [[Directory]]-Hierarchien zusammengefasst werden, so wird es typischerweise mit einem Archivierungsprogramm (&amp;lt;code&amp;gt;[[Tar (EDV)|tar]]&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;[[cpio]]&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;backup&amp;lt;/code&amp;gt; etc.) zusammen eingesetzt, dessen Ausgabe anschließend komprimiert werden kann.&lt;br /&gt;
&lt;br /&gt;
=== Patentrechtliche Erwägungen ===&lt;br /&gt;
Der POSIX-Standard legt fest, dass &amp;lt;code&amp;gt;compress&amp;lt;/code&amp;gt; [[Datei]]en nach dem [[Lempel-Ziv-Welch-Algorithmus#Varianten|adaptiven Lempel-Ziv]]-Algorithmus (auch: LZC, einer Variante des LZW-Algorithmus) bearbeitet. Dieser Algorithmus (genauer eigentlich: der zugrundeliegende Algorithmus [[LZ78]]) wie auch seine Erweiterung durch [[Terry Welch|Terry A. Welch]] wurde bis 2003 (in Japan bis 2004) durch US-amerikanische Patente geschützt, die an die [[Sperry Corporation]] ausgegeben wurden.&amp;lt;ref&amp;gt;{{Patent| Land=US| V-Nr=4464650| Code=A| Titel=Apparatus and method for compressing data signals and restoring the compressed data signals| A-Datum=1981-08-10| V-Datum=1984-08-07| Anmelder=Sperry Corp| Erfinder=Willard L. Eastman, Abraham Lempel, Jacob Ziv, Martin Cohn}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Patent| Land=US| V-Nr=4558302| Code=A| Titel=High speed data compression and decompression apparatus and method| A-Datum=1983-06-20| V-Datum=1985-12-10| Anmelder=Sperry Corp| Erfinder=Terry A. Welch}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Alternativen ===&lt;br /&gt;
Diese Abhängigkeit von einem proprietären Verfahren war mit ein Grund für die Entwicklung der Alternativen &amp;lt;code&amp;gt;&amp;#039;&amp;#039;&amp;#039;gzip&amp;#039;&amp;#039;&amp;#039;&amp;lt;/code&amp;gt; wie auch &amp;lt;code&amp;gt;&amp;#039;&amp;#039;&amp;#039;bzip2&amp;#039;&amp;#039;&amp;#039;&amp;lt;/code&amp;gt;, die beide auf ähnlichen, allerdings gemeinfreien, Kompressionsverfahren mit variablen Zeigern basieren. Das [[GNU]]-Betriebssystem verwendet deshalb &amp;lt;code&amp;gt;gzip&amp;lt;/code&amp;gt; (GNU-zip) als Ersatz für &amp;lt;code&amp;gt;compress&amp;lt;/code&amp;gt;. &amp;lt;code&amp;gt;gzip&amp;lt;/code&amp;gt; kann die mit &amp;lt;code&amp;gt;compress&amp;lt;/code&amp;gt; erzeugten Dateien zwar lesen und entpacken, die Kompression wird jedoch wegen der dazu verwendeten (ehemals) patentierten Verfahren nicht unterstützt.&lt;br /&gt;
&lt;br /&gt;
== Hinweise zur Verwendung, Beispiele ==&lt;br /&gt;
Für gewöhnlich nimmt &amp;lt;code&amp;gt;compress&amp;lt;/code&amp;gt; einen oder mehrere Dateinamen als Argument entgegen und ersetzt diese Dateien direkt im Filesystem durch ihre komprimierte Version. Mit dem Switch &amp;lt;code&amp;gt;-c&amp;lt;/code&amp;gt; wird die komprimierte Version stattdessen auf &amp;lt;code&amp;gt;[[stdout]]&amp;lt;/code&amp;gt; ausgegeben und der Filesystem-Inhalt nicht verändert. Dies kann einerseits genutzt werden, um komprimierte Backups auf allerlei externen Geräten (Bandlaufwerke etc.) abzulegen (der Datenstrom wird dann einem geeigneten Treiberprogramm über eine [[Pipe (Informatik)|Pipeline]] zur Verfügung gestellt), oder um die sonst anfallende Löschung der Ausgangsdateien zu umgehen:&lt;br /&gt;
&lt;br /&gt;
 # compress -c /path/to/input &amp;gt; /path/to/output.Z&lt;br /&gt;
&lt;br /&gt;
Außerdem bietet der Switch &amp;lt;code&amp;gt;-c &amp;#039;&amp;#039;N&amp;#039;&amp;#039;&amp;lt;/code&amp;gt; die Möglichkeit, die Kompression(-srate) zu beeinflussen: &amp;#039;&amp;#039;N&amp;#039;&amp;#039; ist dabei die Anzahl der maximal zu verwendenden Bits für einen Code (Werte zwischen 9 und 14 werden unterstützt). Längere Codes ermöglichen dabei bessere Kompression bei gleichzeitig steigendem Rechenaufwand.&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Unix-Betriebssystemkomponente]]&lt;br /&gt;
[[Kategorie:Packprogramm]]&lt;br /&gt;
[[Kategorie:Unix-Software]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Prüm</name></author>
	</entry>
</feed>