'\" t .\" Title: ostree prepare-root .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 08/20/2026 .\" Manual: ostree prepare-root .\" Source: OSTree .\" Language: English .\" .TH "OSTREE PREPARE\-ROOT" "1" "" "OSTree" "ostree prepare-root" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "نام (NAME)" ostree-prepare-root \- تغییر نمای یک سیستم‌فایل ریشهٔ سوارشده به یک استقرار ostree .SH "خلاصه دستور (SYNOPSIS)" .HP \w'\fBostree\ prepare\-root\fR\ 'u \fBostree prepare\-root\fR {TARGET} .SH "توضیحات (DESCRIPTION)" .PP در اساس خود، ostree روی یک سیستم‌فایل سوارشدهٔ موجود عمل می‌کند\&. ابزارهایی مانند ostree admin deploy یک دایرکتوری جدید ایجاد می‌کنند که می‌تواند به عنوان یک هدف قابل راه‌اندازی استفاده شود\&. این ابزار برای اجرا در یک initramfs و برپاسازی نقاط سوارکردن «نگاشت مجدد» به عنوان نمایی از آن سیستم‌فایل طراحی شده است\&. .PP به تازگی، این ابزار همچنین پشتیبانی اختیاری از composefs دارد، که یک نقطهٔ سوارکردن متمایز را به صورت لایه‌ای بر روی سیستم‌فایل زیرین ایجاد می‌کند\&. .PP رایج‌ترین الگو امروزه استفاده از systemd در یک initramfs است\&. واحد systemd ارائه‌شده توسط بالادست به این صورت ترتیب‌بندی شده است: After=sysroot\&.mount و Before=initrd\-root\-fs\&.target .PP هنگام اجرا، سیستم‌فایل سوارشده در TARGET داده‌شده (معمولاً /sysroot) به گونه‌ای تغییر خواهد کرد که آنچه در /sysroot ظاهر می‌شود در واقع «ریشهٔ استقرار» باشد \- یعنی یک زیردایرکتوری نسخه‌بندی‌شدهٔ مشخص\&. آنچه پیش‌تر «ریشهٔ فیزیکی» یعنی ریشهٔ واقعی سیستم‌فایل بود، به صورت /sysroot/sysroot ظاهر خواهد شد\&. .PP برای /var، به طور پیش‌فرض یک bind mount از ریشهٔ استقرار به /sysroot/var ایجاد می‌شود\&. .PP یک bind mount فقط‌خواندنی بر روی /sysroot/usr ایجاد می‌شود\&. بیت تغییرناپذیری (به chattr(1) مراجعه کنید) روی ریشهٔ استقرار تنظیم می‌شود، بنابراین این کار حفاظت پایه‌ای در برابر تغییرات سیستم‌فایل فراهم می‌کند\&. اگر گزینهٔ sysroot\&.readonly فعال باشد، آن‌گاه /sysroot/sysroot به صورت فقط‌خواندنی سوار می‌شود تا حفاظت بیشتری فراهم کند و یک bind mount قابل نوشتن برای /sysroot/etc ایجاد می‌شود\&. .PP در نهایت، هنگامی که ابزارهای سطح بالاتر مانند systemd عملیات switch\-root را انجام می‌دهند، آنچه /sysroot بود تبدیل به / می‌شود و پس از انتقال به ریشهٔ واقعی، سیستم به داخل «استقرار» راه‌اندازی خواهد شد، که یک درخت سیستم‌فایل تغییرناپذیر و نسخه‌بندی‌شده است\&. ابزارهای ostree که در ریشهٔ واقعی اجرا می‌شوند، از آن پس با عمل روی /sysroot که اکنون «ریشهٔ فیزیکی» است، تغییرات بعدی را اعمال می‌کنند\&. .SH "پیکربندی (CONFIGURATION)" .PP فایل پیکربندی /usr/lib/ostree/prepare\-root\&.conf (یا /etc/ostree/prepare\-root\&.conf) توسط ostree\-prepare\-root تجزیه می‌شود\&. این فایل باید در initramfs موجود باشد\&. ماژول پیش‌فرض dracut در صورت وجود، آن را از ریشهٔ واقعی کپی خواهد کرد\&. .PP \fIsysroot\&.readonly\fR .RS 4 یک مقدار بولی؛ پیش‌فرض false است مگر اینکه composefs فعال باشد\&. اگر این گزینه روی true تنظیم شود، نقطهٔ سوارکردن /sysroot به صورت فقط‌خواندنی سوار می‌شود\&. .RE .PP \fIetc\&.transient\fR .RS 4 یک مقدار بولی؛ پیش‌فرض false است\&. اگر این گزینه روی true تنظیم شود، نقطهٔ سوارکردن /etc به صورت گذرا یعنی در مکانی غیرماندگار سوار می‌شود\&. .RE .PP \fIroot\&.transient\fR .RS 4 یک مقدار بولی؛ پیش‌فرض false است\&. تنظیم این پرچم روی true نیازمند composefs است (به composefs\&.enabled مراجعه کنید)\&. در هنگام فعال بودن، نقطهٔ سوارکردن ریشه / یک overlayfs خواهد بود که محتویات آن در یک tmpfs ذخیره می‌شود، و بنابراین در زمان ارتقای سیستم‌عامل یا راه‌اندازی مجدد دور ریخته می‌شود\&. .sp این گزینه مستقل از etc\&.transient و sysroot\&.readonly است؛ برای نمونه داشتن root\&.transient=true اما etc\&.transient=false پشتیبانی می‌شود که در این حالت تغییرات در /etc همچنان در طول به‌روزرسانی‌ها باقی می‌ماند، و ادغام ۳طرفهٔ پیش‌فرض OSTree اعمال می‌شود\&. همچنین در رابطه با ماندگاری داده‌ها، تأکید بر این نکته مهم است که /sysroot (سیستم‌فایل ریشهٔ فیزیکی) همچنان به طور پیش‌فرض ماندگار است؛ ارتقاهای درجا برای سیستم‌عامل می‌توانند اعمال شوند\&. این گزینه هیچ اثری روی /var ندارد\&. .sp فعال‌سازی این گزینه می‌تواند به‌کارگیری مدل مبتنی بر ایمیج را در برخی شرایط به‌طور چشمگیری آسان‌تر کند\&. به عنوان مثال، اگر سامانهٔ مدیریت پیکربندی دارید که وضعیت اختصاصی ماشین را بررسی کرده و مثلاً به طور پویا بسته‌ها را نصب می‌کند یا پیکربندی را اعمال می‌نماید، می‌تواند آسان‌تر برای اجرا در هر بوت تطبیق یابد، در حالی که همچنان بخشی (یا در حالت ایده‌آل بیشتر) پیکربندی ایمیج را به عنوان بخشی از ایمیج/کامیت پایه به زمان ساخت منتقل می‌کند\&. .RE .PP \fIroot\&.transient\-ro\fR .RS 4 یک مقدار بولی؛ پیش‌فرض false است\&. این گزینه شبیه به root\&.transient است، اما لایهٔ بالایی (upper) در overlayfs به طور پیش‌فرض فقط‌خواندنی سوار می‌شود\&. زمانی از این گزینه استفاده کنید که می‌خواهید مؤلفه‌های دارای امتیاز خاص بتوانند با سوار کردن موقت آن به صورت قابل نوشتن در یک mount namespace جدید، در لایهٔ بالایی بنویسند\&. .RE .PP \fIcomposefs\&.enabled\fR .RS 4 می‌تواند یکی از مقادیر yes، no، maybe، signed، یا verity باشد\&. پیش‌فرض no است\&. اگر روی yes، signed، یا verity تنظیم شود، آن‌گاه composefs همیشه استفاده می‌شود و در صورت عدم دسترسی به آن، راه‌اندازی سیستم با شکست مواجه می‌شود\&. در صورت تنظیم روی signed یا verity، پیش از خوانده شدن محتوای یک فایل، یکپارچگی شیء پشتیبان OSTree آن توسط خلاصه‌سازی (digest) ذخیره‌شده در ایمیج اعتبارسنجی می‌شود\&. علاوه بر این، در صورت تنظیم روی signed، اگر ایمیج نتواند توسط یک کلید عمومی تأیید شود، راه‌اندازی شکست می‌خورد\&. تنظیم این گزینه روی maybe باعث می‌شود composefs در زمان اجرا تنها در صورتی استفاده شود که برای استقرار مربوطه composefs ایجاد شده باشد، که این رفتار غیرقابل‌پیش‌بینی و گیج‌کننده بوده و توصیه نمی‌شود\&. در عمل با نسخهٔ \fIفعلی\fR ostree، در حالتی که composefs در زمان ساخت برای نسخه‌ای که استقرار را انجام داده (غالباً یک نسخهٔ قدیمی‌تر سیستم‌عامل) فعال شده باشد، این معادل yes خواهد بود\&. اما به طور کلی فرد یا composefs را می‌خواهد یا خیر، بنابراین یک مقدار صریح برای آن انتخاب کنید\&. .RE .PP \fIcomposefs\&.keypath\fR .RS 4 مسیر به فایلی شامل کلیدهای عمومی Ed25519 در initramfs، که در صورت تنظیم composefs\&.enabled روی signed استفاده می‌شود\&. مقدار پیش‌فرض برای این گزینه /etc/ostree/initramfs\-root\-binding\&.key است\&. برای یک بوت امضاشدهٔ معتبر، کامیت هدف OSTree باید توسط دست‌کم یکی از کلیدهای عمومی موجود در این فایل امضا شده باشد، و خلاصهٔ commitfs فهرست‌شده در کامیت باید با ایمیج composefs هدف مطابقت داشته باشد\&. .RE .PP پارامترهای خط فرمان هسته زیر نیز تجزیه می‌شوند: .PP \fIostree\&.prepare\-root\&.composefs\fR .RS 4 این پارامتر همان مقادیر composefs\&.enabled در بالا را می‌پذیرد و فایل پیکربندی را (در صورت وجود) بازنویسی می‌کند\&. برای نمونه، مشخص کردن ostree\&.prepare\-root\&.composefs=0 باعث غیرفعال شدن composefs می‌شود، حتی اگر به طور پیش‌فرض در پیکربندی initrd فعال شده باشد\&. .RE .SH "سیستم‌دی (SYSTEMD)" .PP همان‌طور که در بالا ذکر شد، این ابزار همراه با یک فایل واحد systemd به نام ostree\-prepare\-root\&.service ارائه می‌شود و انتظار اصلی این است که از این طریق فراخوانی شود\&. .SH "کامپوزاف‌اس (COMPOSEFS)" .PP حالت پیش‌فرض برای ostree، ایجاد یک درخت سیستم‌فایل ساده با پیوند سخت است\&. پشتیبانی از composefs در حال حاضر آزمایشی است؛ برای اطلاعات بیشتر دربارهٔ استفاده از آن، به مستند بالادست doc/composefs\&.md مراجعه کنید\&.