Linux 压缩、解压缩文件(invalid tar magic 报错)
今天在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
不同平台上命令格式有所不同,关于BuzyBox的基本用法详见文章:
http://blog.csdn.net/gangyanliang/article/details/8226637
更多推荐
所有评论(0)