存档

文章标签 ‘tar’,文章数:3

在solaris系统中,tar命令中排除指定目录和文件的参数与linux中tar命令不同。 在solaris 10中,可以这么用。 比如:我想打开目录/sybase到/tmp/sybase.tar,排除目录/sybase下的两个文件:EBF17156.tar和 cd /sybase echo /sybase/EBF17156.tar > excludefile echo /sybase/ase1503_solsparc64_2.tar  >> excludefile tar cvfX /tmp/sybase.tar excludefile  /sybase

在ibm-aix5.3下用tar打包一个文件夹时报错:tar: 0511-194 Reached end-of-file before expected. 用的命令是:tar -cvf /tmp/sybase12503.tar /sybase/sybase12x 解决方法: 执行ulimit -f 返回结果为:2097151,说明系统对用户所能用的文件大小限制为:2097151*512=1G 此时查看没有成功打包完成的/tmp/sybase12503.tar文件,发现其大小正好是:1073741312 (bytes). 可通过改 /etc/security/limits 文件中的fsize来设置为无限制: default:     fsize = -1 为使 /etc/security/limits 文件的更改生效,用户必须注销当前登录会话并重新登录。   重新登录后,执行ulimit -a 返回结果为:unlimited。此时更改已经生效,对用户所能用的文件大小不加限制。但是, 无论 ulimit 设置如何,AIX 上的标准文件系统都有2GB文件大小限制,如果需要建大于2GB的文件需要启用大文件 选项创建文件系统。   然后,再次执行:tar -cvf /tmp/sybase12503.tar /sybase/sybase12x 成功将/sybase/sybase12x打包成/tmp/sybase12503.tar。 -bash-3.2$ ls -al /tmp/sybase12503.tar -rw-r–r–    1 root     system   1142118400 May 12 11:17 /tmp/sybase12503.tar [...]

在使用tar命令解压文件的时候,两次都出现了checksum error的错误,只是错误信息稍微有点差别。 情况1: 最近配置AIX下的Java环境,使用tar -xvf时总出现checksum error的信息。 # tar -xvf Java5_64.sdk.tar x Java5_64.sdk, 74738688 bytes, 145974 media blocks. tar: 0511-169 A directory checksum error on media; -265812960 not equal to 67621 最后发现原因,是因为我使用ftp下载时没有设置为二进制方式传输数据,ftp会默认使用Ascii的方式来传输,这样会破环文件。 解决方法: 登录ftp之后,输入bin,然后再使用get文件就可以了。 情况2: 用tar命令解压一个非tape archive文件时(格式为tgz),也报类似的错误! -bash-3.2$ tar -xvf ase1503_aix64_2.tgz tar: 0511-169 A directory checksum error on media; 0 not equal to 67634. 解决方法:先将tgz压缩文件转化成tar格式的, $gunzip [...]