| bup-damage(1) | General Commands Manual | bup-damage(1) |
نام (NAME)
bup-damage - تخریب تصادفی بلوکهای یک فایل برای آزمایش تابآوری پشتیبان
خلاصه دستور (SYNOPSIS)
bup damage [-n count] [-s maxsize] [--percent pct] [-S seed] [--equal] <filenames...>
توضیحات (DESCRIPTION)
از bup damage برای تخریب عمدی بلوکها در یک فایل .pack یا .idx (از مسیر .bup/objects/pack) جهت آزمایش ویژگیهای بازیابی bup-fsck(1) یا سایر برنامهها استفاده کنید.
این برنامه به شدت خطرناک است و دادههای شما را از بین خواهد برد
دستور bup damage در درجه اول برای آزمایشهای خودکار یا دستی ابزارهای بازیابی داده مفید است، تا اطمینان حاصل کنید که این ابزارها در عمل واقعاً کار میکنند.
توجه داشته باشید که جزئیات رفتار فعلی ممکن است تغییر کند (بهویژه جزئیاتی که در اینجا مستند نشدهاند). به عنوان مثال در حال حاضر، تخریب کاملاً احتمالی است، بنابراین ممکن است در عمل هر بلوک مشخصی را تغییر دهد یا ندهد. با اندازه بلوک ۱، احتمال ۱/۲۵۶ وجود دارد که بلوک در عمل تغییر نکند. این رفتار ممکن است تغییر کند.
گزینهها (OPTIONS)
- -n, --num=numblocks
- تعداد بلوکهای مجزا برای تخریب در هر فایل (پیشفرض ۱۰). توجه داشته باشید که ممکن است بیش از یک بخش آسیبدیده در همان بلوک بازیابی bup-fsck(1) قرار گیرد، بنابراین ممکن است به تعداد بلوکهای بازیابی که انتظار دارید آسیب نرسد. اگر این مسئله مشکلساز است، از --equal استفاده کنید.
- -s, --size=maxblocksize
- حداکثر اندازه هر بلوک آسیبدیده بر حسب بایت (پیشفرض ۱ مگر اینکه --percent مشخص شده باشد). توجه داشته باشید به دلیل نحوه عملکرد bup-fsck(1)، یک بلوک چندبایتی ممکن است روی مرز میان دو بلوک بازیابی قرار گیرد و در نتیجه به دو بلوک بازیابی مجزا آسیب برساند. در فایلهای کوچک، این احتمال نیز وجود دارد که یک بلوک آسیبدیده بزرگتر از یک بلوک بازیابی باشد. اگر این موارد ممکن است مشکلساز شوند، باید از اندازه تخریب پیشفرض یعنی یک بایت استفاده کنید.
- --percent=maxblockpercent
- حداکثر اندازه هر بلوک آسیبدیده، بر حسب درصدی از فایل اصلی. اگر هر دو گزینه --size و --percent داده شوند، حداکثر اندازه بلوک، کمترین مقدار از بین این دو محدودیت خواهد بود. میتوانید از این گزینه استفاده کنید تا اطمینان حاصل شود که یک بلوک معین هرگز به بیش از یک یا دو بلوک بازیابی git-fsck(1) آسیب نمیرساند.
- -S, --seed=randomseed
- مقداردهی اولیه مولد اعداد تصادفی (seed) با مقدار ارائهشده. اگر از این گزینه استفاده کنید، آزمایشهای شما تکرارپذیر خواهند بود، زیرا آفستها، اندازهها و محتویات بلوکهای آسیبدیده در هر بار اجرا یکسان خواهند بود. بهطور پیشفرض، اعداد تصادفی در هر بار اجرا متفاوت هستند (بنابراین میتوانید آزمایشها را در یک حلقه اجرا کرده و هر بار با آسیبهای متفاوتی آزمایش کنید).
- --equal
- به جای انتخاب آفستهای تصادفی برای هر بلوک آسیبدیده، بلوکها را با فاصلههای مساوی در سراسر فایل، با شروع از آفست ۰ قرار میدهد. اگر اندازه حداکثر بلوک را نیز به درستی انتخاب کنید، این میتواند تضمین کند که هر بلوک آسیبدیده معین هرگز به بیش از یک بلوک بازیابی git-fsck(1) آسیب نمیزند. (این امر همچنین در صورت استفاده از -s 1 تضمین میشود).
مثالها (EXAMPLES)
-
# تهیه یک نسخه پشتیبان در صورتی که همه چیز به شدت خراب شود cp -pPR ~/.bup/objects/pack ~/bup-packs.bak # تولید بلوکهای بازیابی برای تمام بستهها bup fsck -g # تخریب عمدی بستهها bup damage -n 10 -s 1 -S 0 ~/.bup/objects/pack/*.{pack,idx} # بازیابی پس از آسیب bup fsck -r
همچنین ببینید (SEE ALSO)
bup-fsck(1), par2(1)
درباره BUP (BUP)
بخشی از مجموعه bup(1).
نویسندگان (AUTHORS)
Avery Pennarun apenwarr@gmail.com.
| 2026-09-01 | Bup 0.34+ |