Ihre Daten zusammendrücken - eine neue Komprimierung-Strategie

von rm

Die Größe von Festplattenlaufwerken ist in den letzten Jahren zweifellos ungeheuer gewachsen. Zur Zeit habe ich ein 500 GB externes Festplattenlaufwerk, das ich zur Sicherung meiner Daten verwende. Ich kann mich noch daran erinnern wie aufgeregt wir im Büro waren, als wir einen Computer mit 1GB Speicherplatz empfingen! Aufgrund des erhöhten Speicherplatzes speichern wir heute wie selbstverständlich erheblich mehr Material. Trotzdem möchte ich auf meiner Platte keinen Platz vergeuden.

Um etwas Speicherkapazität wieder herzustellen, werden die Daten häufig mit einer irgendeiner Software komprimiert. Hierbei gibt es mehrere Möglichkeiten, jede mit ihren eigenen Vor- und Nachteilen. Nehmen wir einmal an Sie haben einen wenig gebrauchten großen Verzeichnisbaum, den Sie komprimieren aber auf den Sie auch gleichzeitig gelegentlichen einfachen Zugriff haben möchten. In meinem Fall enthält dieser Verzeichnisbaum die RAW Bilddateien meiner Digitalkamera und jede dieser Dateien ist ungefähr 10MB groß. Die Gesamtgröße dieses Verzeichnisbaums ist ungefähr 45 GB, und sie wächst ständig. (Anmerkung: Ich speichere meine fertigen, nachprozessierten Bilder in einem separaten Verzeichnis. Sie werden als JPEG-Dateien gespeichert, also sind sie bereits. komprimiert) Welche Komprimierung würden Sie in einer solchen Situation verwenden?

Es gibt einige Anwendungen zur vollständigen Komprimierung des Verzeichnisses in eine sehr große komprimierte Datei, aber das ist aus einigen Gründen unpraktisch. Zum Beispiel ist das Hinzufügen eines neuen Verzeichnisse in das Archiv langsam und schwierig. Und wenn ich alle RAW Dateien einer Fotosession dekomprimieren wollte weil ich gerade eine neue Nachbearbeitungstechnik gelernt habe und anwenden möchte? Das wäre wiederum langsam und schwierig. Und über die Speicheranforderungen für solche Operationen sprechen wir lieber gar nicht erst. Sogar ein Backup eines sehr großen Archivs kann ein Herausforderung darstellen, da bestimmte Dateisysteme sehr große Dateien nicht unterstützen . Gibt es eine andere Methode?

Eine Lösung die mir einfiel war meine eigene Anwendung zu schreiben, um diese Arbeit zu erledigen. Ich erstellte ein Programm namens 7sqz (7Squeeze) das diese Aufgabe leicht erledigen kann. Es ist ein Python Skript, welches durch den Verzeichnisbaum steuert und lediglich dessen Inhalt, jedoch nicht das tatsächliche Verzeichnis selbst, komprimiert. In jedem Unterverzeichnis werden die jeweiligen Dateien in einem Archiv mit dem Namen des Unterverzeichnisses gespeichert. Wenn es im Unterverzeichnis bereits eine Archivdatei mit dem korrekten Namen gibt, wird dieses ausgelassen und zum folgenden Verzeichnis gewechselt, es sei denn es denn es wird eine unkomprimierte Datei gefunden. Für diesen Fall wird diese Datei in die bereits existierende Archivdatei integriert.

Ich schrieb auch 7usqz, das Komplement zu 7sqz. Es scannt einen Verzeichnisbaum, sucht nach Archivdateien mit dem Namen des aktuellen Verzeichnisses und dekomprimiert diese. Die Verzeichnisstruktur ist dann im Wesentlichen so wie sie vor der Komprimierung war. Beide Scripte, 7sqz und 7usqz, verwenden p7zip für die Komprimierung, also müssen Sie p7zip bereits installiert haben .

Sie können 7sqz hier herunterladen:
http://rmcorrespond.googlepages.com/7sqz

Und Sie können 7usqz von hier erhalten:
http://rmcorrespond.googlepages.com/7usqz

Nach dem Download speichern Sie sie an einer geeigneten Stelle wie /usr/bin stellen Sie sicher das die Scripte ausführbar sind. Hierfür machen Sie einen Rechts-Klick auf eine jede der beiden Dateien, wählen aus dem Menü Eigenschaften aus, und setzen einen Haken in den Kasten neben „ist ausführbar.“ O.K. anklicken und sie sind jetzt gebrauchsfertig.

Um 7sqz zu verwenden müssen Sie ein Terminal öffnen :

Hauptmenü - >System - >Terminals - >Konsole

Nun können Sie ihm ein Zielverzeichnis als Parameter geben:

7sqz /home/irgendein_Verzeichnis

Mit den Standardeinstellungen verwendet es das Format 7z (das bessere Komprimierung als zip ergibt), aber Sie können auch das zip-Format verwenden, indem Sie die - m Option verwenden, also:

7sqz - m zip /home/irgendein_Verzeichnis

Mit den Standardeinstellungen verwendet es Normal als Komprimierungsniveau, aber Sie können auch EXTRA oder MAX verwenden, indem Sie die -l Option verwenden, also:

7sqz -l Extra/home/irgendein_Verzeichnis

Mit den Standardeinstellungen überspringt es jede Datei mit einem Komprimierungsfehler und diese werden protokolliert. Sie können aber auch mit der - e Option erklären bei einem Fehler anzuhalten, also:

7sqz - e /home/irgendein_Verzeichnis

Und selbstverständlich können Sie Optionen beliebig kombinieren:

7sqz - m zip -l Max - e /home/irgendein_Verzeichnis

Wie bereits besprochen ist 7usqz das Komplement von 7sqz. Um es zu verwenden, geben Sie ein Zielverzeichnis als Parameter an, also:

7usqz /home/irgendein_Verzeichnis

Mit den Standardeinstellungen überspringt es jede Datei mit einem Dekomprimierungsfehler und diese werden protokolliert. Sie können aber auch mit der - e Option erklären bei einem Fehler anzuhalten, also:

7usqz - e /home/irgendein_Verzeichnis

Bitte testen Sie die Anwendung ausgiebig bevor Sie sie auf ein Verzeichnis mit wichtigen Daten anwenden. Ich glaube, dass es alle notwendigen Sicherheitsanweisungen hat, um Ihrer Daten zu schützen, aber ich kann das nicht garantieren. Ich kann nur sagen, dass ich noch nie irgendwelche Daten verloren habe und dass es bei mir großartig funktioniert. Bitte lassen sie mich wissen, wenn Sie irgendwelche Probleme mit der Anwendung haben. Ich weiß, dass es nur von dieser Beschreibung aus wirklich schwierig ist die Anwendung zu verstehen. Aber, ich denke, dass Sie nach den ersten Versuchen schnell sehen wie einfach und effizient es ist die Daten zu komprimieren und so etwas Plattenplatz zu gewinnen.

Seitenanfang