web-dev-qa-db-fra.com

Compresser et diviser des fichiers dans l'explorateur de fichiers

Si vous cliquez avec le bouton droit sur un fichier dans Nautilus et sélectionnez Compresser, vous obtenez une boîte de dialogue dans laquelle vous pouvez choisir un format de compression et un nom de fichier. Si vous cliquez sur Avancé, il existe des paramètres permettant de fractionner et de compresser le fichier, mais il est désactivé/insensible. Comment se fait-il et comment activer ces fonctionnalités?

Edit: Dans une réponse ci-dessous, il a été suggéré que cela a quelque chose à voir avec rar. Mais je l'ai installé, et je n'ai pas les options pour me séparer.

25
Jo-Erlend Schinstad

Seuls certains outils d'archivage prennent en charge le fractionnement. L'un d'eux est RAR - package rar (mais c'est un shareware et vous devez l'acheter au bout de 40 jours - Shareware dans les référentiels Ubuntu? (RAR) ) et un autre est par exemple 7Zip - package p7Zip-full . Vous devez installer l'un d'eux (je suggère 7Zip car c'est totalement gratuit).

Vous pouvez également créer une archive sigle puis la scinder en parties à l'aide de la commande split (ou HJSplit pour l'interface graphique).

18
Vojtech Trefny

Pour activer l'option de scission, sélectionnez .rar dans la liste déroulante des extensions de fichier.

enter image description here

8
aneeshep

Considérant le cas spécifique des fichiers multi-segments Zip ,

c’est une réponse complémentaire à la principale .

Comme 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 format Zipname__. Des formats alternatifs peuvent cependant être utilisés, à savoir raret 7z.

De plus, seuls certains outils peuvent extraire des fichiers Zip multi-segments, tels que ceux décrits ci-dessous: voir à ce sujet la note de fin de cette réponse.

Comme la question aborde spécifiquement le problème de la gestion de l'archivage à partir du menu contextuel du gestionnaire de fichiers , j'ai examiné certaines commandes qui permettraient d'atteindre cet objectif même pour les fichiers Zipname__: ces commandes, en cas de succès, pourrait alors être facilement ajouté au gestionnaire de fichiers en tant qu'entrées de menu contextuel.

En considérant l'outil Zipname__, des archives multi-segments peuvent être créées directement avec une commande telle que 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 (nécessité une commande supplémentaire Zip -s 0 pour créer une grande archive extractible d'un fichier - comme décrit ici ) et cette limitation ne peut être évitée. Envoyer de telles archives multi-segments à quelqu'un qui ne le sait pas est inutile.

Comme déjà suggéré dans la réponse principale, une autre méthode consiste à compresser le fichier, puis à diviser l'archive à un fichier avec splitname __ (ou à l'interface graphique hjsplitname__). (J'ai testé l'interface graphique et je l'ai trouvée extrêmement lente, alors que pour les besoins du 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,

  1. compresser les fichiers sélectionnés en un seul fichier Zipname__,
  2. diviser le fichier zip en parties de taille maximale spécifiée, et
  3. 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'option Zip -r 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 Zippour "ordonner le chemin": contrairement à une commande de terminal contenant le chemin complet du ou des fichiers à archiver, une commande du menu contextuel qui utilise %F pour les fichiers sélectionnés ajouterait à l'archive structure de dossier dans dossier sauf si -j est utilisé; (source: create Zip - ignore la structure de répertoire );

  • my_archive.Zip est le nom personnalisé de l'archive non encore divisée; la commande splitlui sera appliquée puis la première sera supprimée avec rmname__

  • %F peut être utilisé dans une action personnalisée Thunar afin de compresser plusieurs fichiers comme Zipname__; Sinon, %f doit être utilisé pour sélectionner un seul fichier;

  • -b 20m représente la taille des parties d'archive distinctes créées par splitname__, comme indiqué ici ;

  • split.Zip est une spécification inutile. c'est le nom personnalisé de l'archive multi-fichiers finale, il donnerait quelque chose comme split.zipaa, split.zipab, split.zipac..., et sans elle, le résultat sera nommé xsuivi de aafragment-suffixes: xaa, xab, xac..., etc. il existe une option split-d pour utiliser des suffixes numériques au lieu d’alphabet, mais cela donne une erreur (car l’extracteur attend apparemment une archive multi-segments Zip standard quand il voit un suffixe numérique - comme suggéré dans une conversation privée par Stephen Kitt ;

  • rmappliqué au fichier my_archive.Zip ne nous laissera que l'archive multi-segments souhaitée.


Remarque:

Pour que l'archive multi-zip résultante soit extraite, , un outil prenant en charge aaarchives de segmentetd est nécessaire , comme file-roller. sous Linux et 7-Zip sous Windows.

1
user47206

Essayez de remplacer rar par unrar-free ou l'inverse.

Cela peut être fait simplement

Sudo apt-get install rar unrar-free
1
PvdL