15 votos

Archive Utility no puede abrir algunos archivos de texto comprimidos por su contenido

En MacOS 10.15.4, Archive Utility es capaz de abrir algunos archivos de texto ASCII comprimidos pero no otros, dependiendo del contenido del archivo de texto. Por ejemplo, esto funciona:

% echo "abc e" | gzip > ok.txt.gz; open ok.txt.gz

Pero esto falla:

% echo "abcde" | gzip > bad.txt.gz; open bad.txt.gz

El segundo ejemplo muestra un error en Archive Utility: "Imposible expandir 'bad.txt.gz' en 'carpeta'. (Error 79 - Tipo o formato de archivo inapropiado)".

Error message showing "Unable to expand 'bad.txt.gz' into 'folder'. (Error 79 - Inappropriate file type or format.)"

Estoy tratando de averiguar:

  1. ¿Se trata de un error de la Utilidad de Archivos o estoy utilizando mal el formato gzip?
  2. Suponiendo que sea un error, ¿qué es ¿el bicho? ¿Qué archivos están permitidos y cuáles no?

Por qué creo que esto es específico de la Utilidad de Archivo en 10.15:

  • 10.14 y 10.13 no parecen tener este problema; los archivos se abren normalmente.
  • Los bytes de los archivos gzip creados en 10.15 parecen coincidir con los creados en otros lugares, y se abren normalmente con gunzip el 10.15.

Contenidos de archivos de texto que funcionan o no funcionan:

  • Los archivos de texto sin espacios no funcionan, como por ejemplo "abcdefghijklmnopqrstuvwxyz"
  • Los archivos de texto con espacios al final no funcionan, como por ejemplo "abcdefghijklmnopqrstuvwxyz "
  • Los archivos de texto con espacios internos sí funcionan, como por ejemplo "abcdefghijklmnopqrstuvwxy z"
  • Los archivos de texto sin espacios pero con menos de cinco caracteres funcionan, como por ejemplo "abcd"

¿Qué puede estar pasando?

9voto

Jack Cushman Puntos 281

Alguien en otro foro investigó esto. Si ejecutas Archive Utility en el terminal, muestra un mensaje de error más completo:

Error unarchiving Error Domain=NSPOSIXErrorDomain Code=79 "Inappropriate file type or format" (Missing type keyword in mtree specification) 

Resulta que Archive Utility en Catalina está detectando erróneamente los archivos de texto como archivos mtree, que es una forma documentada de desconfigurar libarchive ( error 1 ; error 2 ).

Esto significa que, además de que la Utilidad de Archivos en la versión 10.15.4 no puede descomprimir algunos archivos de texto simples como "hola", también hará cosas sorprendentes con los archivos de texto que coincidan con el formato mtree. Por ejemplo, al descomprimir "hola type=dir" creará un directorio que sólo puede ser eliminado con sudo:

% echo "hello type=dir" | gzip > hello.txt.gz; open hello.txt.gz
% ls -l
total 8
d---------  2 jcushman  staff  64 Apr 20 09:36 hello
-rw-r--r--@ 1 jcushman  staff  35 Apr 20 09:36 hello.txt.gz

1 votos

chmod 777 hello; rm -r hello debería funcionar también, siempre y cuando se le permita escribir en el directorio actual (lo cual es así, de lo contrario la extracción habría fallado)

2voto

Des Puntos 121

Como la otra respuesta mencionó esto es un error. Puede utilizar otras utilidades, por ejemplo, https://theunarchiver.com/ y extrae el contenido de tu archivo gzip.

La forma más fácil es instalar unarchiver y asociar los archivos .gz con él, y luego abrir el archivo gz con unarchiver.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X