红联Linux门户
Linux帮助

Linux压缩、解压缩文件(invalid tar magic报错)

发布时间:2017-04-23 09:45:01来源:linux网站作者:liyuxia_1991
今天在Linux-arm 设备解压*.tar 压缩文件不成功,一直报错提示invalid tar magic,但是在Ubuntu 上使用tar 压缩、解压缩相同文件并不报错,经查找,后来确定原因并找到解决方法。整个过程及现象、解决方法记录如下:
 
最先是在Ubuntu上拷贝了几个脚本文件到U盘,把U盘插在示教器(内置BuzyBox工具),运行其中一个脚本提示找不到这个脚本文件,但是ls 明显看得见此文件,后来发现 是shell脚本的符号链接 #!/bin/bash 在此Linux-arm设备上识别不了,改成#!/bin/sh 即可。
 
某个脚本文件里面有一行解压命令tar -xzvf tpudeploy.bin 来解压压缩文件不成功。后来查看了BuzyBox上tar 命令的使用格式,追踪发现tpudeploy.bin这个文件压缩时用的命令是tar -czvf tpudeploy.bin tpudeploy,解压时在BuzyBox并没有-z这个选项,用 tar -xvf  tpudeploy.bin 解压文件提示错误invalid tar magic。总之就是:压缩文件格式和解压缩文件格式要保持一致。
 
错误的操作:
Ubuntu压缩:tar -czvf tpudeploy.bin tpudeploy
BuzyBox解压缩:tar -xzvf tpudeploy.bin / tar -xvf tpudeploy.bin
 
正确做法:
Ubuntu压缩:tar -cvf tpudeploy.bin tpudeploy
BuzyBox解压缩:tar -xvf tpudeploy.bin
不同平台上命令格式有所不同。
 
本文永久更新地址:http://www.linuxdiyf.com/linux/30229.html