borg-upgrade(1) borg backup tool borg-upgrade(1)

borg-upgrade - ارتقای یک مخزن از نسخه‌ای قبلی

borg [گزینه‌های عمومی] upgrade [گزینه‌ها] [REPOSITORY]

ارتقای یک مخزن موجود و محلی Borg.

هر تغییری مستلزم اجرای borg upgrade نیست.

شما نیازی به اجرای آن ندارید هنگامی که:

  • انتقال مخزن خود به مکانی دیگر
  • ارتقا به یک نسخه جزئی دیگر (مانند 1.0.x به 1.0.y)، مگر اینکه در گزارش تغییرات خلاف آن ذکر شده باشد
  • ارتقا از 1.0.x به 1.1.x، مگر اینکه در گزارش تغییرات خلاف آن ذکر شده باشد

احراز اصالت TAM آرشیو:

از دستور borg upgrade --archives-tam REPO برای افزودن TAM آرشیو به تمام آرشیوهایی که هنوز با TAM اصالت‌سنجی نشده‌اند استفاده کنید. این روشی آسان برای اعتماد به تمامی آرشیوهای موجود است - اگر آرشیوی هنوز اصالت‌سنجی TAM نداشته باشد، یک TAM به آن افزوده می‌شود. آرشیوهای ایجاد شده توسط نسخه‌های قدیمی borg قبل از 1.0.9 دارای TAM نیستند. آرشیوهای ایجاد شده توسط نسخه‌های جدیدتر borg قاعدتاً باید از قبل دارای TAM باشند. اگر محیطی با ریسک بالا دارید، نباید صرفاً این دستور را اجرا کنید، بلکه ابتدا باید بررسی کنید که آرشیوها اصیل و غیرمخرب باشند (دارای محتوای درست و برچسب زمانی صحیح باشند). نسخه Borg 1.2.5 به بعد بنا به دلایل امنیتی نیازمند آن است که تمام آرشیوها با TAM اصالت‌سنجی شده باشند.

این ارتقا باید یک بار به ازای هر مخزن انجام شود.

احراز اصالت TAM مانیفست:

از دستور borg upgrade --tam REPO برای الزام احراز اصالت مانیفست که در Borg 1.0.9 جهت رفع آسیب‌پذیری‌های امنیتی معرفی شد، استفاده کنید. این بدان معناست که اصلاح مخزن پس از این عمل با نسخه‌ای قبل از 1.0.9 خطای اعتبارسنجی ایجاد خواهد کرد؛ بنابراین این ارتقا را تنها پس از به‌روزرسانی کلیه کلاینت‌های استفاده‌کننده از مخزن به نسخه 1.0.9 یا جدیدتر انجام دهید.

این ارتقا باید به دلایل امنیتی روی هر کلاینت انجام شود.

اگر مخزنی پس از این ارتقا تصادفاً توسط کلاینتی با نسخه قبل از 1.0.9 دستکاری شد، از borg upgrade --tam --force REPO برای رفع آن استفاده کنید.

اگر مرتباً چنین کاری انجام می‌دهید، ممکن است نخواهید این ارتقا را فعال کنید (که شما را در معرض مسئله امنیتی قرار می‌دهد). می‌توانید با اجرای borg upgrade --disable-tam REPO ارتقا را بازگردانید.

برای جزئیات بیشتر ببینید: https://borgbackup.readthedocs.io/en/stable/changes.html#pre-1-0-9-manifest-spoofing-vulnerability

این قابلیت در حال حاضر از تبدیل مخزن Attic به Borg پشتیبانی می‌کند و همچنین به تبدیل Borg 0.xx به 1.0 یاری می‌رساند.

در حال حاضر، تنها مخازن محلی (LOCAL) قابل ارتقا هستند (مورد #465).

لطفاً توجه داشته باشید که borg create (از نسخه 1.0.0) به‌طور پیش‌فرض از تکه‌های (chunks) بزرگ‌تری نسبت به نسخه‌های قدیمی borg یا attic استفاده می‌کند، بنابراین تکه‌های جدید با تکه‌های قدیمی در مخزن ارتقایافته تجمیع و بازشناسی تکراری (deduplicate) نخواهند شد. گزینه --chunker-params از دستورات borg create و borg recreate را ببینید.

دستور borg upgrade رشته‌های جادویی (magic strings) موجود در بخش‌های مخزن را تغییر می‌دهد تا با رشته‌های جادویی جدید Borg مطابقت یابد. فایل‌های کلید یافت‌شده در $ATTIC_KEYS_DIR یا ~/.attic/keys/ نیز تبدیل شده و به $BORG_KEYS_DIR یا ~/.config/borg/keys کپی خواهند شد.

فایل‌های کَش از $ATTIC_CACHE_DIR یا ~/.cache/attic به $BORG_CACHE_DIR یا ~/.cache/borg تبدیل می‌شوند، اما ساختار حافظه موقت بین Borg و Attic تغییر یافته است، بنابراین ممکن است نخستین نسخه پشتیبان پس از تبدیل به دلیل همگام‌سازی مجدد کَش بیش از حد معمول زمان ببرد.

فرایند ارتقا در صورت توقف باید قادر به ادامه باشد، هرچند همچنان در تمام بخش‌ها پیمایش خواهد کرد. اگر می‌خواهید از ابتدا شروع کنید، از borg delete بر روی مخزن کپی‌شده استفاده کنید تا از حذف فایل‌های حافظه پنهان نیز اطمینان حاصل شود:

borg delete borg

مگر در حالتی که --inplace مشخص شده باشد، فرایند ارتقا ابتدا یک نسخه پشتیبان از مخزن با استفاده از پیوندهای سخت (hardlinks) در REPOSITORY.before-upgrade-DATETIME ایجاد می‌کند. این امر مستلزم آن است که مخزن و دایرکتوری والد آن روی یک فایل‌سیستم قرار داشته باشند تا کپی پیوند سخت کار کند. این کار بیشتر از ارتقای درجا زمان می‌برد، اما بسیار امن‌تر است و اطلاعات پیشرفت را ارائه می‌دهد (برخلاف cp -al). پس از اطمینان از صحت تبدیل، می‌توانید با خیال راحت نسخه پشتیبان را حذف کنید.

هشدار: اجرای ارتقا به‌صورت درجا (in-place) نسخه فعلی را برای نسخه‌های قدیمی‌تر غیرقابل استفاده می‌کند، بدون هیچ راه بازگشتی به نسخه‌های پیشین. این کار می‌تواند به‌طور دائم به مخزن شما آسیب بزند! نرم‌افزار Attic نمی‌تواند مخازن BORG را بخواند، زیرا رشته‌های جادویی تغییر کرده‌اند. قبلاً به شما هشدار داده شده است.

برای گزینه‌های عمومی دستورات Borg به borg-common(1) مراجعه کنید.

مسیر مخزنی که باید ارتقا یابد

تغییری در مخزن ایجاد نشود
بازنویسی مخزن درجا، بدون امکان بازگشت به نسخه‌های قدیمی‌تر مخزن.
ارتقای اجباری
فعال‌سازی احراز اصالت مانیفست (در کلید و کَش) (Borg 1.0.9 و جدیدتر).
بررسی احراز اصالت مانیفست (در کلید و کَش).
غیرفعال‌سازی احراز اصالت مانیفست (در کلید و کَش).
بررسی احراز اصالت TAM برای تمام آرشیوها.
افزودن احراز اصالت TAM برای تمام آرشیوها.

# ارتقای مخزن borg به تازه‌ترین نسخه.
$ borg upgrade -v /path/to/repo
making a hardlink copy in /path/to/repo.before-upgrade-2016-02-15-20:51:55
opening attic repository with borg and converting
no key file found for repository
converting repo index /path/to/repo/index.0
converting 1 segments...
converting borg 0.xx to borg current
no key file found for repository

نرم‌افزار Attic حالت رمزگذاری "passphrase" را ارائه می‌داد، اما این حالت در Borg 1.0 حذف شد و با حالت "repokey" جایگزین گردید (که کلید رمزگذاری محافظت‌شده با عبارت عبور را در پیکربندی مخزن ذخیره می‌کند).

بنابراین، برای ارتقای یک مخزن "passphrase" نرم‌افزار Attic به مخزن "repokey" در Borg، دو گام به ترتیب زیر لازم است:

  • borg upgrade repo
  • borg key migrate-to-repokey repo

borg-common(1)

The Borg Collective

2026-07-18