.\" Automatically generated by Pandoc 3.10.2 .\" .TH "bup\-config" "5" "2026\-09\-01" "Bup 0.34+" .SH "نام (NAME)" bup\-config \- گزینه‌های پیکربندی bup .SH "توضیحات (DESCRIPTION)" گزینه‌های زیر ممکن است در پیکربندی مربوطه \f[CR]git\f[R] (\f[CR]git\-config(1)\f[R]) تنظیم شوند. برای نمونه: .IP .EX git \-\-git\-dir=\(dq$BUP_DIR\(dq config bup.split.trees true .EE .SH "گزینه‌ها (OPTIONS)" .TP bup.repo.id در صورت تعیین، شناسه‌ای برای مخزن است که باید در میان تمام مخازن موجود یکتا باشد. از آنجا که این شناسه در حال حاضر در مسیرهای سیستم‌فایل استفاده می‌شود، باید تنها شامل نویسه‌های درون این گیومه‌ها باشد: \(lq0123456789_\-\(rq، \(lqABCDEFGHIJKLMNOPQRSTUVWXYZ\(rq و \(lqabcdefghijklmnopqrstuvwxyz\(rq. همچنین دو شناسه مخزن نباید تنها در بزرگی و کوچکی حروف با یکدیگر تفاوت داشته باشند (\(lqsomething\(rq در برابر \(lqSOMETHING\(rq)، مگر آنکه تمام سیستم‌فایل‌های مربوطه به حروف بزرگ و کوچک حساس باشند. .RS اکنون \f[CR]bup init\f[R] هنگام ایجاد مخازن جدید یا بازخوانی مخازن موجودی که فاقد \f[CR]bup.repo.id\f[R] هستند یک شناسه تصادفی اضافه می‌کند؛ بنابراین می‌توانید با اجرای دوباره \f[CR]bup init\f[R] یک شناسه به مخازنی که پیش از مرسوم شدن این ویژگی ایجاد شده‌اند اضافه کنید. اگر شناسه اختصاصی خود را تعیین می‌کنید، برای اطمینان از یکتایی، گنجاندن محتوای تصادفی را مد نظر قرار دهید. نکته: همیشه باید شناسه یک مخزن کپی‌شده را تغییر دهید (مثلاً به صورت محلی از طریق \f[CR]cp\f[R](1) یا میان میزبان‌ها از طریق \f[CR]rsync\f[R](1))، زیرا شناسه‌های تکراری در حداقل حالت می‌توانند مشکلات عملکردی چشمگیری ایجاد کنند. .RE .TP bup.server.deduplicate\-writes (پیش‌فرض \f[CR]true\f[R]) هنگامی که روی \f[CR]true\f[R] تنظیم باشد، \f[CR]bup\-server\f[R](1) هر شیء دریافتی را با ایندکس محلی خود تطبیق می‌دهد و در صورتی که شیء از پیش وجود داشته باشد، سرور به کلاینت پیشنهاد می‌کند که فایل \f[CR]*.idx\f[R] شامل آن شیء را بارگیری کند تا از ارسال داده‌های تکراری جلوگیری شود. .RS هنگامی که روی false باشد، سرور قبل از نوشتن اشیاء، ایندکس محلی خود را بررسی نمی‌کند. برای جلوگیری از نوشتن اشیاء تکراری، سرور در ابتدای نشست به کلاینت اعلام می‌کند که تمام فایل‌های \f[CR]*.idx\f[R] خود را بارگیری کند. این حالت در سرورهایی با سخت‌افزار محدودتر (مانند روترها، دستگاه‌های ذخیره‌ساز تحت شبکه یا NAS کُند و غیره) کاربردی است. اگر مقداری تنظیم نشده باشد و فایل \f[CR]$BUP_DIR/dumb\-server\-mode\f[R] وجود داشته باشد، \f[CR]bup\f[R] به‌گونه‌ای عمل می‌کند که گویی این تنظیم روی \f[CR]false\f[R] قرار دارد. .RE .TP bup.split.files (پیش‌فرض \f[CR]legacy:13\f[R]) روشی که برای تقسیم داده‌ها جهت حذف افزونگی استفاده می‌شود، برای نمونه توسط \f[CR]bup save\f[R] یا \f[CR]bup split\f[R]. معمولاً نباید پس از افزودن هرگونه داده به مخزن تغییر داده شود (پایین را ببینید). .RS این گزینه میزان \(lqریزدانگی\(rq (granularity) حذف افزونگی را مشخص می‌کند و مقادیر بزرگ‌تر به طور میانگین تکه‌های بزرگ‌تری تولید می‌کنند. مقدار باید رشته‌ای مانند \f[CR]legacy:N\f[R] باشد که در آن عدد صحیح \f[CR]N\f[R] باید بزرگ‌تر از 12 و کوچک‌تر از 22 باشد. مقدار پیش‌فرض 13 سازگاری رو به عقب را فراهم می‌کند، اما توصیه می‌شود برای مخازن بزرگ‌تر افزایش یابد. \f[CR]N\f[R] تعداد بیت‌های ثابت در الگوریتم hash\-split را مشخص می‌کند که با یک شدن همه آن‌ها مرز یک تکه تولید می‌شود، و در نتیجه اندازه میانگین اشیاء بدون افزونگی را تعیین می‌کند. این یک مصالحه میان کارایی حذف افزونگی (بیت‌های کمتر به معنی حذف افزونگی بهتر) در برابر مقدار متاداده نگهداری‌شده روی دیسک و میزان مصرف رم در طول عملیات‌های مخزن است (بیت‌های بیشتر یعنی اشیاء کمتر، فضای متاداده کمتر و مصرف رم کمتر). اندازه مورد انتظار برای میانگین یک بلاب (blob) برابر با 2\(habits (1 << bits) است. تغییری به اندازه کافی کوچک در یک فایل موجب ذخیره همین مقدار داده جدید (به همراه متاداده درخت) خواهد شد. حداکثر اندازه بلاب چهار برابر این مقدار است. مقدار پیش‌فرض سنتی \f[CR]legacy:13\f[R] احتمالاً برای بسیاری از مخازن فعلی کوچک است. همان‌طور که در بالا گفته شد، تنظیم مقدار بالاتر باید حافظه رم مورد نیاز برای بسیاری از عملیات‌ها را به ازای هر افزایش تقریباً به ضریب دو کاهش دهد و در عین حال اندازه مخزن را نیز مقداری افزایش دهد (زیرا پتانسیل حذف افزونگی کمتری را فراهم می‌کند)، اما این اثر به داده‌های ذخیره‌شده در مخزن (اندازه فایل‌ها، نرخ حذف افزونگی و غیره) بستگی دارد. اگر فضا و زمان لازم را دارید، همیشه می‌توانید با مقایسه \f[CR]bup get \-\-rewrite\f[R] روی مخازن جدید با تنظیمات گوناگون، مقادیر مختلف را برای داده‌های خود بیازمایید. \f[CR]legacy\f[R] به روش کنونی تقسیم اشاره دارد که دارای یک رفتار خاص ناخواسته اما بی‌ضرر است. برای جزئیات بیشتر به بخش DESIGN در درخت سورس‌کد مراجعه کنید. \f[I]نکته:\f[R] تغییر این مقدار در یک مخزن موجود موجب تکثیر و تکرار داده‌ها خواهد شد زیرا مرزهای تقسیم تغییر می‌کنند، بنابراین ذخیره‌سازی‌های بعدی نسبت به داده‌های موجود حذف افزونگی نخواهند شد؛ بلکه صرفاً داده‌ها دوباره ذخیره می‌شوند. \f[I]نکته:\f[R] همانند \f[CR]bup.split.trees\f[R] در زیر (نکته را ببینید)، استفاده از یک ایندکس مشترک برای مخازنی با تنظیمات متفاوت \f[CR]bup.split.files\f[R] باعث خواهد شد که بهینه‌سازی‌های ایندکس به درستی عمل نکنند، و در نتیجه \f[CR]bup save\f[R] مجبور خواهد شد فایل‌هایی را که دستخوش تغییر نشده‌اند مجدداً به طور کامل بازخوانی کند که این امر هزینه‌بر است. .RE .TP bup.split.trees هنگامی که این گزینه منطقی روی true تنظیم شده باشد، \f[CR]bup\f[R] تلاش خواهد کرد هنگام نوشتن در مخزن (برای نمونه در زمان اجرای \f[CR]bup save ...\f[R]، \f[CR]bup gc ..\f[R] و غیره) درخت‌ها (دایرکتوری‌ها) را تقسیم کند. این کار می‌تواند در زمان تغییر دایرکتوری‌های بزرگ (مانند Maildirهای بزرگ و فعال)، اندازه داده‌های جدید اضافه‌شده به مخزن را به شکل چشمگیری کاهش دهد. برای کسب اطلاعات بیشتر، بخش \(lqHandling large directories\(rq در فایل DESIGN در سورس \f[CR]bup\f[R] را ببینید. .RS \f[I]نکته:\f[R] استفاده از یک ایندکس مشترک برای ذخیره‌سازی در مخازنی با مقادیر متفاوت برای این گزینه می‌تواند کارایی را کاهش دهد، زیرا ایندکس شامل هش‌های دایرکتوری‌هایی است که ذخیره شده‌اند و تغییر این گزینه هش‌های دایرکتوری‌های تحت تأثیر تقسیم را تغییر می‌دهد. هش یک درخت دایرکتوری به bup امکان می‌دهد در صورتی که ایندکس نشان دهد دایرکتوری تغییری نکرده و شیء درختی با آن هش در مخزن مقصد وجود دارد، از پیمایش دایرکتوری خودداری کند. از آنجا که مقدار این تنظیم هش درخت‌های قابل تقسیم را تغییر می‌دهد، هش موجود در ایندکس در مخزنی با مقدار متفاوت \f[CR]bup.split.trees\f[R] نسبت به مخزنی که درخت آخرین بار در آن ذخیره شده یافت نخواهد شد. در نتیجه، هر دایرکتوری (معمولاً بزرگ) که مشمول تقسیم درخت است باید دوباره خوانده شود و هش‌های مربوط به آن مجدداً محاسبه گردند. .RE .TP core.compression سطح پیش‌فرض فشرده‌سازی فایل پک (pack file) در صورتی که \f[CR]core.compression\f[R] تنظیم نشده باشد. اگر این مورد نیز تنظیم نشده باشد، مقدار پیش‌فرض 1 خواهد بود (برخلاف git که مقدار پیش‌فرض آن \-1 است). سطح فشرده‌سازی تعیین‌شده در خط فرمان بر این مقدار اولویت دارد. همچنین ببینید \f[CR]git\-config\f[R](1). .TP pack.compression سطح پیش‌فرض فشرده‌سازی فایل پک. در صورت عدم تعیین، به \f[CR]core.compression\f[R] رجوع می‌کند. همچنین ببینید \f[CR]git\-config\f[R](1). .TP pack.packSizeLimit حداکثر اندازه بسته (pack) را هنگام نوشتن فایل‌های پک (مثلاً از طریق \f[CR]bup save\f[R]) محدود می‌کند (به \f[CR]git\-config\f[R](1) مراجعه کنید). این تنظیم زمانی کاربرد دارد که در مخزن مقصد (که ممکن است ریموت/از راه دور باشد) تنظیم شود. مقدار پیش‌فرض 1e9 بایت (یعنی حدود 0.93 گیبی‌بایت یا GiB) است و \f[CR]bup\f[R] ممکن است به اندازه یک تکه (chunk) از این حد فراتر رود. با این حال، تنظیم آن به عنوان مثال روی \(lq2g\(rq (2 گیبی‌بایت) همچنان به این معنی است که تمام اشیاء موجود در پک می‌توانند با یک آفست ۳۱ بیتی آدرس‌دهی شوند و بنابراین نیازی به آفست بزرگ در فایل idx نخواهند داشت. .SH "محیط (ENVIRONMENT)" .TP BUP_DIR در صورت تنظیم، مکان پیش‌فرض مخزن است، مگر اینکه با گزینه \f[CR]bup \-d\f[R] در خط فرمان بازنویسی شود. .TP XDG_CACHE_HOME/bup مکان ترجیحی کش (حافظه نهان). .SH "فایل‌ها (FILES)" $XDG_CACHE_HOME/bup/remote .PD 0 .P .PD \(ti/.cache/bup/remote .PD 0 .P .PD .TP $BUP_DIR/index\-cache مکان‌های کش ایندکس کلاینت، به ترتیب اولویت. داده‌های مخزن راه دور در حین عملیات‌هایی مانند \f[CR]bup save \-r\f[R] در اینجا ذخیره می‌شوند. در حال حاضر \f[CR]bup\f[R] به ترتیب اولویت به دنبال داده‌های موجود می‌گردد، و در صورتی که موردی برای مخزن مورد نظر پیدا نشود، \f[CR]bup\f[R] در صورت تنظیم بودن \f[CR]$XDG_CACHE_HOME\f[R] از \f[CR]$XDG_CACHE_HOME/bup/remote\f[R] و در غیر این صورت از \f[CR]\(ti/.cache/bup/remote\f[R] استفاده خواهد کرد. .SH "همچنین ببینید (SEE ALSO)" \f[CR]git\-config\f[R](1) .SH "BUP" بخشی از مجموعه \f[CR]bup\f[R](1). .SH "نویسندگان (AUTHORS)" Rob Browning \c .MT rlb@defaultvalue.org .ME \c.