Co jsou řídké soubory
Řídké soubory jsou soubory, kterým je předem přiděleno velké množství místa, aniž by zabíraly celé množství ze souborového systému. Jsou užitečné mimo jiné pro snížení množství času a místa na disku při vytváření souborových systémů smyčky nebo obrazů velkých disků pro virtualizované hosty. Řídké soubory se běžně používají pro obrazy disků, snímky databáze, soubory protokolu atd.
Výhoda řídkých souborů
Výhoda řídkých souborů spočívá v tom, že úložiště je přidělováno pouze tehdy, když je skutečně potřeba:šetří se místo na disku a lze vytvářet velké soubory, i když v systému souborů není dostatek volného místa.
Nevýhoda řídkých souborů
Nevýhody jsou, že řídké soubory se mohou fragmentovat. Hlášení volného místa v souborovém systému mohou být zavádějící a kopírování řídkého souboru pomocí programu, který je výslovně nepodporuje, může zkopírovat celou, nekomprimovanou velikost souboru, včetně řídkých, většinou nulových částí, které nejsou na disku – ztráta výhod vlastnosti sparse v souboru.
Toto chování můžeme vidět u souboru /var/log/lastlog.
# ls -lh /var/log/lastlog -rw-r--r--. 1 root root 286K Dec 3 04:50 /var/log/lastlog # du -sh /var/log/lastlog 12K /var/log/lastlog
vytváření řídkých souborů
1. Řídké soubory lze vytvářet pomocí „dd „hledat příkazu ‘ možnost.
# dd if=/dev/zero of=sparse_file bs=1 count=0 seek=512M 0+0 records in 0+0 records out 0 bytes (0 B) copied, 0.000213705 s, 0.0 kB/s
# ls -hl sparse_file -rw-r--r--. 1 root root 512M Dec 3 05:51 sparse_file
# du -sh sparse_file 0 sparse_file
2. Pro zobrazení využití disku souborem pomocí příkazu „ls“ můžeme použít „-s ” možnost:
# ls -lhs sparse_file 0 -rw-r--r--. 1 root root 512M Dec 3 05:51 sparse_file
3. Chcete-li vidět zdánlivou velikost souboru pomocí „du“, můžeme použít „–apparent-size ” možnost:
# du -h --apparent-size sparse_file 512M sparse_file
Jak zkopírovat řídký soubor
Kopírování řídkého souboru pomocí programu, který je výslovně nepodporuje, může zkopírovat celou, nekomprimovanou velikost souboru, včetně řídkého souboru. Takže když zkopírujete řídký soubor pomocí příkazu cp, cílový soubor se změní na plně alokovaný soubor. Chcete-li zkopírovat řídký soubor a zachovat cílovou kopii jako řídký soubor, použijte některý z níže uvedených příkazů.
# cp --sparse=always source_file new_file # rsync --sparse source_file new_file # cpio --sparse # tar --sparse