稀疏文件变成了普通文件

4048阅读 0评论2012-07-27 niannian
分类:服务器与存储

转自http://chentingjia.iteye.com/blog/643089

原本有一个 30G 的稀疏文件 file.img,实际占用 3.5G 的空间。但压缩成 file.img.tar.gz 后再解压出来,发现实际占用了 30G 空间,稀疏文件不稀疏了。为什么呢?原来是因为在压缩时没有加上 -S 参数。此参数的作用是指明被压缩文件是一个稀疏文件,如果没有这个参数,程序会填充稀疏文件,导致变成了一个普通文件。

因此,以后在压缩稀疏文件时需要加上 -S 参数:
Bash代码  
  1. # tar zcSf file.img.tar.gz file.img  

这样再解压就仍是一个稀疏文件:
Bash代码  
  1. # tar zvxf file.img.tar.gz  
  2. # du file.img -h  
  3. 3.5G  file.img  

如果现在已经变成普通文件,则可以通过 cp 命令来进行转换:
Bash代码  
  1. # du file.img -h  
  2. 30G  file.img  
  3. # cp --sparse=always file.img file.img.sparse  
  4. # du file.img.sparse -h  
  5. 3.5G  file.img.sparse  


上一篇:AIX外接USB
下一篇:BOOTP - 理解NIM工作原理的基础