Betrachtet man den speziellen Fall von ZIP- Dateien mit mehreren Segmenten ,
Dies ist eine ergänzende Antwort zu der Hauptantwort .
Wie bereits in der Hauptantwort angegeben, unterstützen nur einige Archivierungswerkzeuge das Teilen, und die Haupt-GUI scheint nicht in der Lage zu sein, Archive mit mehreren Segmenten im zip
Format zu erstellen . Alternative Formate können jedoch verwendet werden, nämlich rar
und 7z
.
Außerdem können nur einige Tools aus Multisegment-Zip-Dateien extrahieren, wie die hier diskutierten: Siehe dazu den Endvermerk zu dieser Antwort.
Da sich die Frage speziell mit dem Problem der Archivierung aus dem Kontextmenü des Dateimanagers befasst , habe ich mich mit einigen Befehlen befasst, die den angegebenen Zweck auch für zip
Dateien erfüllen können: Wenn solche Befehle erfolgreich sind, können sie problemlos zum Dateimanager als hinzugefügt werden Kontextmenüeinträge.
In Anbetracht des zip
Tools können Archive mit mehreren Segmenten direkt mit einem Befehl wie zip my_archive.zip -r <file> -s 20971519
(weitere Details unter dieser Frage ) erstellt werden. Diese sind jedoch überhaupt nicht nützlich, da sie nicht zum Extrahieren bereit sind (Sie benötigen einen zusätzlichen zip -s 0
Befehl zum Erstellen eines großen 1- Datei extrahierbares Archiv (wie hier beschrieben ) und diese Einschränkung kann nicht umgangen werden. Das Senden eines solchen Archivs mit mehreren Segmenten an jemanden, der dies nicht weiß, ist sinnlos.
Wie bereits in der Hauptantwort vorgeschlagen, besteht eine andere Möglichkeit darin, die Datei zu komprimieren und dann das Ein-Datei-Archiv mitsplit
(oder der hjsplit
GUI) zu teilen . (Ich habe die GUI getestet und fand sie extrem langsam, während die GUI für das Kontextmenü nicht benötigt wird.)
Die Idee ist, dem Kontextmenü des Dateimanagers einen Eintrag hinzuzufügen, der mit nur einem Klick erstellt werden kann
- ausgewählte Dateien als einzelne
zip
Datei komprimieren ,
- Teilen Sie die ZIP-Datei in Teile mit der angegebenen maximalen Größe auf
- Entfernen Sie es, um nur das Archiv mit mehreren Dateien zu behalten.
Also habe ich mit Thunar und einer benutzerdefinierten Aktion mit diesen drei Befehlen getestet, die verbunden sind durch &&
:
zip -j my_archive.zip %F && split -b 20m my_archive.zip split.zip && rm my_archive.zip
(Dies gilt für eine oder mehrere ausgewählte Dateien, jedoch nicht für Verzeichnisse. Für die Anwendung auf Verzeichnisse ist die folgende zip -r
Option erforderlich:
zip -r -j my_archive.zip %F && split -b 20m my_archive.zip split.zip && rm my_archive.zip
)
-j
steht für eine Option zip
zum "Junken des Pfads": Anders als bei einem Terminalbefehl, der den vollständigen Pfad der zu archivierenden Datei (en) enthält, würde ein Kontextmenübefehl, der %F
für ausgewählte Dateien verwendet wird, dem Archiv einen Ordner-In hinzufügen -Ordnerstruktur, sofern nicht -j
verwendet wird; (Quelle: zip erstellen - Verzeichnisstruktur ignorieren );
my_archive.zip
ist der benutzerdefinierte Name des noch nicht aufgeteilten Archivs; Der split
Befehl wird darauf angewendet und der erstere wird mit entferntrm
%F
kann in einer Thunar benutzerdefinierte Aktion , um verwendet werden , um mehrere Dateien zu komprimieren , wie zip
; alternativ %f
ist zur Auswahl nur einer Datei zu verwenden;
-b 20m
steht für die Größe der einzelnen Archivteile, die von split
wie hier angegeben erstellt wurden ;
split.zip
ist eine Spezifikation, die nicht benötigt wird; es ist der benutzerdefinierte Name des endgültigen Archivs mit mehreren Dateien, es würde so etwas wie geben split.zipaa, split.zipab, split.zipac...
, und ohne ihn wird die Ausgabe benannt, x
gefolgt von den aa
Fragment-Suffixen:, xaa, xab, xac...
etc; Es gibt eine split
Option -d
, numerische Suffixe anstelle von alphabetischen zu verwenden. Dies führt jedoch zu einem Fehler (da der Extraktor anscheinend ein standardmäßiges ZIP-Multisegment-Archiv erwartet, wenn ein numerisches Suffix angezeigt wird - wie in einem privaten Chat von Stephen Kitt vorgeschlagen ;
rm
Angewendet auf die my_archive.zip
Datei hinterlässt uns nur das gewünschte Multisegment-Archiv.
Hinweis:
Damit das resultierende Multi-Zip-Archiv extrahiert werden kann, wird ein Tool benötigt, das aa
segmentetd-Archive unterstützt , wie file-roller
unter Linux und 7-Zip unter Windows.