Respuestas:
Depende de si sucede con todos los tar.gz
archivos o solo con este. Este archivo en particular podría estar dañado y, por lo tanto, no se abrirá correctamente. Si se usa tar para extraer, es necesario utilizar la z
opción, ya que es necesario cuando se gzipped un archivo: tar xzvf <file.tar.gz>
. Alternativamente, también vale la pena intentar extraerlo congunzip <file.tar.gz>
Para saber si el archivo está dañado, ejecute gzip -t <file.tar.gz>
; Este comando verificará el archivo en busca de errores y, si se encuentran, deben aparecer en el terminal. Esto debería decirle si el archivo está dañado.
Si el archivo es sólido y se repite el error, significa que probablemente sea el problema conocido con tar que ocurre cuando un archivo no tiene un par zero blocks
al final, como espera GNU tar. La solución a esto es agregar la -i
opción de ignorar el zero blocks
. Así que use tar ixzvf <file.tar.gz>
El problema está documentado aquí en detalle.
Me ha sucedido lo mismo porque canalicé stdout y stderr a través de un canal que no separa stderr y stdout (una sesión de terminal adb de Android).
De esa manera, algunos mensajes de error terminaron en la transmisión. Este fue el comando defectuoso:
Comando defectuoso, adb shell solo combina stderr y stdout localmente => basura. :
adb shell tar -cf - /some/dir \| uuencode bla | uudecode -o - > backup.tar
Comando fijo:
adb shell tar -cf - /some/dir 2>/dev/null\| uuencode bla | uudecode -o - > backup.tar
Lo mismo sucederá si haces un comando similar sobre SSH como este streaming tar rápido sobre ssh si olvidas redirigir stderr a / dev / null:
ssh user@host tar -czf /some/remote/path 2\>/dev/null > /local/path/to/file.tar.gz
Recibí este error el otro día tratando de descomprimir un archivo que no estaba comprimido. El origen del archivo era desconocido para mí, pero pensé que el creador podría usarlo cat
para combinar varios alquitranes en uno solo. Esto provocó que el marcador de cero al final del archivo fuera leído por la tar
utilidad en el medio de un archivo combinado, mostrando así el error "Un bloque cero solitario".
Si este es el caso, entonces --ignore-zeros
o -i
la opción podría ayudar a suprimir estos errores. Consulte man tar
o este enlace como referencia.
RequestTTY yes
en su ssh_config. Se puede desactivar explícitamente-T Disable pseudo-tty allocation.
Para mí, el error eratar: Skipping to next header
originalmente, se produjo el solitario bloque de cero cuando he intentado con--posix
..