2009-06-25 8 views
3

tar|gzip est merveilleux, sauf que les fichiers peuvent devenir trop gros, et les transférer sur le réseau devient compliqué. Les archives de l'ère DOS étaient couramment utilisées pour créer des archives multi-parties, une par disquette, mais gzip ne semble pas avoir une telle option (à cause de la philosophie de streaming Unix).Quelle est la manière la plus simple de créer des archives multi-parties sous Unix?

Alors, quel est le moyen le plus simple et le plus robuste de faire cela sous Linux (et évidemment avec une taille d'archive ~ 2 Go, pas 1,44 Mo)?

Répondre

2

Je n'utilise plus gzip pour archiver, juste pour déballer les archives d'autres personnes qui n'ont pas encore été converti :-)

7zip a une compression de niveau fou (bien que je ne l'ai pas mise en tête-à-tête dans tous les scénarios) et il prend également en charge la création de volumes, ce qui est en réponse à votre question spécifique.

3

vous pouvez le diviser en morceaux à l'aide /usr/bin/split (avec l'option « -b ») - lire « homme fendu »

+3

Ensuite, rejoignez-les avec cat - l'outil créé pour la jointure, bien qu'il ne soit pas évident que tout le monde commence à l'utiliser comme un outil pour afficher des fichiers sur une console –

2

La solution Unix typique serait « -b split », mais cette option est très robuste. Si l'un des fichiers est endommagé ou perdu, vous perdez tout à partir de là.

Vous pouvez utiliser split en conjonction avec bzip2 qui est souvent capable de réparer une archive cassée dans une certaine mesure.

Une façon beaucoup plus sûre serait d'utiliser parchive (PAR2 plus spécifiquement). Il va créer des fichiers supplémentaires dans le style RAID pour récupérer des dommages à des sections de fichiers. Pour plus d'informations, regardez quickpar, parchive.sf.net, paquet par2 sur distributions Linux ...

1

Vous pouvez utiliser tar et générer une archive multi-parties. L'astuce consiste à spécifier les noms de tous les fichiers d'archive que vous souhaitez générer, chacun avec un drapeau -f séparé. Heureusement, il existe un moyen facile de le faire. Supposons que vous n'ayez pas besoin de plus de 10 fichiers d'archive. Vous pouvez ensuite utiliser cette commande:

tar -c -M -L 2G -farchive{1..10} <sourcefile> 

Cette extension s'étendra à 10 indicateurs -f, chacun avec un nom de fichier d'archive numéroté. Pour extraire, utiliser

tar -x -M -farchive{1..10} 

Le seul hic est que vous ne pouvez pas compresser (-Z) les fichiers en utilisant ce multi-archivage avec du goudron.

Questions connexes