Considérant le cas spécifique des fichiers ZIP multi-segments ,
c'est une réponse complémentaire à la principale .
Comme déjà indiqué dans la réponse principale, seuls certains outils d'archivage prennent en charge le fractionnement, et l'interface graphique principale ne semble pas capable de créer des archives multi-segments au zip
format. Des formats alternatifs peuvent être utilisés cependant, à savoir rar
et 7z
.
De plus, seuls certains outils peuvent extraire des fichiers zip multi-segments, tels que ceux discutés ici: à ce sujet, voir la note de fin de cette réponse.
Comme la question aborde spécifiquement la question de la gestion de l'archivage à partir du menu contextuel du gestionnaire de fichiers , j'ai examiné certaines commandes qui pourraient atteindre l'objectif même pour les zip
fichiers: ces commandes, en cas de succès, pourraient ensuite être facilement ajoutées au gestionnaire de fichiers comme entrées du menu contextuel.
Compte tenu de l' zip
outil, des archives multi-segments peuvent être créées directement avec une commande comme zip my_archive.zip -r <file> -s 20971519
(plus de détails sous cette question ), mais elles ne sont pas du tout utiles car elles ne sont pas prêtes à être extraites (besoin d'une zip -s 0
commande supplémentaire pour créer un grand 1- archive extractible de fichier - comme décrit ici ) et cette limitation ne peut être évitée. L'envoi d'une telle archive multi-segments à quelqu'un qui ne le sait pas est inutile.
Comme déjà suggéré dans la réponse principale, une autre façon consiste à compresser le fichier, puis à diviser l'archive à un fichier avec split
(ou l' hjsplit
interface graphique). (J'ai testé l'interface graphique et je l'ai trouvée extrêmement lente, tandis que pour le menu contextuel, l'interface graphique n'est pas nécessaire.)
L'idée est d'ajouter au menu contextuel du gestionnaire de fichiers une entrée qui, en un seul clic,
- compresser les fichiers sélectionnés en un seul
zip
fichier,
- diviser le fichier zip en parties de la taille maximale spécifiée, et
- supprimez-le afin de ne conserver que l'archive multi-fichiers.
J'ai donc testé avec Thunar et une action personnalisée avec ces trois commandes connectées par &&
:
zip -j my_archive.zip %F && split -b 20m my_archive.zip split.zip && rm my_archive.zip
(Cela doit être appliqué à un ou plusieurs fichiers sélectionnés, mais pas aux répertoires; pour appliquer aux répertoires, l' zip -r
option est nécessaire:
zip -r -j my_archive.zip %F && split -b 20m my_archive.zip split.zip && rm my_archive.zip
)
-j
représente une option pour zip
"junk the path": contrairement à une commande de terminal contenant le chemin complet du ou des fichiers à archiver, une commande de menu contextuel qui utilise %F
pour les fichiers sélectionnés ajouterait à l'archive un dossier dans -la structure des dossiers sauf si elle -j
est utilisée; (source: créer un zip - ignorer la structure du répertoire );
my_archive.zip
est le nom personnalisé de l'archive non encore divisée; la split
commande lui sera appliquée, puis la première sera supprimée avecrm
%F
peut être utilisé dans une action personnalisée Thunar afin de compresser plusieurs fichiers en tant que zip
; alternativement, %f
doit être utilisé pour la sélection d'un seul fichier;
-b 20m
représente la taille des parties d'archive distinctes créées par split
comme indiqué ici ;
split.zip
est une spécification qui n'est pas nécessaire; c'est le nom personnalisé de l'archive multi-fichiers finale, cela donnerait quelque chose comme split.zipaa, split.zipab, split.zipac...
, et sans lui la sortie sera nommée x
suivie des aa
fragments-suffixes:, xaa, xab, xac...
etc; il existe une split
option -d
pour utiliser des suffixes numériques au lieu d'alphabet, mais cela donne une erreur (car apparemment l'extracteur attend une archive ZIP multi-segments lorsqu'il voit un suffixe numérique - comme suggéré dans une conversation privée par Stephen Kitt ;
rm
appliqué au my_archive.zip
fichier ne nous laissera que l'archive multi-segments souhaitée.
Remarque:
Pour que l'archive multi-zip résultante soit extraite, un outil qui prend en charge les aa
archives segmentetd est nécessaire , comme file-roller
sous Linux et 7-Zip sous Windows.