Also: Ein Dateisystem speichert zu einer Datei auch die Länge der selben. Der einfachheit halber und da die meisten architekturen eh probleme damit haben mehr als 2^32 Bytes an einem stück zu behandeln nehmen die meisten Dateisysteme hierfür eine 32bit Zahl => liegt die max. Größe für eine Datei bei diesen systemen bei 2^32. Bzw implementierungsabhängig bei 2^31.
NTFS allerdings unterstützt mehr.
Jetzt gibt es für Programmierer Bibliotheken, die Dateien über das Betriebssystem einlesen, und viele dieser Bibliotheken benutzen auch nur 32Bit felder bzw31Bit felder für die Größe => Es mag sein das dein Dateisystem dateien >4GB/2GB kann, eine spezifische Anwendung aber nicht.
Und dann muss deine client-anwendung 2^32 korrekt in eine menschen-lesbare Zeichenfolge verwandeln.
Jetzt hast du evtl ein Dateisystem bei dir laufen was große Dateien unterstützt, und deine FTP-Client-Anwendung kann das auch.
Jetzt kommt das größenfeld zum Server (und zwar in Text-Form). Jetzt gibt es sogar drei Fehlermöglichkeiten:
1. Das Server-Dateisystem kann nicht mit dateien >4/2GB umgehen
2. Die Server-Anwendung kann nicht mit dateien >4/2GB umgehen
3. Die Server-Anwendung kann die angegebene Dateigröße nicht korrekt umwandeln und behandelt den Fehler wie folgt:
1. Es lehnt die Übertragung ab
2. Aus der großen Zahl wird 2^32 (und ein stück von der datei wird abgeschnittern)
3. Die Konvertierung produziert schwachsinn und ein teil der Datei wird abgeschnitten)
4, Der server hängt sich irgendwie auf
Irgendwo dadran wirds liegen. Versuch mal die datei mit WinSCP zu übertragen, evtl gehts damit (wenn der zielrechner ssh offen hat) Ansonsten halt splitten.
Wenn du deinem Packer sagst, er soll nur splitten, nicht komprimieren, dann geht das eigentlich zügig von statten (und leichte komprimierung kannst du ruhig einschalten, die HD ist eh langsamer als der Packer)
|