J'ai une .rar
archive en plusieurs parties contenant un seul .tar.gz
fichier à l'intérieur (ne demandez pas pourquoi, c'est juste comme ça qu'elle a été faite). Il me manque quelques parties, mais j'ai la première partie. Je voudrais en extraire autant .tar.gz
que possible. Comment puis je faire ça?
Si je l'exécute, unrar x -kb file.part1.rar
il extrait toujours le début .tar.gz
du part1
et s'arrête là avec une erreur. Je suis heureux d'essayer tous les outils (ne doit pas être rare).
data-recovery
compression
tar
rar
winrar
Alex I
la source
la source
Réponses:
J'avais quelque chose de similaire sur les fenêtres , quand j'avais des pièces 1,5,6,9,10 sur 10. Il me manquait les pièces 2,3,4,7,8.
utilisez 7zip pour extraire les pièces dont vous disposez et renommez-les en conséquence. c'est-à-dire: pt1 pt5 pt6, etc.
générer un fichier nul (zéro) pour remplir les parties manquantes, en utilisant la taille exacte en octets de chacune des parties que vous avez et extraites (c'est-à-dire la taille de pt1 qui est la même que la taille de pt5 et pt6 ...):
dans mon cas, j'ai utilisé:
concaténer les fichiers (en utilisant / b pour les fichiers binaires)
dans mon cas:
quand il a été fait, j'ai chargé le fichier dans Deluge bittorrent client et forcé à revérifier, et je ne manquais que le pourcentage que je n'avais vraiment pas, ce qui signifie que le client bittorrent a identifié que j'avais les vraies informations entre tous les zéros que je ajoutée.
la source
7z %file
essaie de charger tous les fichiers de pièce et renvoie une erreur si l'un d'eux est déjà manquant. Qu'est-ce que tout cela à faire avec les torrents? Puis-je extraire les fichiers compressés originaux individuels du binaire concaténé à l'aide de Deluge?Ce n'est probablement plus pertinent, mais j'ai juste eu le même problème et j'ai trouvé une solution simple qui fonctionnait pour moi et j'ai pensé que ce serait bien de partager.
J'avais une archive RAR protégée par mot de passe en 6 parties, mais la partie 4 manquait. J'ai essayé d'utiliser la fonction "réparation" de WinRAR mais il a dit qu'il ne pouvait pas trouver le dossier de récupération. J'ai essayé les méthodes ci-dessus mais elles ne fonctionnaient pas et l'extraction s'arrêtait toujours là où la partie manquante avait commencé.
Enfin, j'ai décidé de tromper WinRAR en pensant aux parties 5 et 6 où une archive différente et en les renommant "archive.part1.rar" et "archive.part2.rar". J'ai ensuite dit à WinRAR d'extraire la nouvelle partie 1 et même si j'ai reçu un message d'erreur disant qu'il ne pouvait pas extraire le fichier qui se terminait au début de la nouvelle partie 1 (car il manquait des données de la partie manquante 4), il a réussi à extraire tous les autres fichiers des parties d'origine 5 et 6.
J'espère que cela aidera d'autres personnes ayant le même problème à l'avenir.
la source
Je suppose que les pièces de 100 Mo, la partie 3 est manquante. Tu peux essayer
aussi j'essaierais, ce qui pourrait mieux fonctionner et faire penser à WinRar, le fichier est corrompu:
la source
cat blubb.rar | unrar > file.tgz
.Étape 1: renommer les fichiers, par exemple:
Étape 2: utilisez 7-Zip pour extraire chaque fichier.
Profit!
(Dans certaines circonstances, le changement de nom n'est pas nécessaire et vous pouvez laisser 7-Zip extraire tous les fichiers pour vous.)
la source
Je n'avais que la deuxième partie de l'archive rar en deux parties, tandis que le déballage de la partie 2 comme prévu, Winrar a fait apparaître un message disant que la première partie était manquante; J'ai également remarqué que le contenu complet de la deuxième partie avait été déballé dans le dossier; donc sans toucher au message contextuel de winrar, j'ai copié les fichiers décompressés dans un autre dossier, puis cliqué sur fermer dans le message contextuel de winrar; le contenu décompressé a été supprimé par winrar, mais comme je les avais copiés plus tôt dans un dossier différent, je pouvais utiliser le contenu décompressé de ce dossier différent.
la source
7-zip extraira la partie d'un fichier à partir d'un fichier rar en plusieurs parties, puis vous pourrez les recoudre avec dd. Par exemple, si vous avez les première et dernière parties rar:
Si le décalage que vous devez rechercher n'est pas premier, utilisez une taille de bloc supérieure à un.
dd
peut uniquementseek
à des multiples de la taille du bloc de sortie.dd
fait vraiment des appels systèmeread
etwrite
avec cette taille de bloc, donc çabs=1
craint vraiment.Un grand
ibs
(taille de bloc d'entrée) permettrait d'économiser la moitié du temps CPU, car ilseek
est en unités deobs
(taille de bloc de sortie). Ou peut-être existe-t-il un autre outil qui peut rechercher une position d'octet arbitraire, puis effectuer des E / S de taille normale. Ou si vous étiez en train d'écrire ce script, vous pourriez faire un dd avecbs=1
jusqu'à 32k alignés, alors peut-êtretail -c +$misalignment lastpart/file | dd ... of=p1/file conv=notrunc bs=32k seek=$(( (full_size - lastpart_size + misalignment) / (32 * 1024) ))
la source