bup-validate-refs(1) General Commands Manual bup-validate-refs(1)

bup-validate-refs - بررسی صحت و یکپارچگی ارجاعات مخزن

bup validate-refs [--links] [--bupm] [ref...]

دستور bup validate-refs می‌تواند ارجاعات مخزن (refها، مانند شاخه‌ها (مجموعه‌های پشتیبان) یا ذخیره‌ها) را برای یافتن کامیت‌ها یا درخت‌هایی (دایرکتوری‌هایی) که به اشیای ناموجود ارجاع می‌دهند، و همچنین فایل‌های آسیب‌دیده bupm (محل ذخیره فراداده) بررسی کند و مسیرهای موارد یافت‌شده را گزارش نماید. اگر هیچ refی ارائه نشود، تمامی ارجاعات را بررسی می‌کند؛ در غیر این صورت، تنها ارجاعات مشخص‌شده را بررسی خواهد کرد. اگر هیچ نوع بررسی به‌صورت صریح درخواست نشود، مجموعه‌ای پیش‌فرض از بررسی‌ها انجام خواهد شد که در حال حاضر شامل --links و --bupm است؛ و در صورت مشاهده مشکلات، ممکن است گزینه --repair در bup-get(1) بتواند کمک‌کننده باشد.

دستور validate-refs هر آنچه را که از یک شاخه یا ذخیره مشخص قابل دسترسی باشد بررسی می‌کند، که شامل تمامی ذخیره‌های پیش از آن نیز می‌شود. بخش «مثال‌ها» را در ادامه ببینید.

بررسی وجود اشیا تنها به نمایه‌های مخزن مراجعه می‌کند؛ این دستور تلاشی برای خواندن مستقیم اشیا نمی‌کند، بنابراین ممکن است توسط یک نمایه نادرست گمراه شود.

در حال حاضر، اطلاعات مسیرهای آسیب‌دیده تنها در خروجی خطای استاندارد ثبت می‌شود و ساختار مشخصی ندارد (یعنی برای بررسی چشمی مناسب است، اما برای تجزیه خودکار مناسب نیست).

همچنین توجه داشته باشید که پیاده‌سازی فعلی ممکن است تمام مسیرهای منتهی به یک شیء ناموجود را گزارش نکند، زیرا هر شیء یکتای درخت یا کامیت را صرف‌نظر از تعداد دفعات تکرار آن در ارجاعات مورد بررسی، تنها یک بار ارزیابی می‌کند. این بدان معناست که به عنوان مثال، برای یافتن تک‌تک ذخیره‌های دارای اشیای ناموجود، لازم است دستور را به‌صورت جداگانه برای هر ارجاع اجرا کنید؛ اجرایی که تقریباً با اطمینان بسیار پرهزینه‌تر از یک اجرای ترکیبی خواهد بود، زیرا دیگر نمی‌تواند زیردرخت‌هایی را که قبلاً مشاهده کرده نادیده بگیرد.

بررسی فایل‌های bupm (محل ذخیره فراداده). در حال حاضر مسیرهای ناموجود را بررسی می‌کند، مشکلی که ممکن است توسط نسخه‌های bup از 0.25 و قبل از 0.30.1 ایجاد شده باشد. ممکن است اشیای ناموجود را متوجه شود، اما بدون --links شاید نتواند تمامی آن‌ها را بیابد. برای اطلاعات تکمیلی بخش REPAIRS در bup-get(1) را ببینید.
بررسی کامیت‌ها یا درخت‌هایی که به اشیای ناموجود ارجاع دارند. همچنین می‌توان از این دستور برای اعتبارسنجی سریع‌تر یک ذخیره نسبت به تلاش برای بازیابی (restore) یا هدایت (join) ذخیره به /dev/null استفاده کرد، و برای چندین ذخیره مرتبط سرعت بسیار بالاتری دارد؛ هرچند تنها وجود داده‌های برگ (blob) را بررسی می‌کند و تلاشی برای خواندن آن داده‌ها انجام نمی‌دهد.

# بررسی --links و --bupm برای تمام ارجاعات
$ bup validate-refs
# بررسی --links برای archives/2025-01-01-030405 و
# تمام ذخیره‌های پیش از آن.
$ bup validate-refs --links archives/2025-01-01-030405

وضعیت خروج در صورت یافتن هرگونه پیوند آسیب‌دیده 1، در صورت عدم وجود مشکل 0، و برای سایر خطاها یک عدد صحیح مثبت دیگر خواهد بود.

bup-fsck(1)، bup-get(1)، bup-join(1)، bup-restore(1)

بخشی از مجموعه bup(1).

Rob Browning rlb@defaultvalue.org.

2026-09-01 Bup 0.34+