Si j'ai un fichier tar bziped divisé en plusieurs DVD, quel est le meilleur moyen de l'extraire sans créer beaucoup de fichiers intermédiaires? Je ne veux pas d'abord copier toutes les parties de l'archive sur un disque intermédiaire.
jusqu'à présent, le mieux que je puisse trouver est
terminal 1:
mkfifo temppipe1
mkfifo temppipe2
...
mkfifo temppipen
cat temppipe* | bunzip2 |tar -xvf -
terminal 2:
dd if=archive.tar.bz_part1 of=temppipe1
....
dd if=archive.tar.bz_partn of=temppipen
Cela fonctionne, me permettant de changer le dvd après chaque dvd mais me semble potentiellement créer beaucoup de pipes nommées et potentiellement sujettes aux erreurs. Une faute de frappe dans le terminal 2 et tar va cesser, ne laissant aucune option mais recommencer. Il est également essentiel de créer suffisamment de tubes de noms au début
Quelqu'un a de meilleures idées?
--multi-volume
option suivante - L'une destar
spécialités de 's est le fractionnement séquentiel d'une archive sur plusieurs périphériques.-M
empêche la compression sur toutes les versions de tar (gros inconvénient), n'aide en rien à extraire les archives fractionnées existantes et pose un problème de portabilité.Réponses:
Vous pouvez utiliser un seul canal et laisser un scripteur ouvert dessus pour qu'il ne se ferme pas avant que vous n'ayez terminé.
terminal 1:
terminal 2:
Nous
cat
n'aurons rien écrit dans le tuyau, mais sa présence gardera le tuyau ouvert pendant l'exécution desdd
commandes.terminal 3:
Retournez ensuite au terminal 2 et appuyez sur Control-D.
cat
enverra la fin de fichier finale et tar se terminera.la source
dd
essayez d'écrire des données plus rapidement que voustar
ne pouvez le lire, il se bloquera jusqu'à ce qu'il setar
rattrape.cat archive > temppipe
fonctionne aussi, non?cat
devrait fonctionner aussi bien quedd
.