bup-damage - véletlenszerűen semmisítse meg a fájl blokkjait
bup damage [-n count] [-s maxsize] [--percent pct] [-S seed] [--equal] <filenames...>
Használjon bup sebzést a .pack vagy .idx fájl blokkjainak szándékos megsemmisítésére (a .bup/objects/pack fájlból), hogy tesztelje a bup-fsck(1) vagy más programok helyreállítási funkcióit.
EZ A PROGRAM RENDKÍVÜL VESZÉLYES, ÉS MEGSEMMISÍTI ADATOIT
A bup-kár elsősorban az adat-helyreállító eszközök automatizált vagy manuális tesztelésekor hasznos, hogy megbizonyosodjon arról, hogy az eszközök valóban működnek.
az egyes fájlokban megsérülendő különálló blokkok száma (alapértelmezett 10). Vegye figyelembe, hogy előfordulhat, hogy egynél több sérült szegmens ugyanabba a bup-fsck(1) helyreállítási blokkba kerül, így előfordulhat, hogy nem sérül annyi helyreállítási blokk, amennyit vár. Ha ez probléma, használja az --equal-t.
az egyes sérült blokkok maximális mérete bájtban (alapértelmezett 1, hacsak nincs megadva a --percent). Ne feledje, hogy a bup-fsck(1) működése miatt egy többbájtos blokk a két helyreállítási blokk határára eshet, és így két különálló helyreállítási blokkot károsíthat. Kis fájlok esetén az is előfordulhat, hogy a sérült blokk nagyobb, mint egy helyreállítási blokk. Ha ezek a problémák problémát jelenthetnek, használja az alapértelmezett, egy bájtos kárméretet.
az egyes sérült blokkok maximális mérete az eredeti fájl százalékában. Ha a --size és --percent is adott, a maximális blokkméret a két korlátozás közül a legkisebb. Ezzel biztosíthatja, hogy egy adott blokk soha ne sértsen meg egy vagy két git-fsck(1) helyreállítási blokknál többet.
a véletlenszám-generátort a megadott értékkel vetjük be. Ha ezt az opciót használja, a tesztek megismételhetők, mivel a sérült blokk eltolása, mérete és tartalma minden alkalommal ugyanaz lesz. Alapértelmezés szerint a véletlen számok minden alkalommal eltérőek (így a teszteket ciklusban futtathatja, és ismételten tesztelheti minden alkalommal más sérülésekkel).
ahelyett, hogy véletlenszerű eltolásokat választana minden egyes sérült blokkhoz, egyenlően helyezze el a blokkokat az egész fájlban, 0-tól kezdve. Ha megfelelő maximális blokkméretet is választ, ez garantálhatja, hogy egy adott sebzési blokk soha ne sérüljön meg egynél több git-fsck(1) helyreállítási blokknál. (Ez akkor is garantált, ha -s 1-et használ.)
# make a backup in case things go horribly wrong
cp -pPR ~/.bup/objects/pack ~/bup-packs.bak
# generate recovery blocks for all packs
bup fsck -g
# deliberately damage the packs
bup damage -n 10 -s 1 -S 0 ~/.bup/objects/pack/*.{pack,idx}
# recover from the damage
bup fsck -rbup-fsck(1), par2(1)
A bup(1) programcsomag része.
Avery Pennarun