J'ai essayé la majorité des formats (gzip, etc.) pour extraire un fichier zip avec tar
, et quand je suis devenu assez frustré pour Google, je n'ai trouvé aucun moyen d'extraire un fichier zip avec tar
et seulement des recommandations à utiliser zip
ou unzip
. En fait, mon système Linux n'a même pas d' zip
utilitaire, mais seulement unzip
(me laissant me demander pourquoi c'est la principale option recommandée). Bien sûr unzip
, j'ai résolu mon problème, mais pourquoi ne pas tar
extraire les fichiers zip? Peut-être devrais-je plutôt demander, quelle est la différence entre zip et les méthodes de compression prises en charge par tar
?
28
bsdtar
peut extraire des.zip
archives: Pzip
par défaut car sa licence n'est pas compatible avec la GPLRéponses:
La philosophie UNIX est d'avoir de petits outils. Un outil fait exactement une chose, mais c'est particulièrement bien.
L'
tar
outil combine simplement plusieurs fichiers en un seul fichier sans aucune compression.L'
gzip
outil ne fait que compresser un seul fichier.Si vous voulez avoir les deux, il vous suffit de combiner les deux outils pour créer un
.tar.gz
fichier.L'
zip
outil est une chose complètement différente. Il prend un tas de fichiers et les combine en un seul fichier compressé. Avec des algorithmes totalement différents.Si vous voulez qu'un outil les règle tous, utilisez-les
atool
. Il supportera tout un tas de formats différents simplement en détectant le format et en appelant le bon outil.la source
gzip
algorithme de compression est le même que celui utilisé parzip
. La différence est qu'ilgzip
est censé compresser n'importe quel flux d'octets, y compris un.tar
fichier, tandis quezip
, dérivé et inspiré de PKZIP, compresse et archive en une seule étape (et dans cet ordre).Pour faire court: l'outil tar GNU ne passe pas par le zip / dézipper car personne ne s'en soucie.
Longue histoire, taille originale:
tar
n'était pas initialement destiné à décompresser et compresser des fichiers, mais à archiver plusieurs fichiers dans un seul gros fichier. Étant donné que les gens voulaient non seulement archiver leurs fichiers, mais aussi les compresser, ils dirigent simplement latar
sortie via n'importe quel compresseur qui accepte les entrées de flux de données et déposent les résultats dans un fichier. Profit!Maintenant, pour rendre cette tâche aussi simple que possible, nous avons
tar
décidé de diriger en interne les fichiers générés vers des outils de compression, comme gzip, lzma, etc., qui étaient activés par des drapeaux spéciaux pour chaque format lors de l'exécutiontar
. C'est pourquoi lorsque vous essayez d'extraire un fichier corrompu,tar
vous voyez l'erreur d'outil sous-jacente, au lieu detar
:Donc, ce n'est pas que
tar
cela ne décompresse pas les fichiers zip, mais celatar
n'a pas la capacité de le diriger via l'outil approprié, car personne n'a vraiment pris la peine de l'implémenter, et zip accomplit déjà la fonction d'archivage de fichiers du fichier tar format, il y a moins de raisons pour que tar le supporte.Maintenant, il existe des outils tout-en-un qui compressent / décompressent tout ce que vous leur lancez, encore une fois, vous devez avoir les bons outils pour les prendre en charge. Si vous ne les avez pas, l'outil échouera.
la source
afio
).file-roller
...Un
tar
fichier est un format de fichier en soi conçu pour les archives sur bande. Ce format peut ensuite être compressé en utilisant (par exemple)gzip
oubzip2
des formats de compression. Lorsque vous extrayez un fichier tar compressé, vous le décompressez effectivement, puis extrayez les fichiers d'origine dutar
fichier non compressé .Lorsque vous extrayez un
zip
fichier, il netar
contient aucun fichier, juste tous vos fichiers d'origine. Il n'y a donc aucune raison detar
s'impliquer dans le processus.Vous pouvez également compresser des fichiers en utilisant
gzip
oubzip2
par eux-mêmes, tout comme vous pouvez créer deszip
fichiers (sanstar
implication). Lorsque vous décompressez ces fichiers, vous utilisezgunzip
oubunzip2
nontar
.la source
Comme la réponse "Certaines choses sont justes et nous devons les accepter" ne me convient pas non plus, j'ai juste fait quelques recherches (toujours bon d'apprendre quelque chose de nouveau n'est-ce pas?).
Il semble donc que la question soit de savoir où sont passés les outils et quel était leur objectif.
Au lieu de paraphraser ce que j'ai trouvé et de rendre les eaux inutilement troubles (l'obscurcissement me fait chier), jetez un œil à cet article: http://www.differencebetween.net/technology/difference-between-zip-and-gzip/
Je suppose que tar aurait pu intégrer le support zip, mais les méthodologies sont apparemment fondamentalement différentes. Ou peut-être ont-ils pensé pourquoi quelqu'un utiliserait cet outil d'archivage pour gérer les fichiers à partir d'un autre outil d'archivage et de compression (ou peut-être qu'il y avait un argument entre les deux codeurs d'origine et qu'une ordonnance de non-communication avait été déposée qui interdisait aux zips de traverser la limite de l'application.) . oui je plaisante).
la source