Skip to content

Instantly share code, notes, and snippets.

@hansode
Last active December 25, 2015 22:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save hansode/7050765 to your computer and use it in GitHub Desktop.
Save hansode/7050765 to your computer and use it in GitHub Desktop.
size description
833140 setup
4121560 100% used
1587032 tar->untar

1. before size

$ ls -la centos-6.4_x86_64.raw
-rw-r--r-- 1 root root 5368709120 Oct 19 10:28 centos-6.4_x86_64.raw
$ du centos-6.4_x86_64.raw
833140  centos-6.4_x86_64.raw

use disk

$ sudo kpartx -va centos-6.4_x86_64.raw
$ sudo mount /dev/mapper/loop0p1 /mnt/

$ sudo rsync -vx --progress centos-6.4_x86_64.raw /mnt/

$ sudo kpartx -vd centos-6.4_x86_64.raw
$ sudo umount /mnt

2. do tar

tar keeping sparse

$ tar Scvf centos-6.4_x86_64.raw.tar centos-6.4_x86_64.raw
centos-6.4_x86_64.raw

show size

$ ls -l centos-6.4_x86_64.raw*
-rw-r--r-- 1 root    root    5368709120 Oct 19 10:35 centos-6.4_x86_64.raw
-rw-r--r-- 1 hansode hansode 1468528640 Oct 19 10:36 centos-6.4_x86_64.raw.tar
$ du centos-6.4_x86_64.raw*
4121560 centos-6.4_x86_64.raw
1434116 centos-6.4_x86_64.raw.tar

3. untar

$ mv -i centos-6.4_x86_64.raw _centos-6.4_x86_64.raw
$ tar xvf centos-6.4_x86_64.raw.tar
centos-6.4_x86_64.raw

after size

$ ls -l *.raw
-rw-r--r-- 1 root    root    5368709120 Oct 19 10:35 _centos-6.4_x86_64.raw
-rw-r--r-- 1 hansode hansode 5368709120 Oct 19 10:35 centos-6.4_x86_64.raw

$ du *.raw
4121560 _centos-6.4_x86_64.raw
1587032 centos-6.4_x86_64.raw

$ du -h *.raw
4.0G    _centos-6.4_x86_64.raw
1.6G    centos-6.4_x86_64.raw
$ time cp --sparse=always _centos-6.4_x86_64.raw centos-6.4_x86_64.with-cp.raw

real    0m29.283s
user    0m0.482s
sys     0m3.074s
$ ls -l *.raw
-rw-r--r-- 1 root    root    5368709120 Oct 19 10:35 _centos-6.4_x86_64.raw
-rw-r--r-- 1 hansode hansode 5368709120 Oct 19 10:35 centos-6.4_x86_64.raw
-rw-r--r-- 1 hansode hansode 5368709120 Oct 19 11:01 centos-6.4_x86_64.with-cp.raw
$ du -h *.raw
4.0G    _centos-6.4_x86_64.raw
1.6G    centos-6.4_x86_64.raw
1.6G    centos-6.4_x86_64.with-cp.raw
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment