ostree.repo-config -
پیکربندی
مخزن OSTree
فایل config در
یک مخزن OSTree یک
«فایل
کلید» (keyfile) با
قالب XDG Desktop Entry Specification[1]
است. این
فایل چندین
فلگ سراسری
و همچنین
صفر یا چند
ورودی
ریموت (remote)
دارد که
نحوه
دسترسی به
مخازن
دوردست را
توصیف
میکنند.
برای
اطلاعات
بیشتر در
مورد مخازن
OSTree، ostree.repo(5) را
ببینید.
گزینههای
سراسری
مخزن.
ورودیهای
زیر تعریف
شدهاند:
mode
یکی از
مقادیر bare, bare-user,
bare-user-only, یا archive-z2 (توجه
داشته
باشید که archive
در جاهای
دیگر
استفاده
میشود.)
repo_version
در حال
حاضر باید
برابر با 1
تنظیم شود.
auto-update-summary
مقدار
بولی که
مشخص
میکند آیا
فایل خلاصه
(summary) پس از
اضافه شدن،
حذف یا
بهروزرسانی
هر ref بهطور
خودکار
بهروز شود
یا خیر. سایر
تغییراتی
که ممکن است
فایل خلاصه
را کهنه
کنند (مانند
دلتاهای
ایستا یا
شناسههای
مجموعه) در
حال حاضر
بهروزرسانی
خودکار را
فعال
نمیکنند.
commit-update-summary
این
گزینه
منسوخ شده
است. بهجای
آن از auto-update-summary
استفاده
کنید که این
گزینه
اکنون نام
مستعاری
برای آن
است.
fsync
مقدار
بولی که
تعیین
میکند آیا
هنگام
انجام
عملیاتی
مانند
کامیتها،
pullها و checkoutها،
اطمینان از
ذخیره
پایدار
فایلها بر
روی حافظه
پایدار
حاصل شود یا
خیر.
پیشفرض true
است.
اگر fsync را
غیرفعال
کنید، OSTree
دیگر در
برابر
کرشهای
هسته یا
قطعی برق
مقاوم
نخواهد
بود.
ممکن است
بخواهید
این را برای
مخازن
توسعه محلی
غیرفعال
کنید، با
این فرض که
میتوان
آنها را از
سورس
مجدداً
ایجاد کرد.
به همین
ترتیب،
میتوانید
آن را برای
یک آینه (mirror) که
میتوانید
دوباره
دریافت
کنید
غیرفعال
نمایید.
برای مخزن
سیستم، اگر
منبع تغذیه
اضطراری (UPS) و
یک هسته
بهخوبی
آزمایششده
دارید،
ممکن است
بخواهید fsync
را غیرفعال
کنید.
per-object-fsync
بهطور
پیشفرض، OSTree
عملیات fsync() را
پس از نوشتن
همه چیز به
صورت
دستهای
انجام
میدهد؛
اما این کار
میتواند
باعث
جهشهای
تأخیر (latency spikes)
برای سایر
فرآیندهایی
شود که آنها
نیز fsync() را
فراخوانی
میکنند.
این متغیر
بولی را
فعال کنید
تا جهشهای
تاخیر
بالقوه
کاهش یابد،
به بهای
کاهش سرعت
بهروزرسانیهای
OSTree. به احتمال
زیاد
میخواهید
این گزینه
برای
بهروزرسانیهای
پسزمینه
سیستمعامل
بهطور
پیشفرض
فعال باشد.
min-free-space-percent
مقدار
درصدی عدد
صحیح (۰-۹۹) که
حداقل درصد
فضای کل (به
بلوک) در
سیستمفایل
زیربنایی
را برای
خالی نگه
داشتن مشخص
میکند.
مقدار
پیشفرض ۳
است که
زمانی که نه
این گزینه و
نه
min-free-space-size
تنظیم نشده
باشند
اعمال
میشود.
اگر min-free-space-size
روی یک
مقدار غیر
صفر تنظیم
شود، min-free-space-percent
نادیده
گرفته
میشود.
توجه داشته
باشید که
min-free-space-percent روی
اشیاء
فراداده (metadata)
اعمال
نمیشود.
فرض بر این
است که
اشیاء
فراداده در
مقایسه با
اشیاء
محتوا از
اندازه
نسبتاً
کوچکی
برخوردار
هستند و
بنابراین
خارج از
محدوده این
گزینه
نگهداری
میشوند.
min-free-space-size
مقداری
(بر حسب
توانهای ۲
مگابایت،
گیگابایت
یا ترابایت)
که حداقل
فضای خالی
در
سیستمفایل
زیربنایی
را تعیین
میکند.
نمونههایی
از مقادیر
قابل قبول: 500MB
(524 288 000 بایت)، 1GB
(1 073 741 824 بایت)،
1TB (1 099 511 627 776
بایت).
اگر این
گزینه روی
یک مقدار
غیر صفر
تنظیم شده
باشد، و
min-free-space-percent نیز
تنظیم شده
باشد، این
گزینه
اولویت
دارد. توجه
داشته
باشید که
min-free-space-size روی
اشیاء
فراداده
اعمال
نمیشود.
فرض بر این
است که
اشیاء
فراداده در
مقایسه با
اشیاء
محتوا
اندازه
نسبتاً
کوچکی
دارند و
بنابراین
خارج از
محدوده این
گزینه قرار
میگیرند.
add-remotes-config-dir
مقدار
بولی که
مشخص
میکند آیا
ریموتهای
جدید در
دایرکتوری
پیکربندی
ریموتها
اضافه شوند
یا خیر.
پیشفرض
برای مخازن
ostree سیستمی true
است. وقتی
این مقدار false
باشد،
ریموتها
در فایل config
مخزن اضافه
میشوند.
این فقط
برای
مخازنی
اعمال
میشود که
از یک
دایرکتوری
پیکربندی
ریموتها
استفاده
میکنند،
مانند
مخازن ostree
سیستم که از
/etc/ostree/remotes.d
استفاده
میکنند.
مخازن غیر
سیستمی از
دایرکتوری
پیکربندی
ریموتها
استفاده
نمیکنند
مگر اینکه
هنگام باز
شدن مخزن
مشخص شود.
payload-link-threshold
یک مقدار
عدد صحیح که
حداقل
اندازه
فایل را
برای ایجاد
یک پیوند
محموله (payload link)
مشخص
میکند.
بهطور
پیشفرض
غیرفعال
است.
collection-id
یک نام
دامنه
معکوس DNS تحت
کنترل شما،
که توزیع
همتا به
همتا (P2P)
ارجاعات (refs)
را در این
مخزن
امکانپذیر
میسازد.
بخش
--collection-id را در
ostree-init(1) ببینید.
locking
مقدار
بولی که
مشخص
میکند آیا
OSTree
قفلگذاری
مخزن را به
صورت داخلی
انجام
میدهد یا
خیر. این از
قفلهای
فایل
استفاده
میکند و
بنابراین
برای
جلوگیری از
تداخل
چندین
فرآیند است
(مانند Flatpak و OSTree
که بهطور
جداگانه در
یک مخزن
مینویسند).
این قابلیت
از نسخه 2018.5
بهطور
پیشفرض
فعال است.
lock-timeout-secs
مقدار
عدد صحیح که
تعداد
ثانیههای
مسدودسازی
را هنگام
تلاش برای
دستیابی به
قفل کنترل
میکند
(بالا را
ببینید).
مقدار 1- به
معنی
مسدودسازی
نامحدود
است. مقدار
پیشفرض
۳۰۰ است. این
مهلت زمانی
اکنون به
عنوان یک
اشتباه در
نظر گرفته
میشود؛
زیرا
احتمالاً
باعث بروز
ناپایداری
(flake) میشود.
توصیه
میشود آن
را روی 1-
تنظیم کنید
و در صورت
تمایل مهلت
زمانی را در
سطح بالاتر
برنامه
کنترل
نمایید.
default-repo-finders
فهرست
پیشفرضی
از
یابندهها
(منابع
ارجاعات)
جداشده با
نقطهویرگول
برای
استفاده در
هنگام pull. این
میتواند
برای
غیرفعال
کردن
دریافت از
سیستمفایلهای
مانتشده،
همتاهای
موجود در
شبکه محلی
یا اینترنت
استفاده
شود. با این
حال توجه
داشته
باشید که
این تنها
زمانی
اعمال
میشود که
مجموعهای
از
یابندهها
بهطور
صریح توسط
یک
مصرفکننده
API در libostree یا در
خط فرمان
مشخص نشده
باشند.
مقادیر
ممکن: config, lan, و mount
(یا هر
ترکیبی از
آنها). در
صورت عدم
تنظیم،
مقدار
پیشفرض آن
config;mount; است (زیرا
یابنده LAN
پرهزینه
است).
no-deltas-in-summary
مقدار
بولی که
تعیین
میکند آیا
OSTree از قرار
دادن فهرست
دلتاهای
موجود در
فایل summary
صرفنظر
کند یا خیر.
پیشفرض false
است.
از نسخه 2020.7،
OSTree میتواند
از
نمایههای
دلتا در
خارج از
فایل summary
استفاده
کند و فایل
خلاصه را
کوچکتر
کند
(بهویژه
برای مخازن
بزرگتر). با
این حال،
بهطور
پیشفرض
هنوز این
نمایه را در
فایل خلاصه
ایجاد
میکنیم تا
کلاینتهای
قدیمیتر
کار کنند.
اگر
میدانید
که همه
کلاینتها
نسخههای 2020.7
یا جدیدتر
هستند،
میتوانید
این گزینه
را برای
صرفهجویی
در پهنای
باند شبکه
فعال کنید.
مکان یک
مخزن از راه
دور (remote) را
توصیف
میکند.
url
باید
وجود داشته
باشد؛
نشانی URL را
برای
دسترسی به
فراداده و
محتوای
ریموت
اعلام
میکند.
همچنین
ببینید: contenturl.
طرحهای
پشتیبانیشده
در ادامه
مستند
شدهاند.
contenturl
نشانی URL
را برای
دسترسی به
محتوا (filez،
قطعات
دلتای
ایستا)
اعلام
میکند. در
صورت مشخص
شدن، url صرفاً
برای
فراداده
استفاده
میشود: summary،
«ابربلوکهای»
دلتای
ایستا.
branches
فهرستی
از رشتهها.
شاخههای
پیشفرض
پیکربندیشده
را برای
دریافت از
ریموت نشان
میدهد، در
صورتی که در
طول عملیات pull
شاخههای
خاصی
درخواست
نشده باشد.
proxy
یک مقدار
رشتهای؛
در صورت
مشخص شدن
باید یک URL
برای
پراکسی HTTP جهت
دسترسی به
این مخزن
باشد.
gpg-verify
یک مقدار
بولی،
پیشفرض true
است. کنترل
میکند که
آیا OSTree امضا
شدن
کامیتها
توسط یک
کلید GPG
شناختهشده
را الزامی
میداند یا
خیر. برای
اطلاعات
بیشتر، بخش GPG
را در
راهنمای
ostree(1)
ببینید.
gpg-verify-summary
یک مقدار
بولی،
پیشفرض false
است. کنترل
میکند که
آیا OSTree امضا
شدن summary توسط
یک کلید GPG
شناختهشده
را بررسی
میکند یا
خیر. برای
اطلاعات
بیشتر، بخش GPG
را در
راهنمای
ostree(1)
ببینید.
tls-permissive
یک مقدار
بولی،
پیشفرض false
است. بهطور
پیشفرض،
گواهیهای TLS
سرور در
برابر مخزن
گواهیهای
سیستم
بررسی
میشوند.
اگر این
متغیر
تنظیم شود،
هر گواهی
پذیرفته
خواهد شد.
tls-client-cert-path
مسیر
فایل گواهی
سمت
کلاینت،
برای ارائه
هنگام
ارسال
درخواستها
به این
مخزن.
tls-client-key-path
مسیر
فایل حاوی
کلید گواهی
سمت
کلاینت،
برای ارائه
هنگام
ارسال
درخواستها
به این
مخزن.
tls-ca-path
مسیر
فایل حاوی
لنگرهای
مورد
اعتماد (trusted anchors)
به جای
پایگاهداده
CA سیستم.
http2
یک مقدار
بولی،
پیشفرض true
است. بهطور
پیشفرض، libostree
از HTTP2
استفاده
میکند؛
تنظیم این
گزینه روی false
آن را
غیرفعال
خواهد کرد.
ممکن است
برای دور
زدن
سرورهای
دارای
ایراد مفید
باشد.
unconfigured-state
در صورت
تنظیم،
عملیاتهای
pull از این
ریموت با
متن
پیکربندیشده
با شکست
مواجه
میشوند.
این گزینه
برای
ارائهدهندگان
سیستمعامل
در نظر
گرفته شده
است که
فرآیند
اشتراک
برای
دسترسی به
محتوا
دارند.
custom-backend
در صورت
تنظیم،
عملیاتهای
pull از این
ریموت از
طریق libostree با
خطایی که به
این مقدار
اشاره دارد
شکست
میخورند.
توصیه
میشود این
مقدار یک
شناسه
نرمافزاری
باشد (مانند
"examplecorp-fetcher")، نه یک
متن آزاد ("ExampleCorp
Fetcher"). این برای
استفاده
توسط
نرمافزارهای
سطح بالاتر
طراحی شده
است که
میخواهند
کامیتهای
ostree را از طریق
سازوکار
دیگری
دریافت
کنند، در
حالی که
همچنان از
زیرساختهای
اصلی libostree
پیرامون
مواردی
مانند
امضاها
استفاده
مجدد
میکنند.
گزینههای
مربوط به sysroot،
که شامل
مخزن OSTree،
استقرارها
(deployments) و
ریشههای
وضعیت (stateroots)
است.
ورودیهای
زیر تعریف
شدهاند:
readonly
یک مقدار
بولی. اگر
روی true تنظیم
شود، آنگاه
نقطه مانت /sysroot
به صورت
فقطخواندنی
سوار
میشود. این
پیکربندی
از نوع مخزن
قدیمی است و
بهجای آن
باید از
گزینه
معادل در
ostree/prepare-root.conf
استفاده
شود - ببینید:
ostree-prepare-root(1).
bootloader
بوتلودری
را که OSTree
هنگام
استقرار sysroot
استفاده
میکند
پیکربندی
میکند. این
میتواند
مقادیر زیر
را بپذیرد:
bootloader=none,
bootloader=auto,
bootloader=grub2,
bootloader=syslinux,
bootloader=uboot یا
bootloader=zipl.
پیشفرض auto
است.
اگر none
باشد، OSTree
تنها قطعات
BLS (مشخصات
لودر بوت) را
در sysroot/boot/loader/entries/
برای
استقرار
تولید
میکند.
اگر auto
باشد،
علاوه بر
تولید
قطعات BLS،
ابزار OSTree
بهطور
پویا وجود
بوتلودرهای
grub2، uboot و syslinux را
بررسی
میکند. در
صورت یافتن
یکی از این
بوتلودرها،
OSTree پیکربندی
مناسب برای
بوتلودر
یافتشده
را تولید
میکند.
برای
نمونه، در
مورد grub2
دستور grub2-mkconfig
اجرا
میشود.
نوع خاصی
از
بوتلودر
نیز
میتواند
با انتخاب
صریح grub2, syslinux, uboot یا
zipl درخواست
شود.
boot-counting-tries
مقدار
عدد صحیح
برای کنترل
حداکثر
دفعات تلاش
برای بوت.
دادههای
شمارش بوت
در نام
ورودی
بوتلودر
ذخیره
میشود. نام
فایل ورودی
بوتلودر
میتواند
شامل یک
علامت مثبت (+)
و به دنبال
آن یک عدد
باشد. این
میتواند
به صورت
اختیاری با
یک علامت
منفی (-) و یک
عدد دوم
همراه باشد.
نقطه (.) و
پسوند نام
فایل (conf یا efi)
باید
بلافاصله
پس از آن
بیایند.
جزئیات
بیشتر در
مشخصات بوت
لودر (The Boot Loader Specification)[2]
bls-append-except-default
فهرستی
از جفتهای
کلید-مقدار
رشتهای
جداشده با
نقطهویرگول.
برای نمونه:
bls-append-except-default=key1=value1;key2=value2. این
جفتهای
کلید-مقدار
به قطعات BLS
تولیدشده
برای
استقرارهای
غیرپیشفرض
تزریق
خواهند شد.
به عبارت
دیگر، قطعه BLS
مربوط به
استقرار
پیشفرض
تحت تأثیر
bls-append-except-default قرار
نخواهد
گرفت.
bootprefix
یک مقدار
بولی؛
پیشفرض false
است. اگر روی
true تنظیم شود،
ورودیهای
بوتلودر
تولیدشده
شامل /boot به
عنوان
پیشوند
خواهند بود.
این گزینه
احتمالاً
در آینده
بهطور
پیشفرض
فعال خواهد
شد.
پیشوند "ex-"
در اینجا
نشاندهنده
گزینههای
آزمایشی
است. بخش ex-integrity
شامل
گزینههای
مربوط به
یکپارچگی
سیستم است.
اطلاعات
درباره
گزینههای
آزمایشی
بهطور
رسمی در
issueهای
بالادستی
یافت
میشود.
علاوه بر
فایل /ostree/repo/config ،
ریموتها
میتوانند
در /etc/ostree/remotes.d نیز
مشخص شوند.
فایل
پیکربندی
ریموت باید
به .conf ختم
شود؛
فایلهایی
که نام آنها
به .conf ختم
نمیشود
نادیده
گرفته
خواهند شد.
در ابتدا،
OSTree تنها
دارای یک
گزینه url
برای
ریموتها
بود. از آن
زمان به
بعد، گزینه
contenturl معرفی شد.
هر دوی این
گزینهها
از طرحهای
file, http, و https
پشتیبانی
میکنند.
علاوه بر
این، هر دوی
اینها
میتوانند
با رشته mirrorlist=
پیشوندگذاری
شوند، که به
کلاینت
دستور
میدهد که url
هدف با فرمت
"mirrorlist" است؛ یک
فایل متنی
ساده از
URLهای جداشده
با خط جدید.
به URLهای
بالاتر
اولویت
داده
میشود.
توجه
داشته
باشید که در
حال حاضر،
گزینههای
tls-ca-path و tls-client-cert-path روی
هر درخواست
HTTP اعمال
میشوند،
حتی زمانی
که contenturl و/یا mirrorlist
در حال
استفاده
باشند. این
ممکن است در
آینده
تغییر کند
تا فقط بر
واکشیهای
فراداده
(یعنی url، نه contenturl)
اعمال شود.
ابزار OSTree از
جاکلیدی GPG
اختصاصی به
ازای هر
ریموت، و
همچنین
گزینه gpgkeypath
پشتیبانی
میکند.
برای
اطلاعات
بیشتر، بخش
اعتبارسنجی
GPG را در ostree(1)
ببینید.
برخی از
ارائهدهندگان
محتوا ممکن
است
بخواهند
دسترسی به
مخازن
دوردست را
از طریق
کوکیهای HTTP
کنترل کنند.
دستورات ostree remote
add-cookie و ostree remote delete-cookie
ظرف کوکی (cookie jar)
اختصاصی هر
ریموت را به
نام $remotename.cookies.txt
بهروزرسانی
خواهند
کرد.
- 1.
- XDG Desktop Entry Specification
- 2.
- The Boot Loader Specification