Probé con la mayoría de los formatos (gzip, etc.) para extraer un archivo zip tar
, y cuando me sentí lo suficientemente frustrado con Google para encontrarlo, no encontré ninguna forma de extraer un archivo zip tar
y solo recomendaciones para usar zip
o unzip
. De hecho, mi sistema Linux ni siquiera tiene una zip
utilidad, sino solo unzip
(dejándome preguntando por qué esta es la principal opción recomendada). Por supuesto unzip
funcionó, resolviendo mi problema, pero ¿por qué no puedo tar
extraer archivos zip? Quizás debería preguntar, ¿cuál es la diferencia entre zip y los métodos de compresión compatibles tar
?
28
bsdtar
puede extraer.zip
archivos: Pzip
por defecto porque su licencia no es compatible con GPLRespuestas:
La filosofía de UNIX es tener herramientas pequeñas. Una herramienta está haciendo exactamente una cosa, pero esta especialmente bien.
La
tar
herramienta solo combina varios archivos en un solo archivo sin ninguna compresión.La
gzip
herramienta solo está comprimiendo un solo archivo.Si desea tener ambos, simplemente combine ambas herramientas para obtener un
.tar.gz
archivo.La
zip
herramienta es una cosa completamente diferente. Toma un montón de archivos y los combina en un solo archivo comprimido. Con algoritmos totalmente diferentes.Si quieres una herramienta para gobernarlos, usa todos
atool
. Admitirá un montón de formatos diferentes simplemente detectando el formato y llamando a la herramienta correcta.fuente
gzip
algoritmo de compresión es el mismo utilizado porzip
. La diferencia es quegzip
está destinado a comprimir cualquier flujo de bytes, incluido un.tar
archivo, mientras quezip
, derivado e inspirado por PKZIP, comprime y archiva en un solo paso (y en ese orden).En pocas palabras: la herramienta tar GNU no se canaliza a través de zip / unzip ya que a nadie le importa.
Larga historia, tamaño original:
tar
inicialmente no estaba destinado a descomprimir y comprimir archivos, sino a archivar varios archivos en un solo archivo grande. Dado que las personas no solo querían archivar sus archivos, sino también comprimirlos, simplemente canalizan latar
salida a través de cualquier compresor que acepte la entrada de flujo de datos y suelte los resultados en un archivo. ¡Lucro!Ahora, para hacer que esta tarea sea lo más sencilla posible,
tar
decidimos canalizar internamente los archivos generados a herramientas de compresión, como gzip, lzma, etc., que se activaron mediante marcas especiales para cada formato al ejecutarsetar
. Es por eso que cuando intenta extraer un archivo dañadotar
, se muestra el error subyacente de la herramienta, en lugar detar
's:Entonces, no es que
tar
no descomprima los archivos zip, solo quetar
no tiene la capacidad de canalizarlo a través de la herramienta correcta, ya que nadie se molestó en implementarlo, y zip ya cumple la función de archivo del archivo tar formato hay menos razones para que tar lo soporte.Ahora, hay herramientas todo en uno que comprimen / descomprimen todo lo que les arrojas, una vez más, debes tener las herramientas correctas para admitirlo. Si no los tiene, la herramienta fallará.
fuente
afio
).file-roller
...Un
tar
archivo es un formato de archivo en sí mismo diseñado para archivos de cinta. Este formato se puede comprimir usando (por ejemplo)gzip
obzip2
formatos de compresión. Cuando extrae un archivo tar comprimido, efectivamente lo descomprime y luego extrae los archivos originales deltar
archivo sin comprimir .Cuando extrae un
zip
archivo, no contiene ningúntar
archivo, solo todos sus archivos originales. Por lo tanto, no hay ninguna razón paratar
involucrarse en el proceso.También puede comprimir archivos usando
gzip
obzip2
por sí mismos al igual que puede crearzip
archivos (sintar
participación). Cuando descomprimes estos archivos, usasgunzip
obunzip2
notar
.fuente
Como la respuesta "Algunas cosas simplemente son y deberíamos aceptarlas" tampoco me sienta bien, simplemente hice algunas excavaciones (siempre es bueno aprender algo nuevo, ¿no?).
Por lo tanto, parece que el problema es uno de dónde fueron las herramientas y cuál era su objetivo.
En lugar de parafrasear lo que encontré y hacer que las aguas sean innecesariamente turbias (la ofuscación me molesta), eche un vistazo a este artículo: http://www.differencebetween.net/technology/difference-between-zip-and-gzip/
Supongo que tar podría haber incorporado el soporte zip, pero las metodologías son aparentemente fundamentalmente diferentes. O tal vez pensaron por qué alguien usaría esta herramienta de archivo para administrar archivos de otra herramienta de archivo y compresión (o tal vez hubo algún argumento entre los dos codificadores originales y hubo una orden de restricción presentada que no permitía que las cremalleras cruzaran el límite de la aplicación ... Sí, estoy bromeando).
fuente