Home / LinuxUser / 2012 / 11 / Große Dateien transferieren

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

Eingedost
(161 Punkte bei 4 Stimmen)
Aufteiler
(161 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.

Übergröße

Große Dateien transferieren

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.

Tip a friend    Druckansicht Bookmark and Share
Kommentare

Hits
Wertung: 139 Punkte (3 Stimmen)

Schlecht Gut

Infos zur Publikation

Infos zur Publikation

LinuxUser 05/2014

Aktuelle Ausgabe kaufen:

Heft als PDF kaufen

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,95 und mit DVD EUR 8,50. Weitere Informationen zum Heft finden Sie auf der LinuxUser-Homepage.

Im LinuxUser-Probeabo erhalten Sie drei Ausgaben für 3 Euro. Das Jahresabo (ab EUR 60,60) können Sie im Medialinx-Shop bestellen.

Tipp der Woche

Bilder vergleichen mit diffimg
Bilder vergleichen mit diffimg
Tim Schürmann, 01.04.2014 12:40, 1 Kommentare

Das kleine Werkzeug diffimg kann zwei (scheinbar) identische Bilder miteinander vergleichen und die Unterschiede optisch hervorheben. Damit lassen sich nicht nur Rätsel a la „Orignial und Fäls...

Aktuelle Fragen

programm suche
Hans-Joachim Köpke, 13.04.2014 10:43, 8 Antworten
suche noch programme die zu windows gibt, die auch unter linux laufen bzw sich ähneln sozusagen a...
Funknetz (Web-Stick)
Hans-Joachim Köpke, 04.04.2014 07:31, 2 Antworten
Bei Windows7 brauche ich den Stick nur ins USB-Fach schieben dann erkennt Windows7 Automatisch, a...
Ubuntu 13.10 überschreibt immer Windows 8 Bootmanager
Thomas Weiss, 15.03.2014 19:20, 8 Antworten
Hallo Leute, ich hoffe das ich richtig bin. Ich habe einen Dell Insipron 660 Ich möchte gerne Ub...
USB-PTP-Class Kamera wird nicht erkannt (Windows-only)
Wimpy *, 14.03.2014 13:04, 15 Antworten
ich habe meiner Frau eine Digitalkamera, AGFA Optima 103, gekauft und wir sind sehr zufrieden dam...
Treiber
Michael Kristahn, 12.03.2014 08:28, 5 Antworten
Habe mir ein Scanner gebraucht gekauft von Canon CanoScan LiDE 70 kein Treiber wie bekomme ich de...