一、在打包的时候将大的tar包分割成小的文件
3000m代表单个文件大小为3G
tar czf - ceping_V4.3.0.9813.tar.gz |split -b 3000m - ceping_V4.3.0.9813.tar.gz.
分割完成后的文件名为:ceping_V4.3.0.9813.tar.gz.aa ceping_V4.3.0.9813.tar.gz.ab
二、tar打包
1、在工作中我们遇到这种情况,刚把改好的部署脚本和软件包打成.tar.gz的压缩包,但突然发现脚本还需要修改一行,于是在修改完成后又重新使用tar zcvf 进行打包。如果压缩包较小还能接受,如果比较大呢(5G以上),花了10秒修改了一行代码,但是得等5分钟打一个包,如此这般这般如此,简直太费劲了。
2、直接更新.tar.gz文件的方法没有找到,有些资料说是tar命令不能直接对压缩文件更新,只能对归档文件进行更新。
3、我这里提供一点个人经验,在文档没有最终确认前不要打成压缩包,先打成.tar归档包即可。也希望有大神能提供更好的方法……
4、操作方法演示
touch f{1,2}.txt
tar cvf f.tar f1.txt f2.txt
查看tar包的内容
tar tf f.tar
创建一个code目录,并创建一个a.sh文件,追加至f.tar
mkdir code
touch code/a.sh
tar uvf f.tar code/
再次查看发现code目录已归档进来
tar tf f.tar
在a.sh里面加入一行“I Love Linux”,将它更新到tar包
echo "I Love Linux" > code/a.sh
tar uvf f.tar code/a.sh
tar tvf f.tar发现有两个a.sh,但它们的时间不一样,说明更新的a.sh已经被添加进去
tar xvf f.tar后发现a.sh内容已经变为I Love Linux,这是因为在解压时后面的文件会覆盖掉前面的同名文件
5、推荐—先删除后添加的方法来实现文件的更新
tar --delete code/a.sh -f f.tar
tar uvf f.tar code/a.sh
这样看到的就只有最新的文件了
待定型后可以使用gizp或bzip2对tar包进行压缩