Portál AbcLinuxu, 5. května 2025 23:26
cd/ mkdir /bk mount /dev/sdb1 /bk dd if=/dev/sda of=/bk/hdd_old.dd /conv=noerror,notrunc,syncPodobně bych udělal i nový systém. Teď jde o to, jaká bude velikost výstupního obrazu. Správně by se měla rovnat velikosti sda, ale nejde na to použít komprimace?
Řešení dotazu:
dd if=/dev/sda | gzip > /bk/hdd_old.dd
A dobré je vytvořit před tím na zdrojovém disku velký soubor s nulama (dd if=/dev/zero bs=1M of=/zero), aby se volné místo dobře komprimovalo.
tar cS /odkud | gzip > /kam.tar.gz
tar xpf zaloha.tar.gz
Doporučuji zhruba něco takového:
cat /dev/zero > /path/to/huge_zero_file
# a nechat tohle běžet, dokud to neselže kvůli obsazenosti diskusync; rm /path/to/huge_zero_file
cat /dev/sda | pbzip2 > /bk/image
Zaplnění neobsazeného prostoru nulami kompresi hodně pomůže. Ale pokud jde o nouzovou zálohu selhávajícího disku, je lepší kroky s nulami vynechat. Paralelní bzip (pbzip2
) bude na dnešním hardware výrazně rychlejší než jednovláknový.
Pak ještě taky xz
slibuje paralelní verzi (a zmiňuje se o ní v manuálové stránce), jen si nejsem jistý, jestli už opravdu existuje. Z hlediska kompresního poměru umí porazit gzip i bzip.
Paralelní bzip (pbzip2
) bude na dnešním hardware výrazně rychlejší než jednovláknový.
ted koukam, ze lepe na tom je lbzip2
, na 6 skutecnych jadrech komprimuje 5.7x rychleji, kdezto pbzip2 jen 4.4x
Díky za tip, to musím vyzkoušet.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.