Sparse files: Porovnání verzí
Skočit na navigaci
Skočit na vyhledávání
(Založena nová stránka s textem „Show file size: ls -lh file Show file real size: du -sh file ==Copy over network== ===rsync=== rsync -aS file user@host:/dir =External links= * [h…“) |
|||
(Není zobrazeno 5 mezilehlých verzí od stejného uživatele.) | |||
Řádek 1: | Řádek 1: | ||
==Create sparse file== |
|||
⚫ | |||
ls -lh file |
|||
<source lang="bash">truncate -s 10G ./file</source> |
|||
⚫ | |||
du -sh file |
|||
==Copy locally== |
|||
===cp=== |
|||
<source lang="bash">cp from to</source> |
|||
===dd=== |
|||
<source lang="bash">dd if=srcFile of=dstFile iflag=direct oflag=direct bs=64K conv=sparse</source> |
|||
⚫ | |||
===ls=== |
|||
Show real size and logical file size: |
|||
<source lang="bash">ls -lhs file</source> |
|||
===du=== |
|||
⚫ | |||
<source lang="bash">du -sh file</source> |
|||
==Copy over network== |
==Copy over network== |
||
Řádek 9: | Řádek 25: | ||
===rsync=== |
===rsync=== |
||
Without compression all data are transferred over network even the file is sparse. |
|||
<source lang="bash">rsync -aS --progress file user@host:/dir</source> |
|||
With compression speed depends more on CPU performance as all data needs to be compressed. Sparse space is well compressed and transferred data greatly reduced. The data which can't be well compressed are transferred slower than without compression. |
|||
<source lang="bash">rsync -aSz --progress file user@host:/dir</source> |
|||
==Reclaim space on ext4 image== |
|||
Mount old image as loopback device: |
|||
<source lang="bash">mount old.raw /mnt/old</source> |
|||
Get size of the file: |
|||
<source lang="bash">ls -l old.raw</source> |
|||
Create second sparse image file with the same size: |
|||
<source lang="bash">truncate -s <size> new.raw</source> |
|||
Format it with ext4 file system: |
|||
<source lang="bash">mkfs.ext4 new.raw</source> |
|||
Mount new image as loopback device: |
|||
<source lang="bash">mount new.raw /mnt/new</source> |
|||
Synchronize entire disk: |
|||
<source lang="bash">rsync -aSAXv /mnt/old/ /mnt/new</source> |
|||
Unmount disks: |
|||
<source lang="bash">umount /mnt/old |
|||
umount /mnt/new</source> |
|||
=External links= |
=External links= |
Aktuální verze z 24. 9. 2023, 11:50
Create sparse file
truncate -s 10G ./file
Copy locally
cp
cp from to
dd
dd if=srcFile of=dstFile iflag=direct oflag=direct bs=64K conv=sparse
Show real size
ls
Show real size and logical file size:
ls -lhs file
du
Show real file size:
du -sh file
Copy over network
rsync
Without compression all data are transferred over network even the file is sparse.
rsync -aS --progress file user@host:/dir
With compression speed depends more on CPU performance as all data needs to be compressed. Sparse space is well compressed and transferred data greatly reduced. The data which can't be well compressed are transferred slower than without compression.
rsync -aSz --progress file user@host:/dir
Reclaim space on ext4 image
Mount old image as loopback device:
mount old.raw /mnt/old
Get size of the file:
ls -l old.raw
Create second sparse image file with the same size:
truncate -s <size> new.raw
Format it with ext4 file system:
mkfs.ext4 new.raw
Mount new image as loopback device:
mount new.raw /mnt/new
Synchronize entire disk:
rsync -aSAXv /mnt/old/ /mnt/new
Unmount disks:
umount /mnt/old
umount /mnt/new