Necesito hacer que un archivo zip esté disponible para todos mis visitantes usuarios de Windows, así que ingenuamente produje un archivo zip con el comando zip de Unix (llamémoslo madeinlinux.zip).
Se abre con éxito con WinRar o Winzip, pero aquellos de mis usuarios que usan el manejo estándar de archivos zip de Windows experimentan un error al intentar descomprimirlo. (Windows XP)
Comprimí los mismos datos usando el mecanismo zip incorporado de Windows, y desde el punto de vista de Linux, no puedo ver ninguna diferencia en el tipo de archivo:
$ file madeinlinux.zip : Zip archive data, at least v2.0 to extract
$ file madeinwindows.zip : Zip archive data, at least v2.0 to extract
Deben ser algo específico para un archivo zip compatible con Windows.
¿Alguien sabe qué?
Respuestas:
Probar con:
-9
Indica la velocidad de compresión más lenta (compresión óptima, ignora la lista de sufijos)-y
Almacene enlaces simbólicos como tales en el archivo zip, en lugar de comprimir y almacenar el archivo al que hace referencia el enlace-r
Recorre la estructura del directorio de forma recursiva-q
Modo silenciosofuente
-r
) y le-r
permite tomar todo el contenido de la carpeta7zip es una herramienta de compresión de código abierto que funciona en Linux, FreeBSD, Mac OS X, BeOS, DOS, Amiga y Windows.
Lo recomendaría altamente basado en la versión de Windows.
Es compatible
fuente
Lo único que parece relevante es esto
pero lea "man zip" en su sistema antes de ir a otro lado ...
fuente
zip -Z
establece la opción de compresión.-Z store
es el más trivial, ya que no se comprime en absoluto. Esto es útil cuando lo está utilizandozip
como alternativatar
o al solucionar problemas. En este caso, debe intentar ver si Windows puede usar un archivo sin comprimir. Si eso es utilizable, sabe que tendrá que elegir una opción de compresión no predeterminada.fuente
Además de lo que otros sugirieron, es importante prestar atención a los nombres de sus archivos y directorios, ya que a Windows no necesariamente le gustan las rutas y los nombres de los archivos de Linux. A veces también se les escapa de manera diferente cuando se comprime. Los ejemplos son numerosos, pero lo más importante son los archivos de puntos (. Y ..), archivos con solo diferencias de mayúsculas y minúsculas (name.txt y NAME.txt), rutas de archivos absolutas (/tmp/file.txt) . Algunos otros caracteres que están permitidos en los nombres de archivo en Windows pueden causar problemas cuando se usa el Explorador de Windows para abrir archivos. En mi caso, el personaje ':' fue el factor decisivo, pero tomó mucho trabajo descubrirlo.
Entonces, antes de reanudar el uso de muchos parámetros, le sugiero que siga un procedimiento simple:
Localice la carpeta o el archivo que está comprimiendo.
ejecutar: zip -9 -r -k zip-modified-names.zip / path / to / your / folder
Si esto funciona, es mejor que elimine los caracteres que han sido eliminados por la opción -k de los nombres de archivo / directorio. Intente comprimir normalmente. Tenga en cuenta que algunos parámetros como -k tienen efectos secundarios. En este caso, -k contradice con la opción -q (para enlaces sym).
Además, la opción -k puede hacer que sus nombres de archivo sean ilegibles. En mi caso, mis archivos se nombraron en función del tiempo de creación (por ejemplo, 10: 55: 39.pdf) para facilitar la ubicación del registro requerido de los archivos, pero la opción -k lo convirtió en 105539.pdf, que los usuarios no pueden leer fácilmente. Por lo tanto, cambié los nombres a 10_55_39.pdf, que se abre en Windows sin usar la opción -k, pero aún es legible.
fuente
Tuve un problema similar recientemente con archivos producidos a partir de un script perl. Se descubrió que el zip nativo de Windows (solo Windows 7 probado) maneja incorrectamente las rutas con una barra diagonal y muestra un archivo zip vacío. La solución fue quitar la barra inclinada antes de agregar archivos. Tal vez algunas versiones del comando zip de Linux almacenan rutas de archivo con barras diagonales.
fuente
Aquí hay un script de Python que estoy usando para comprimir algunos archivos. Ha sido probado en ubuntu y Vista. Un zip generado en Ubuntu se abre con la cremallera Vista.
Creo que tuve un problema similar en el pasado y fue porque el formato zip no era ZIP_DEFLATED. No estoy seguro. Lo comprobaré
Espero que ayude
fuente
Probablemente haya un problema en la transferencia de archivos de Linux a Windows. Si está utilizando FTP, intente configurar una transferencia binaria (comando bin en Windows, antes de la transferencia de sus archivos de Linux a Windows).
fuente