Terminal: ¿Tiene pérdida el comando zip integrado?

3

Estoy usando BASH en la terminal de Yosemite.

¿El comando zip tiene pérdidas?

Lo estoy usando de esta manera

zip -er ./output.zip ./input

-e encrypt

-r recurse

Estoy tratando de evitar la compresión con pérdida al realizar copias de seguridad de los datos.

Sería una salsa súper débil si mis copias de seguridad salieran corruptas :(

    
pregunta Kolob Canyon 25.12.2016 - 08:26

3 respuestas

23

No, los archivos ZIP nunca se comprimen con pérdida, ni sería realmente posible.

Los algoritmos de compresión con pérdida solo funcionan para datos que pueden ser aproximados y aún ser reconocibles para los humanos. Las imágenes y el audio funcionan para esto, pero no datos arbitrarios.

Los algoritmos de compresión ZIP toman datos arbitrarios, y sin saber qué es, comprímalos sin pérdida al encontrar datos redundantes y mapéelos. No habría manera de saber qué parte de los datos se podría aproximar, por lo que el software de archivo utiliza compresión sin pérdida.

    
respondido por el Alexander O'Mara 25.12.2016 - 08:38
14

El formato zip no usa compresión con pérdida, pero el comando zip tiene pérdida en un sentido diferente, no incluye algunos tipos de metadatos de archivos específicos de Mac en el archivo. Los metadatos que se quedan son en su mayoría poco importantes. Estoy hablando de cosas como etiquetas de archivos, comentarios de Spotlight y demás. Sobre todo.

Si eso no es lo suficientemente bueno para ti, puedes usar ditto , con las opciones apropiadas. Este es un ejemplo, tomado de la página de manual ditto man :

ditto -c -k --sequesterRsrc --keepParent src_directory archive.zip
    
respondido por el Gordon Davisson 25.12.2016 - 09:43
2

No, todos los métodos de compresión compatibles con el formato de archivo .zip no tienen pérdidas. Consulte Wikipedia .

    
respondido por el Mike Scott 25.12.2016 - 08:39

Lea otras preguntas en las etiquetas