Séparer un gros fichier en plusieurs petits volumes
Par eMerzh le dimanche 10 juin 2007, 22:25 - Lien permanent
Tout d'abord et vous vous en doutez sûrement, il existe une multitude d'outils pour effectuer cette tâche et je ne peux pas tous les aborder. Mais n'hésitez pas à me faire signe si vous avez une solution plus élégante, simple ou performante ;).
J'ai commencé par envisager le découpage des volumed avec un outil comme zipsplit afin que les utilisateurs de windows puissent également profiter des fichiers découpés. Seulement, un inconvénient majeur est que la taille des morceaux doit être supérieure à la taille du plus grand fichier ... pas toujours pratique....
il est également possible de découper avec rar de la manière suivante :
rar a -v5m monvol *.avi
rar va alors créer des volumes de nom monvol.partX.rar de 5Mo et contenant tous les ".avi" du répertoire. Le problème est que rar n'est pas un outil libre et donc pas toujours disponible dans toutes les distributions.
Mon attention s'est alors portée sur "split" un petit outil en ligne de commandes permettant de découper n'importe quel fichier en morceaux de la manière suivante :
split -d -b 1m cd.iso arch_
qui va donc couper en fichiers de 1m mon "cd.iso" (utilisez k pour kilo-octets ,.... cf le man) auquel il apposera le préfixe "arch_" suivi d'un chiffre (le -d).
pour les windowsiens, l'épreuve serait plus compliquée vu qu'ils doivent utiliser l'utilitaire "copy" sous DOS pour rejoindre les fichiers.
pour nous unixiens, rien de plus qu'un simple cat fera l'affaire :
cat arch_* > cd.iso
La dernière solution proposée est basée sur l'outil "tar" qui propose une séparation par volume natives.
Vous pouvez spécifier à tar de créer une archive multi-volume de cette manière :
tar -c -M --tape-length=5000 -f arch1.tar cd.iso
-c pour créer une archive, "-M --tape-length=" pour une multi-archive de la taille spécifiée (ici 5mo) et "-f" pour spécifier le fichier cible. Tar vous demandera alors le nom de l'archive suivante et vous devrez lui spécifier pour chaque volume!
emerzh@robert:~$ tar -c -M --tape-length=5000 -f arch1.tar cd.iso
Charger le volume #2 pour `arch1.tar' et appuyer sur ENTRÉE: n arch2.tar
Charger le volume #3 pour `arch2.tar' et appuyer sur ENTRÉE: n arch3.tar
Le "n " n'est pas là par hasard, il spécifie la création d'une nouvelle archive. Plutôt fastidieux nan?
Et pour remettre tout ensemble, c'est exactement la même marche à suivre avec un -x au lieu du -c.
emerzh@robert:~$ tar -x -M -f arch1.tar
Charger le volume #2 pour `arch1.tar' et appuyer sur ENTRÉE: n arch2.tar
Charger le volume #3 pour
`arch2.tar' et appuyer sur ENTRÉE: n arch3.tar
Charger le volume #4 pour `arch3.tar' et appuyer sur ENTRÉE: n arch4.tar
A vous de choisir la solution la plus adaptée à vos besoins et vos affinités.
Je n'ai malheureusement pas croisé d'outils graphiques permettant ces tâches...un message aux développeurs? 

Commentaires
plus élégant, il y a ultrasplitter avec un gui
Pour les amateurs de GUI : http://usplit.tuxfamily.org/
Sinon, vraiment sympa le billet, pour les Geek comme moi
Bonjour,
Ultrasplitter est dispo dans les repositories de Asher256.
http://asher256.tuxfamily.org/index...
http://asher256-repository.tuxfamil...
Cdt,
Typhoe
pour saucissonner des mp3, je recommande mp3splt.
http://packages.ubuntu.com/feisty/s...
pour découper ou coller des divx, avisplit et avimerge dans le paquet transcode sont formidables.
Sinon oui, pour le découpage et collage de gros fichiers, c'est split et cat chez moi aussi, rapide et efficace, pas de chichis, nickel.
Un iso de cd découpé avec split peut être ouvert avec daemon tools en prenant le 1er fichier. Est-il possible d'en faire autant sous linux (sans rejoindre les fichiers) ?
pas que je sache, mais j'imagine que de toute façon daemon tools les recolle dans un répertoire temporaire avant de les monter, rien ne t'empeche d'en faire autant.
Tu as aussi 7zip dans les depots ubuntu, qui te permet de créer un zip (ou un fichier 7z) saucissoné et compatible avec le 7zip sous windows...
christophe et wam >> effectivement, Daemon Tools doit faire ceci, mais de façon temporaire. Une manière de le faire à la sauce linux c'est d'utiliser les FIFO :
Voir http://linuxfr.org/forums/12/17148....
@++
lien ajouté ici :
http://doc.ubuntu-fr.org/bureautiqu...
pourkoi pas xtremSplit?
http://xtremsplit.free.fr/
euh, je crois pas que ça soit libre Xtremsplit.
donc c'est éliminé direct de la liste
Il existe un outil d'archivage multi-volumes qui tourne sous GNU/linux et win$ : http://dar.linux.free.fr/
DAR permet de faire des sauvegardes complètes ou differentielles et en plus le developpeur est français.
Un tuto est dispo ici : http://doc.ubuntu-fr.org/dar
Il y a aussi YoyoCut qui est pas mal du tout.
Voilà le site officiel : http://siteayoyo.free.fr/YoyoCut/ avec tutorial si tu veux.