Dateien splitten

Sind die oben genannten Vorschläge nicht praktikabel oder nicht möglich, zerlegen Sie die Datei in kleinere Stücke und setzen sie diese auf dem Zielsystem wieder zusammen. Unter Linux existieren dafür die beiden Werkzeuge split und cat. Split zerlegt die Dateien, Cat fügt die Einzelteile wieder zusammen.

Ohne Angabe weiterer Parameter zerlegt Split die angegebene Datei in Einzelteile mit einer Länge von 1000 Zeilen. Diese Voreinstellung eignet sich primär für Textdateien, aber nicht für ein ISO-Image oder eine virtuelle Maschine. Mit dem Parameter --bytes=Wert (oder -b Wert) teilt Split dagegen aufs Byte genau.

Möchten Sie das ISO-Image des Netinstallers von Debian (191 MByte) in maximal 50 MByte große Häppchen zerteilen, genügt dazu der folgende Aufruf:

$ split --bytes=50M debian-6.0.4-i386-netinst.iso

Split zerlegt das Image dann in die vier Teile xaa bis xad. Dabei fallen xaa, xab und xac exakt 50 MByte groß aus, xad enthält die restlichen Daten mit rund 41 MByte. In der Grundeinstellung benennt das Tool die Ausgabedateien mit dem Präfix x und den beiden nachfolgenden, aufsteigend durchgezählten Buchstaben (Suffix) durch.

Über zusätzliche Parameter im Split-Aufruf passen Sie das Benennen der Ausgabedateien ihren Vorstellungen an. Den Hauptbestandteil für den Dateinamen übermitteln Sie Split, indem Sie obigen Aufruf um ein Präfix ergänzen:

$ split --bytes=50M debian-6.0.4-i386-netinst.iso teil-

Die erzeugten Dateien heißen nun beispielsweise teil-aa bis teil-ad. Über die beiden Parameter -d und -abeeinflussen Sie zudem die Suffixe. Die Option -d erzeugt numerische Endungen, -a Anzahl bestimmt deren Breite (in der Vorgabe 2), die Leerstellen füllt Split mit Nullen auf. Der Aufruf in der ersten Zeile von Listing 4 erzeugt die vier Dateien teil-000 bis teil-003.

Listing 4

$ split --bytes=50M -d -a 3 debian-6.0.4-i386-netinst.iso teil-
$ ls -hal teil*
-rw-r--r-- 1 frank frank 50M 30. Apr 10:33 teil-000
-rw-r--r-- 1 frank frank 50M 30. Apr 10:33 teil-001
-rw-r--r-- 1 frank frank 50M 30. Apr 10:33 teil-002
-rw-r--r-- 1 frank frank 41M 30. Apr 10:33 teil-003

Für das Zusammenfügen der Einzelteile auf dem Zielsystem genügt ein einfaches Kommando in der Bash (Listing 5, Zeile 1): Mit Cat setzen Sie die Teile, die durch das Namensschema in der richtigen Reihenfolge vorliegen, über den Operator >> zu einer Datei zusammen, die im Beispiel neu.iso heißt.

Listing 5

$ cat teil-* >> neu.iso
$ diff debian.iso neu.iso
$ cmp debian.iso neu.iso

Sicherheitshalber überprüfen Sie danach, dass es beim Zerlegen und Zusammenfügen keine Fehler gab und beide ISO-Dateien (Original und Kopie) identisch ausfallen. Ein Byte-für-Byte-Vergleich dauert zu lange und ist zudem fehleranfällig. Hier helfen die nützlichen Werkzeuge Cmp und Diff, mit denen Sie beide Dateien auf mögliche Unterschiede prüfen (Listing 5, zweite und dritte Zeile). Erfolgt keine Ausgabe, sind beide ISO-Dateien identisch.

Einen weiteren, eleganteren und oft genutzten Weg stellt das Erzeugen eines Hash-Wertes dar. Dabei handelt es sich um eine Art Fingerabdruck für eine Datenmenge oder Zeichenkette. In Listing 6 erzeugt das Kommando openssl diesen Wert auf der Basis des MD5-Algorithmus. Bei identischen Prüfsummen stimmen Original und Kopie überein.

Listing 6

$ openssl dgst -md5 debian.iso
MD5(debian.iso)= ff79f60c4d1fee2d47baadcbf081e5b6
$ openssl dgst -md5 neu.iso
MD5(neu.iso)   = ff79f60c4d1fee2d47baadcbf081e5b6

Fazit

Beim Kopieren großer Dateien führen verschiedene Ideen und Vorgehensweisen gleichermaßen zum Erreichen des Ziels, es gibt dabei keinen richtigen und keinen falschen Weg. Wichtig ist nur, dass Sie für das Problem eine passende Lösung finden und sich danach wieder etwas sicherer durch den Linux-Alltag bewegen. 

Glossar

EByte

1 Exabyte = 1018 Byte. 1 EByte entspricht also 1 Million TByte oder 1 Milliarde GByte.

Infos

[1] Packer im Vergleich: Martin Steigerwald, "Zip und Zop", LU 10/2010, S. 68, http://www.linux-community.de/20298

[2] ZFS: http://de.wikipedia.org/wiki/ZFS_(Dateisystem)

[] Der Autor bedankt sich bei Thomas Osterried und Wolfram Eifler für deren kritische Anmerkungen, Kommentare und Ergänzungen im Vorfeld dieses Artikels.

[] Frank Hofmann (http://www.efho.de) hat Informatik an der Technischen Universität Chemnitz studiert. Derzeit arbeitet er in Berlin im Büro 2.0, einem Open-Source Experten-Netzwerk, als Dienstleister mit Spezialisierung auf Druck und Satz. Er ist Mitgründer des Schulungsunternehmens Wizards of FOSS. Seit 2008 koordiniert er das Regionaltreffen der Linux-Usergroups aus der Region Berlin-Brandenburg.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 3 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

Kommentare

Infos zur Publikation

LU 06/2015: Shell-Tools

Digitale Ausgabe: Preis € 4,95
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!       

Tipp der Woche

Grammatikprüfung in LibreOffice nachrüsten
Grammatikprüfung in LibreOffice nachrüsten
Tim Schürmann, 24.04.2015 19:36, 0 Kommentare

LibreOffice kommt zwar mit einer deutschen Rechtschreibprüfung und einem guten Thesaurus, eine Grammatikprüfung fehlt jedoch. In ältere 32-Bit-Versionen ...

Aktuelle Fragen

Zu wenig Speicherplatz auf /boot unter MATE
Patrick Obenauer, 25.05.2015 14:28, 1 Antworten
Hallo zusammen, ich habe Ubuntu 14.10 mit MATE 1.8.2 (3.16-37) mit Standardeinstellungen aufgese...
Konsole / Terminal in Linux Mint 17.1 deutsch
Dirk Resag, 09.05.2015 23:39, 12 Antworten
Hallo an die Community, ich habe vor kurzem ein älteres Notebook, Amilo A1650G, 1GB Arbeitsspe...
Admin Probleme mit Q4os
Thomas Weiss, 30.03.2015 20:27, 6 Antworten
Hallo Leute, ich habe zwei Fragen zu Q4os. Die Installation auf meinem Dell Latitude D600 verl...
eeepc 1005HA externer sound Ausgang geht nicht
Dieter Drewanz, 18.03.2015 15:00, 1 Antworten
Hallo LC, nach dem Update () funktioniert unter KDE der externe Soundausgang an der Klinkenbuc...
AceCad DigiMemo A 402
Dr. Ulrich Andree, 15.03.2015 17:38, 2 Antworten
Moin zusammen, ich habe mir den elektronischen Notizblock "AceCad DigiMemo A 402" zugelegt und m...