'\" t .TH "MACHINECTL" "1" "" "systemd 261.2" "machinectl" .\" ----------------------------------------------------------------- .\" * 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)" machinectl \- کنترل و مدیریت ماشین‌های مجازی و کانتینرهای سیستم‌دی .SH "خلاصه دستور (SYNOPSIS)" .HP \w'\fBmachinectl\fR\ 'u \fBmachinectl\fR [OPTIONS...] {COMMAND} [NAME...] .SH "توضیحات (DESCRIPTION)" .PP \fBmachinectl\fR ممکن است برای بازرسی و کنترل وضعیت مدیر ثبت ماشین‌های مجازی و کانتینرهای \fBsystemd\fR(1) یعنی \fBsystemd-machined.service\fR(8) استفاده شود\&. .PP \fBmachinectl\fR ممکن است برای اجرای عملیات روی ماشین‌ها و ایمیج‌ها استفاده شود\&. ماشین‌ها در این مفهوم نمونه‌های در حال اجرای موارد زیر در نظر گرفته می‌شوند: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} ماشین‌های مجازی (VMها) که سخت‌افزار را مجازی‌سازی می‌کنند تا نمونه‌های کامل سیستم‌عامل (شامل هسته‌های آن‌ها) را در یک محیط مجازی‌سازی‌شده بر روی سیستم‌عامل میزبان اجرا کنند\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} کانتینرهایی که سخت‌افزار و هسته سیستم‌عامل را با سیستم‌عامل میزبان به اشتراک می‌گذارند، تا نمونه‌های فضای کاربری سیستم‌عامل را بر روی سیستم‌عامل میزبان اجرا کنند\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} خود سیستم میزبان\&. .RE .PP ماشین‌ها با نام‌هایی شناسایی می‌شوند که از همان قوانین نام‌های میزبان یونیکس و DNS پیروی می‌کنند\&. برای جزئیات، بخش‌های زیر را ببینید\&. .PP ماشین‌ها از ایمیج‌های دیسک یا فایل‌سیستم نمونه‌سازی می‌شوند که اغلب\ \&\(em اما نه لزوماً\ \&\(em نامی یکسان با ماشین‌های در حال اجرا از روی آن‌ها دارند\&. ایمیج‌ها در این مفهوم ممکن است موارد زیر باشند: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} درخت‌های دایرکتوری حاوی یک سیستم‌عامل، شامل دایرکتوری‌های سطح بالا مانند /usr/، /etc/، و غیره\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} زیرحجم‌های btrfs حاوی درخت‌های سیستم‌عامل، مشابه با درخت‌های دایرکتوری معمولی\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} فایل‌های دودویی ایمیج دیسک خام ("raw") حاوی جدول‌های پارتیشن MBR یا GPT و فایل‌سیستم‌های لینوکس\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} به همین ترتیب، دستگاه‌های بلوکی حاوی جدول‌های پارتیشن MBR یا GPT و فایل‌سیستم‌ها\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} درخت فایل‌سیستم خود سیستم‌عامل میزبان\&. .RE .PP ایمیج‌ها می‌توانند از طریق ابزار \fBimportctl\fR(1) دانلود، وارد (import) و صادر (export) شوند\&. .SH "دستورات (COMMANDS)" .PP دستورات زیر پشتیبانی می‌شوند: .SS "دستورات ماشین (Machine Commands)" .PP \fBlist\fR .RS 4 فهرست کردن ماشین‌های مجازی و کانتینرهای در حال اجرای فعلی (برخط)\&. برای برشمردن ایمیج‌های ماشینی که می‌توانند راه‌اندازی شوند، از \fBlist\-images\fR (در ادامه را ببینید) استفاده کنید\&. توجه داشته باشید که این دستور به صورت پیش‌فرض ماشین ویژه "\&.host" را پنهان می‌کند\&. از سوییچ \fB\-\-all\fR برای نمایش آن استفاده کنید\&. .sp افزوده شده در نگارش 206\&. .RE .PP \fBstatus\fR \fINAME\fR\&... .RS 4 نمایش اطلاعات وضعیت زمان اجرای یک یا چند ماشین مجازی و کانتینر، به همراه جدیدترین داده‌های گزارش از ژورنال (journal)\&. این تابع به منظور تولید خروجی خوانا برای انسان طراحی شده است\&. اگر به دنبال خروجی قابل تجزیه توسط رایانه هستید، به جای آن از \fBshow\fR استفاده کنید\&. توجه داشته باشید که داده‌های گزارش نمایش داده شده توسط مدیر ماشین مجازی یا کانتینر گزارش می‌شوند و اغلب حاوی خروجی کنسول ماشین هستند، اما لزوماً محتویات ژورنال خود ماشین نیستند\&. .sp افزوده شده در نگارش 206\&. .RE .PP \fBshow\fR [\fINAME\fR\&...] .RS 4 نمایش ویژگی‌های یک یا چند ماشین مجازی یا کانتینر ثبت‌شده، یا خود مدیر\&. اگر آرگومانی مشخص نشود، ویژگی‌های مدیر نمایش داده خواهد شد\&. اگر یک NAME مشخص شود، ویژگی‌های این ماشین مجازی یا کانتینر نمایش داده می‌شود\&. به طور پیش‌فرض، ویژگی‌های خالی پنهان می‌شوند\&. از \fB\-\-all\fR برای نمایش آن‌ها نیز استفاده کنید\&. برای انتخاب ویژگی‌های خاص جهت نمایش، از \fB\-\-property=\fR استفاده کنید\&. این دستور برای زمان‌هایی در نظر گرفته شده که خروجی قابل تجزیه توسط رایانه مورد نیاز است، و درخت گروه کنترل (cgroup) یا ورودی‌های ژورنال را چاپ نمی‌کند\&. اگر به دنبال خروجی قالب‌بندی‌شده و خوانا برای انسان هستید از \fBstatus\fR استفاده کنید\&. .sp افزوده شده در نگارش 206\&. .RE .PP \fBstart\fR \fINAME\fR\&... .RS 4 راه‌اندازی یک کانتینر به عنوان یک سرویس سیستمی، با استفاده از \fBsystemd-nspawn\fR(1)\&. این کار systemd\-nspawn@\&.service را برای نام ماشین مشخص‌شده نمونه‌سازی و اجرا می‌کند، مشابه با اثر \fBsystemctl start\fR روی نام سرویس\&. \fBsystemd\-nspawn\fR به دنبال یک ایمیج کانتینر با نام مشخص‌شده در /var/lib/machines/ (و سایر مسیرهای جستجو، در ادامه را ببینید) می‌گردد و آن را اجرا می‌کند\&. از \fBlist\-images\fR (در ادامه را ببینید) برای فهرست کردن ایمیج‌های کانتینر موجود جهت راه‌اندازی استفاده کنید\&. .sp توجه داشته باشید که \fBsystemd-machined.service\fR(8) با انواع دیگری از مدیران کانتینر و ماشین مجازی نیز تعامل دارد، و \fBsystemd\-nspawn\fR تنها یکی از پیاده‌سازی‌های آن است\&. بیشتر دستورات موجود در \fBmachinectl\fR می‌توانند بر روی کانتینرها یا ماشین‌های مجازی تحت کنترل سایر مدیران نیز استفاده شوند، نه فقط \fBsystemd\-nspawn\fR\&. راه‌اندازی ماشین‌های مجازی و ایمیج‌های کانتینر در آن مدیران نیازمند ابزارهای ویژه همان مدیر است\&. .sp برای راه‌اندازی تعاملی یک کانتینر در خط فرمان با دسترسی کامل به کنسول کانتینر، لطفاً \fBsystemd\-nspawn\fR را مستقیماً فراخوانی کنید\&. برای متوقف کردن یک کانتینر در حال اجرا از \fBmachinectl poweroff\fR استفاده کنید\&. .sp افزوده شده در نگارش 219\&. .RE .PP \fBlogin\fR [\fINAME\fR] .RS 4 باز کردن یک نشست ورود (login) به ترمینال تعاملی در یک کانتینر یا روی میزبان محلی\&. اگر آرگومانی ارائه شود، به ماشین کانتینری که باید به آن متصل شد اشاره دارد\&. اگر هیچ مقداری مشخص نشود، یا نام کانتینر به صورت رشته خالی مشخص گردد، یا نام ماشین ویژه "\&.host" (در ادامه را ببینید) مشخص شود، اتصال به جای آن با میزبان محلی برقرار می‌شود\&. این کار یک اتصال TTY به یک کانتینر خاص یا میزبان محلی ایجاد کرده و اجرای getty را روی آن درخواست می‌کند\&. توجه داشته باشید که این قابلیت تنها برای کانتینرهایی پشتیبانی می‌شود که \fBsystemd\fR(1) را به عنوان سیستم init اجرا می‌کنند\&. .sp این دستور یک اعلان ورود (login prompt) کامل روی کانتینر یا میزبان محلی باز می‌کند که سپس نام کاربری و گذرواژه را می‌پرسد\&. از \fBshell\fR (در ادامه را ببینید) یا \fBsystemd-run\fR(1) همراه با سوییچ \fB\-\-machine=\fR برای فراخوانی مستقیم یک دستور منفرد، چه به صورت تعاملی و چه در پس‌زمینه استفاده کنید\&. .sp افزوده شده در نگارش 209\&. .RE .PP \fBshell\fR [[\fINAME\fR@]\fINAME\fR [\fIPATH\fR [\fIARGUMENTS\fR\&...]]] .RS 4 باز کردن یک نشست پوسته (shell) تعاملی در یک کانتینر یا روی میزبان محلی\&. آرگومان نخست به ماشین کانتینری که باید به آن متصل شد اشاره دارد\&. اگر مقداری مشخص نشود، یا نام ماشین به صورت رشته خالی مشخص شود، یا نام ماشین ویژه "\&.host" (در ادامه را ببینید) مشخص گردد، اتصال به جای آن با میزبان محلی برقرار می‌شود\&. این دستور به شیوه‌ای مشابه با \fBlogin\fR عمل می‌کند، اما بلافاصله یک فرآیند کاربری را فراخوانی می‌نماید\&. این دستور فایل اجرایی مشخص‌شده را با آرگومان‌های داده‌شده اجرا می‌کند، یا اگر مشخص نشده باشد، پوسته پیش‌فرض کاربر را اجرا می‌نماید، یا اگر پوسته پیش‌فرضی یافت نشود، /bin/sh را اجرا می‌کند\&. با استفاده از \fB\-\-uid=\fR، یا با افزودن نام کاربری و نویسه "@" به عنوان پیشوند به نام ماشین، می‌توان کاربر دیگری را انتخاب کرد\&. از \fB\-\-setenv=\fR برای تنظیم متغیرهای محیطی برای فرآیند اجراشده استفاده کنید\&. .sp توجه داشته باشید که \fBmachinectl shell\fR کد وضعیت/خروج فرآیند پوسته فراخوانی‌شده را بازنمی‌گرداند\&. در صورتی که به آن اطلاعات نیاز است، به جای آن از \fBsystemd\-run\fR استفاده کنید (در ادامه را ببینید)\&. .sp استفاده از دستور \fBshell\fR بدون آرگومان (و در نتیجه فراخوانی پوسته یا دستور اجراشده روی میزبان محلی)، از بسیاری جهات مشابه یک نشست \fBsu\fR(1) است، اما برخلاف \fBsu\fR، نشست جدید را به طور کامل از نشست مبدأ ایزوله می‌کند، به گونه‌ای که هیچ ویژگی فرآیند یا نشستی را به اشتراک نمی‌گذارد و در وضعیتی پاک و به خوبی تعریف‌شده قرار دارد\&. این نشست در نشست‌های جدید utmp، ورود، حسابرسی (audit)، امنیت و دسته‌کلید (keyring) ردیابی می‌شود و در میان سایر ویژگی‌ها، هیچ متغیر محیطی یا محدودیت منابعی را به ارث نخواهد برد\&. .sp توجه داشته باشید که \fBsystemd-run\fR(1) همراه با سوییچ \fB\-\-machine=\fR می‌تواند به جای دستور \fBmachinectl shell\fR استفاده شود و امکان کار غیرتعاملی، پیکربندی دقیق‌تر و سطح‌پایین‌تر واحد فراخوانی‌شده، و همچنین دسترسی به اطلاعات زمان اجرا و کد خروج/وضعیت فرآیند پوسته فراخوانی‌شده را فراهم می‌کند\&. به ویژه، از سوییچ \fB\-\-wait\fR در \fBsystemd\-run\fR برای انتقال اطلاعات وضعیت خروج فرآیند فراخوانی‌شده استفاده کنید\&. از سوییچ \fB\-\-pty\fR در \fBsystemd\-run\fR برای به دست آوردن یک پوسته تعاملی، مشابه با \fBmachinectl shell\fR استفاده کنید\&. به طور کلی، \fBsystemd\-run\fR برای اهداف اسکریپت‌نویسی ترجیح داده می‌شود\&. با این حال، توجه داشته باشید که \fBsystemd\-run\fR ممکن است به امتیازات و دسترسی‌های بالاتری نسبت به \fBmachinectl shell\fR نیاز داشته باشد\&. .sp افزوده شده در نگارش 225\&. .RE .PP \fBenable\fR \fINAME\fR\&..., \fBdisable\fR \fINAME\fR\&... .RS 4 فعال یا غیرفعال کردن یک کانتینر به عنوان سرویس سیستمی برای راه‌اندازی هنگام بوت سیستم، با استفاده از \fBsystemd-nspawn\fR(1)\&. این کار systemd\-nspawn@\&.service را برای نام ماشین مشخص‌شده فعال یا غیرفعال می‌کند، مشابه با اثر \fBsystemctl enable\fR یا \fBsystemctl disable\fR روی نام سرویس\&. .sp این دستور پس از اتمام عملیات، به طور ضمنی پیکربندی مدیر سیستم را مجدداً بارگذاری (reload) می‌کند\&. توجه داشته باشید که این دستور به صورت ضمنی کانتینرهایی را که روی آن‌ها عملیات انجام می‌شود روشن یا خاموش نمی‌کند\&. اگر چنین رفتاری مورد نظر است، این دستور را با سوییچ \fB\-\-now\fR ترکیب کنید\&. .sp افزوده شده در نگارش 219\&. .RE .PP \fBpoweroff\fR \fINAME\fR\&... .RS 4 خاموش کردن یک یا چند ماشین\&. برای ماشین‌های مجازی مدیریت‌شده توسط \fBsystemd-vmspawn\fR(1)، این دستور یک درخواست خاموش‌سازی ACPI را از طریق QMP ارسال می‌کند\&. برای کانتینرها، این دستور سیگنال SIGRTMIN+4 را به فرآیند init کانتینر ارسال می‌کند، که باعث می‌شود سیستم‌های init سازگار با systemd به طور پاکیزه خاموش شوند\&. این عملیات روی کانتینرهایی که سیستم init سازگار با \fBsystemd\fR(1) را اجرا نمی‌کنند (مانند sysvinit)، کار نمی‌کند\&. از \fBstop\fR به عنوان نام مستعار برای \fBpoweroff\fR استفاده کنید\&. از \fBterminate\fR (در ادامه را ببینید) برای خاتمه دادن فوری به یک ماشین بدون خاموش‌سازی پاکیزه آن استفاده کنید\&. .sp افزوده شده در نگارش 212\&. .RE .PP \fBreboot\fR \fINAME\fR\&... .RS 4 راه‌اندازی مجدد (ری‌بوت) یک یا چند ماشین\&. برای ماشین‌های مجازی مدیریت‌شده توسط \fBsystemd-vmspawn\fR(1)، این دستور یک درخواست بازنشانی سیستم را از طریق QMP ارسال می‌کند\&. برای کانتینرها، این دستور سیگنال SIGINT را به فرآیند init کانتینر ارسال می‌کند که تقریباً معادل فشردن Ctrl+Alt+Del در یک سیستم غیرکانتینری است و با کانتینرهایی که هر نوع مدیر سیستمی را اجرا می‌کنند سازگار است\&. از \fBrestart\fR به عنوان نام مستعار برای \fBreboot\fR استفاده کنید\&. .sp افزوده شده در نگارش 209\&. .RE .PP \fBpause\fR \fINAME\fR\&... .RS 4 متوقف کردن موقت (مکث) یک یا چند ماشین\&. برای ماشین‌های مجازی مدیریت‌شده توسط \fBsystemd-vmspawn\fR(1)، این دستور اجرای vCPU را در سطح هایپروایزر منجمد می‌کند \(em به سیستم‌عامل مهمان اطلاعی داده نمی‌شود و تعلیق ACPI را مشاهده نمی‌کند\&. از دیدگاه مهمان، زمان به سادگی متوقف می‌شود تا زمانی که ماشین با \fBresume\fR از سر گرفته شود\&. .sp افزوده شده در نگارش 261\&. .RE .PP \fBresume\fR \fINAME\fR\&... .RS 4 از سرگیری یک یا چند ماشین که قبلاً متوقف شده بودند\&. این کار پس از یک \fBpause\fR اجرا را از نو آغاز می‌کند\&. .sp افزوده شده در نگارش 261\&. .RE .PP \fBterminate\fR \fINAME\fR\&... .RS 4 بلافاصله یک ماشین مجازی یا کانتینر را بدون خاموش‌سازی پاکیزه خاتمه می‌دهد\&. این کار تمام فرآیندهای ماشین مجازی یا کانتینر را متوقف کرده (kill می‌کند) و تمام منابع متصل به آن نمونه را آزاد می‌سازد\&. از \fBpoweroff\fR برای صدور درخواست خاموش‌سازی پاکیزه استفاده کنید\&. .sp افزوده شده در نگارش 206\&. .RE .PP \fBkill\fR \fINAME\fR\&... .RS 4 ارسال یک سیگنال به یک یا چند فرآیند از ماشین مجازی یا کانتینر\&. این به معنای فرآیندها از دید میزبان است، نه فرآیندهای درون ماشین مجازی یا کانتینر\&. از \fB\-\-kill\-whom=\fR برای انتخاب اینکه کدام فرآیند کشته شود استفاده کنید\&. از \fB\-\-signal=\fR برای انتخاب سیگنال ارسالی استفاده کنید\&. .sp افزوده شده در نگارش 206\&. .RE .PP \fBbind\fR \fINAME\fR \fIPATH\fR [\fIPATH\fR] .RS 4 اتصال و سوار کردن پیوندی (bind mount) یک فایل یا دایرکتوری از میزبان به درون کانتینر مشخص‌شده\&. آرگومان مسیر اول، فایل یا دایرکتوری مبدأ روی میزبان است، و آرگومان مسیر دوم فایل یا دایرکتوری مقصد در کانتینر می‌باشد\&. هنگامی که دومی حذف شود، مسیر مقصد در کانتینر همان مسیر مبدأ روی میزبان خواهد بود\&. هنگامی که با سوییچ \fB\-\-read\-only\fR ترکیب شود، یک سوار کردن پیوندی فقط‌خواندنی ایجاد می‌شود\&. هنگامی که با سوییچ \fB\-\-mkdir\fR ترکیب شود، مسیر مقصد ابتدا پیش از اعمال سوار کردن ایجاد می‌گردد\&. توجه داشته باشید که این گزینه در حال حاضر تنها برای کانتینرهای \fBsystemd-nspawn\fR(1) پشتیبانی می‌شود، و تنها در صورتی که فضای نام کاربری (\fB\-\-private\-users\fR) استفاده نشده باشد\&. این دستور از سوار کردن پیوندی دایرکتوری‌ها، فایل‌های معمولی، گره‌های دستگاه (device nodes)، گره‌های سوکت \fBAF_UNIX\fR و همچنین FIFOها پشتیبانی می‌کند\&. .sp افزوده شده در نگارش 219\&. .RE .PP \fBbind\-volume\fR \fINAME\fR \fISPEC\fR .RS 4 دریافت یک حجم ذخیره‌سازی از یک ارائه‌دهنده \fBstoragectl\fR(1) و پیوست کردن آن به ماشین در حال اجرا\&. \fISPEC\fR رشته‌ای به شکل "\fIPROVIDER\fR:\fIVOLUME\fR[:\fICONFIG\fR][:\fIK=V\fR,\&...]" است که از نظر دستور زبان با آرگومان \fB\-\-bind\-volume=\fR در \fBsystemd-vmspawn\fR(1) یکسان است\&. .sp حجم پیوست‌شده با نام "\fIPROVIDER\fR:\fIVOLUME\fR" شناسایی می‌شود و می‌تواند در زمان اجرا از طریق \fBunbind\-volume\fR جدا شود\&. در حال حاضر تنها برای ماشین‌های \fBsystemd\-vmspawn\fR پشتیبانی می‌شود که یک سوکت کنترلی \fBio\&.systemd\&.MachineInstance\fR را ارائه می‌دهند\&. .sp افزوده شده در نگارش 261\&. .RE .PP \fBunbind\-volume\fR \fINAME\fR \fISTORAGE\-NAME\fR .RS 4 جدا کردن یک حجم ذخیره‌سازی از ماشین در حال اجرا\&. \fISTORAGE\-NAME\fR شناسه "\fIPROVIDER\fR:\fIVOLUME\fR" است که در زمان \fBbind\-volume\fR مشخص شده بود\&. حجم‌هایی که در زمان راه‌اندازی ماشین پیوست شده بودند (به عنوان مثال از طریق \fB\-\-bind\-volume=\fR روی \fBsystemd-vmspawn\fR(1)) نمی‌توانند جدا شوند و با خطای \fBio\&.systemd\&.MachineInstance\&.StorageImmutable\fR شکست خواهند خورد\&. .sp افزوده شده در نگارش 261\&. .RE .PP \fBcopy\-to\fR \fINAME\fR \fIPATH\fR [\fIPATH\fR] \fB\-\-force\fR .RS 4 رونوشت‌برداری از فایل‌ها یا دایرکتوری‌ها از سیستم میزبان به درون یک کانتینر در حال اجرا\&. نام یک کانتینر را می‌گیرد و به دنبال آن مسیر مبدأ روی میزبان و مسیر مقصد در کانتینر می‌آید\&. اگر مسیر مقصد حذف شود، همان مسیر مبدأ استفاده می‌شود\&. .sp اگر میزبان و کانتینر فضای نام کاربری و گروهی یکسانی داشته باشند، مالکیت فایل‌ها بر اساس شناسه عددی کاربر و شناسه گروه برای نسخه کپی حفظ می‌شود؛ در غیر این صورت، مالکیت تمام فایل‌ها و دایرکتوری‌ها در نسخه کپی متعلق به کاربر و گروه ریشه (UID/GID 0) خواهد بود\&. .sp افزوده شده در نگارش 219\&. .RE .PP \fBcopy\-from\fR \fINAME\fR \fIPATH\fR [\fIPATH\fR] \fB\-\-force\fR .RS 4 رونوشت‌برداری از فایل‌ها یا دایرکتوری‌ها از یک کانتینر به سیستم میزبان\&. نام یک کانتینر را می‌گیرد و به دنبال آن مسیر مبدأ در کانتینر و مسیر مقصد روی میزبان می‌آید\&. اگر مسیر مقصد حذف شود، همان مسیر مبدأ استفاده می‌شود\&. .sp اگر میزبان و کانتینر فضای نام کاربری و گروهی یکسانی داشته باشند، مالکیت فایل‌ها بر اساس شناسه عددی کاربر و شناسه گروه برای نسخه کپی حفظ می‌شود؛ در غیر این صورت، مالکیت تمام فایل‌ها و دایرکتوری‌ها در نسخه کپی متعلق به کاربر و گروه ریشه (UID/GID 0) خواهد بود\&. .sp افزوده شده در نگارش 219\&. .RE .SS "دستورات ایمیج (Image Commands)" .PP \fBlist\-images\fR .RS 4 نمایش فهرستی از ایمیج‌های کانتینر و ماشین مجازی محلی نصب‌شده\&. این دستور تمام ایمیج‌های دیسک خام و دایرکتوری‌ها و زیرحجم‌های کانتینر را در /var/lib/machines/ (و سایر مسیرهای جستجو، در ادامه را ببینید) برمی‌شمارد\&. از \fBstart\fR (در بالا را ببینید) برای اجرای یک کانتینر از روی یکی از ایمیج‌های فهرست‌شده استفاده کنید\&. توجه داشته باشید که به طور پیش‌فرض، کانتینرهایی که نام آن‌ها با نقطه ("\&.") شروع می‌شود نمایش داده نمی‌شوند\&. برای نمایش این موارد نیز، \fB\-\-all\fR را مشخص کنید\&. توجه داشته باشید که یک ایمیج ویژه "\&.host" همیشه به طور ضمنی وجود دارد و به ایمیجی اشاره دارد که خود میزبان از روی آن بوت شده است\&. .sp افزوده شده در نگارش 219\&. .RE .PP \fBimage\-status\fR [\fINAME\fR\&...] .RS 4 نمایش اطلاعات خلاصه وضعیت درباره یک یا چند ایمیج کانتینر یا ماشین مجازی\&. این تابع برای تولید خروجی خوانا برای انسان در نظر گرفته شده است\&. به جای آن از \fBshow\-image\fR (در ادامه را ببینید) برای تولید خروجی قابل تجزیه توسط رایانه استفاده کنید\&. .sp افزوده شده در نگارش 219\&. .RE .PP \fBshow\-image\fR [\fINAME\fR\&...] .RS 4 نمایش ویژگی‌های یک یا چند ایمیج ماشین مجازی یا کانتینر ثبت‌شده، یا خود مدیر\&. اگر آرگومانی مشخص نشود، ویژگی‌های مدیر نمایش داده می‌شود\&. اگر یک NAME مشخص شود، ویژگی‌های این ایمیج ماشین مجازی یا کانتینر نمایش داده می‌شود\&. به طور پیش‌فرض، ویژگی‌های خالی پنهان می‌شوند\&. از \fB\-\-all\fR برای نمایش آن‌ها نیز استفاده کنید\&. برای انتخاب ویژگی‌های خاص جهت نمایش، از \fB\-\-property=\fR استفاده کنید\&. این دستور برای زمان‌هایی در نظر گرفته شده که خروجی قابل تجزیه توسط رایانه مورد نیاز است\&. اگر به دنبال خروجی قالب‌بندی‌شده و خوانا برای انسان هستید از \fBimage\-status\fR استفاده کنید\&. .sp افزوده شده در نگارش 219\&. .RE .PP \fBedit\fR \fINAME|FILE\fR .RS 4 ویرایش فایل تنظیمات ماشین‌های مشخص‌شده\&. برای اطلاع از ساختار و قالب فایل تنظیمات، به \fBsystemd.nspawn\fR(5) مراجعه کنید\&. اگر فایل تنظیمات موجود برای ماشین داده‌شده یافت نشود، \fBedit\fR به طور خودکار یک فایل تنظیمات جدید را از ابتدا در مسیر /etc/systemd/nspawn/ ایجاد می‌کند\&. .sp افزوده شده در نگارش 254\&. .RE .PP \fBcat\fR \fINAME|FILE\fR .RS 4 نمایش فایل تنظیمات ماشین‌های مشخص‌شده\&. .sp افزوده شده در نگارش 254\&. .RE .PP \fBclone\fR \fINAME\fR \fINAME\fR .RS 4 شبیه‌سازی (کلون کردن) یک ایمیج کانتینر یا ماشین مجازی\&. آرگومان‌ها نام ایمیج مبدأ برای کلون شدن و نام ایمیج تازه کلون‌شده را مشخص می‌کنند\&. توجه داشته باشید که ایمیج‌های کانتینر دایرکتوری معمولی با این دستور به ایمیج‌های زیرحجم btrfs کلون می‌شوند، البته در صورتی که فایل‌سیستم زیربنایی از این قابلیت پشتیبانی کند\&. توجه داشته باشید که کلون کردن یک ایمیج کانتینر یا ماشین مجازی برای فایل‌سیستم‌هایی که از کپی‌هنگام‌نوشتن (copy\-on\-write) پشتیبانی می‌کنند بهینه‌سازی شده است، و ممکن است روی سایر فایل‌سیستم‌ها به دلیل محدودیت‌های آن‌ها چندان کارآمد نباشد\&. .sp توجه داشته باشید که این دستور نام میزبان، شناسه ماشین (machine ID) و تمام تنظیمات دیگری را که می‌توانند نمونه را شناسایی کنند دست‌نخورده باقی می‌گذارد\&. بنابراین ایمیج اصلی و نسخه کلون‌شده این اطلاعات هویتی را به اشتراک خواهند داشت و ممکن است لازم باشد آن‌ها را به صورت دستی در نسخه کپی تغییر دهید\&. .sp اگر با سوییچ \fB\-\-read\-only\fR ترکیب شود، یک ایمیج کلون‌شده فقط‌خواندنی ایجاد می‌گردد\&. .sp افزوده شده در نگارش 219\&. .RE .PP \fBrename\fR \fINAME\fR \fINAME\fR .RS 4 تغییر نام یک ایمیج کانتینر یا ماشین مجازی\&. آرگومان‌ها نام ایمیج فعلی برای تغییر نام و نام جدید ایمیج را مشخص می‌کنند\&. .sp افزوده شده در نگارش 219\&. .RE .PP \fBread\-only\fR \fINAME\fR [\fIBOOL\fR] .RS 4 علامت‌گذاری یا (لغو علامت‌گذاری) یک ایمیج کانتینر یا ماشین مجازی به عنوان فقط‌خواندنی\&. نام یک ایمیج ماشین مجازی یا کانتینر را می‌گیرد و به دنبال آن یک مقدار بولی به عنوان آرگومان می‌آید\&. اگر مقدار بولی حذف شود، مثبت (true) در نظر گرفته می‌شود، یعنی ایمیج به عنوان فقط‌خواندنی علامت‌گذاری می‌گردد\&. .sp افزوده شده در نگارش 219\&. .RE .PP \fBremove\fR \fINAME\fR\&... .RS 4 حذف یک یا چند ایمیج کانتینر یا ماشین مجازی\&. ایمیج ویژه "\&.host" که به درخت دایرکتوری خود میزبان اشاره دارد، قابل حذف نیست\&. .sp افزوده شده در نگارش 219\&. .RE .PP \fBset\-limit\fR [\fINAME\fR] \fIBYTES\fR .RS 4 تنظیم حداکثر اندازه به بایت که یک ایمیج کانتینر یا ماشین مجازی خاص، یا همه ایمیج‌ها می‌توانند روی دیسک رشد کنند (سهمیه دیسک یا disk quota)\&. یک یا دو پارامتر دریافت می‌کند\&. پارامتر اول و اختیاری به نام ایمیج کانتینر یا ماشین مجازی اشاره دارد\&. در صورت مشخص شدن، محدودیت اندازه ایمیج مشخص‌شده تغییر می‌کند\&. در صورت حذف، محدودیت اندازه کلی مجموع تمام ایمیج‌های ذخیره‌شده به صورت محلی تغییر می‌کند\&. آرگومان نهایی محدودیت اندازه را به بایت مشخص می‌کند که می‌تواند با پسوندهای رایج واحدهای K، M، G، T همراه باشد\&. اگر قرار است محدودیت اندازه غیرفعال شود، "\-" را به عنوان اندازه مشخص کنید\&. .sp توجه داشته باشید که محدودیت اندازه به ازای هر کانتینر تنها روی فایل‌سیستم‌های btrfs پشتیبانی می‌شود\&. .sp افزوده شده در نگارش 220\&. .RE .PP \fBclean\fR .RS 4 حذف ایمیج‌های پنهان ماشین مجازی یا کانتینر (یا همه آن‌ها)\&. این دستور تمام ایمیج‌های پنهان ماشین را از /var/lib/machines/ حذف می‌کند، یعنی مواردی که نام آن‌ها با نقطه شروع می‌شود\&. از \fBmachinectl list\-images \-\-all\fR برای دیدن فهرستی از تمام ایمیج‌های ماشین، از جمله موارد پنهان استفاده کنید\&. .sp هنگامی که با سوییچ \fB\-\-all\fR ترکیب شود، تمام ایمیج‌ها را حذف می‌کند، نه فقط موارد پنهان را\&. این دستور در عمل دایرکتوری /var/lib/machines/ را خالی می‌سازد\&. .sp توجه داشته باشید که دستوراتی مانند \fBimportctl pull\-tar\fR یا \fBimportctl pull\-raw\fR معمولاً ابتدا ایمیج‌های ماشینی پنهان، فقط‌خواندنی و تغییرنیافته را از ایمیج دانلودشده ایجاد می‌کنند، پیش از آنکه یک نسخه کاری قابل نوشتن از آن را کلون کنند، تا در صورت استفاده چندباره از ایمیج‌ها از دانلودهای تکراری جلوگیری شود\&. از \fBmachinectl clean\fR برای حذف ایمیج‌های قدیمی و پنهان ایجادشده به این روش استفاده کنید\&. .sp افزوده شده در نگارش 230\&. .RE .SH "گزینه‌ها (OPTIONS)" .PP گزینه‌های زیر پشتیبانی می‌شوند: .PP \fB\-p\fR, \fB\-\-property=\fR .RS 4 هنگام نمایش ویژگی‌های ماشین یا ایمیج، خروجی را به ویژگی‌های خاصی که توسط آرگومان مشخص شده‌اند محدود می‌کند\&. در صورت عدم تعیین، تمام ویژگی‌های تنظیم‌شده نمایش داده می‌شوند\&. آرگومان باید نام یک ویژگی باشد، مانند "Name"\&. اگر بیش از یک بار مشخص شود، تمام ویژگی‌های دارای نام‌های مشخص‌شده نمایش داده می‌شوند\&. .sp افزوده شده در نگارش 206\&. .RE .PP \fB\-\-value\fR .RS 4 هنگام چاپ ویژگی‌ها با \fBshow\fR، تنها مقدار را چاپ کرده و از نام ویژگی و "=" صرف‌نظر می‌کند\&. .sp افزوده شده در نگارش 230\&. .RE .PP \fB\-P\fR .RS 4 معادل \fB\-\-value\fR \fB\-\-property=\fR است، یعنی مقدار ویژگی را بدون نام ویژگی یا "=" نمایش می‌دهد\&. توجه داشته باشید که استفاده از \fB\-P\fR برای یک بار، بر تمام ویژگی‌های فهرست‌شده با \fB\-p\fR/\fB\-\-property=\fR نیز تأثیر می‌گذارد\&. .sp افزوده شده در نگارش 256\&. .RE .PP \fB\-a\fR, \fB\-\-all\fR .RS 4 هنگام نمایش ویژگی‌های ماشین یا ایمیج، تمام ویژگی‌ها را صرف‌نظر از تنظیم بودن یا نبودن آن‌ها نمایش می‌دهد\&. .sp هنگام فهرست کردن ایمیج‌های ماشین مجازی یا کانتینر، از پنهان کردن ایمیج‌هایی که با نویسه نقطه ("\&.") شروع می‌شوند خودداری می‌کند\&. .sp هنگام پاک‌سازی ایمیج‌های ماشین مجازی یا کانتینر، همه ایمیج‌ها را حذف می‌کند، نه فقط موارد پنهان را\&. .sp افزوده شده در نگارش 206\&. .RE .PP \fB\-l\fR, \fB\-\-full\fR .RS 4 از کوتاه کردن ورودی‌های درخت فرآیند یا جدول خودداری می‌کند\&. این گزینه متضمن \fB\-\-max\-addresses=full\fR است\&. .sp افزوده شده در نگارش 206\&. .RE .PP \fB\-\-kill\-whom=\fR .RS 4 هنگام استفاده با \fBkill\fR، فرآیندهایی را که باید کشته شوند انتخاب می‌کند\&. باید یکی از مقادیر \fBleader\fR، \fBsupervisor\fR، یا \fBall\fR باشد تا انتخاب کند که تنها فرآیند لیدر (leader) ماشین، فرآیند ناظر (supervisor) ماشین، یا تمام فرآیندهای ماشین کشته شوند\&. در صورت حذف، مقدار پیش‌فرض \fBall\fR خواهد بود\&. .sp افزوده شده در نگارش 206\&. .RE .PP \fB\-s\fR, \fB\-\-signal=\fR .RS 4 هنگام استفاده با \fBkill\fR، سیگنالی را که باید به فرآیندهای انتخاب‌شده ارسال شود تعیین می‌کند\&. باید یکی از مشخص‌کننده‌های سیگنال شناخته‌شده مانند \fBSIGTERM\fR، \fBSIGINT\fR یا \fBSIGSTOP\fR باشد\&. در صورت حذف، مقدار پیش‌فرض \fBSIGTERM\fR خواهد بود\&. .sp مقدار ویژه "help" فهرستی از مقادیر شناخته‌شده را نمایش داده و برنامه بلافاصله خارج می‌شود، و مقدار ویژه "list" مقادیر شناخته‌شده را همراه با شماره‌های عددی سیگنال فهرست کرده و برنامه بلافاصله خارج می‌شود\&. .RE .PP \fB\-\-uid=\fR .RS 4 هنگام استفاده با دستور \fBshell\fR، شناسه کاربری (UID) را برای باز کردن نشست پوسته تعاملی انتخاب می‌کند\&. اگر آرگومان دستور \fBshell\fR یک نام کاربری را نیز مشخص کرده باشد، این گزینه نادیده گرفته می‌شود\&. اگر نام به هیچ‌یک از این دو روش مشخص نشود، "root" به طور پیش‌فرض استفاده خواهد شد\&. توجه داشته باشید که این سوییچ برای دستور \fBlogin\fR (در ادامه را ببینید) پشتیبانی نمی‌شود\&. .sp افزوده شده در نگارش 225\&. .RE .PP \fB\-E \fR\fB\fINAME\fR\fR\fB[=\fR\fB\fIVALUE\fR\fR\fB]\fR, \fB\-\-setenv=\fR\fB\fINAME\fR\fR\fB[=\fR\fB\fIVALUE\fR\fR\fB]\fR .RS 4 هنگام استفاده با دستور \fBshell\fR، یک متغیر محیطی را برای پوسته اجراشده تنظیم می‌کند\&. این گزینه می‌تواند بیش از یک بار برای تنظیم چندین متغیر استفاده شود\&. هنگامی که "=" و \fIVALUE\fR حذف شوند، مقدار متغیر با همان نام در محیط برنامه استفاده خواهد شد\&. .sp توجه داشته باشید که این گزینه برای دستور \fBlogin\fR پشتیبانی نمی‌شود\&. .sp افزوده شده در نگارش 230\&. .RE .PP \fB\-\-mkdir\fR .RS 4 هنگام استفاده با \fBbind\fR، فایل یا دایرکتوری مقصد را پیش از اعمال سوار کردن پیوندی ایجاد می‌کند\&. توجه داشته باشید که اگرچه نام این گزینه نشان می‌دهد که تنها برای دایرکتوری‌ها مناسب است، این گزینه همچنین گره فایل مقصد را برای سوار کردن بر روی آن ایجاد می‌کند اگر شیء مورد نظر برای سوار کردن یک دایرکتوری نبوده، بلکه یک فایل معمولی، گره دستگاه، سوکت یا FIFO باشد\&. .sp افزوده شده در نگارش 219\&. .RE .PP \fB\-\-read\-only\fR .RS 4 هنگام استفاده با \fBbind\fR، یک اتصال سوار کردن پیوندی فقط‌خواندنی ایجاد می‌کند\&. .sp هنگام استفاده با \fBclone\fR یک ایمیج کانتینر یا ماشین مجازی فقط‌خواندنی ایجاد می‌شود\&. .sp افزوده شده در نگارش 219\&. .RE .PP \fB\-n\fR, \fB\-\-lines=\fR .RS 4 هنگام استفاده با \fBstatus\fR، تعداد خطوط ژورنال را برای نمایش از میان جدیدترین خطوط کنترل می‌کند\&. یک آرگومان عدد صحیح مثبت می‌گیرد\&. پیش‌فرض 10 است\&. .sp افزوده شده در نگارش 219\&. .RE .PP \fB\-o\fR, \fB\-\-output=\fR .RS 4 هنگام استفاده با \fBstatus\fR، قالب‌بندی ورودی‌های ژورنال نمایش‌داده‌شده را کنترل می‌کند\&. برای گزینه‌های موجود، به \fBjournalctl\fR(1) مراجعه کنید\&. پیش‌فرض "short" است\&. .sp افزوده شده در نگارش 219\&. .RE .PP \fB\-\-runner=\fR\fBnspawn\fR|\fBvmspawn\fR .RS 4 هنگام کار روی ماشین‌ها، انتخاب می‌کند که از \fBsystemd-nspawn\fR(1) یا \fBsystemd-vmspawn\fR(1) استفاده شود\&. به طور پیش‌فرض از \fBsystemd-nspawn\fR(1) استفاده می‌شود\&. .sp افزوده شده در نگارش 256\&. .RE .PP \fB\-V\fR .RS 4 \fB\-V\fR یک میان‌بر برای \fB\-\-runner=vmspawn\fR است\&. .sp افزوده شده در نگارش 256\&. .RE .PP \fB\-\-now\fR .RS 4 هنگام استفاده با \fBenable\fR یا \fBdisable\fR، کانتینرها همچنین راه‌اندازی یا خاموش خواهند شد\&. عملیات start یا poweroff تنها زمانی انجام می‌شود که عملیات enable یا disable مربوطه موفقیت‌آمیز بوده باشد\&. .sp افزوده شده در نگارش 253\&. .RE .PP \fB\-\-force\fR .RS 4 جایگزینی فایل مقصد هنگام رونوشت‌برداری از فایل‌ها\&. .sp افزوده شده در نگارش 219\&. .RE .PP \fB\-\-max\-addresses=\fR .RS 4 هنگام استفاده با دستور \fBlist\-machines\fR، تعداد آدرس‌های IP نمایش‌داده‌شده برای هر ماشین را محدود می‌کند\&. پیش‌فرض 1 است\&. تمام آدرس‌ها را می‌توان با "all" درخواست کرد\&. اگر محدودیت 0 باشد، ستون آدرس نمایش داده نمی‌شود\&. در غیر این صورت، اگر ماشین آدرس‌های بیشتری نسبت به مقدار نمایش‌داده‌شده داشته باشد، "\&..." به دنبال آخرین آدرس می‌آید\&. .sp افزوده شده در نگارش 232\&. .RE .PP \fB\-q\fR, \fB\-\-quiet\fR .RS 4 سرکوب خروجی‌های اطلاعاتی اضافی هنگام اجرا\&. .sp افزوده شده در نگارش 236\&. .RE .PP \fB\-H\fR, \fB\-\-host=\fR .RS 4 اجرای عملیات از راه دور\&. یک نام میزبان، یا نام کاربری و نام میزبان را که با "@" از هم جدا شده‌اند برای اتصال مشخص کنید\&. نام میزبان می‌تواند به صورت اختیاری با یک پورت که ssh به آن گوش می‌دهد (با جداکننده ":") و سپس یک نام کانتینر (با جداکننده "/") دنبال شود، که مستقیماً به یک کانتینر خاص روی میزبان مشخص‌شده متصل می‌شود\&. این کار از SSH برای گفتگو با نمونه مدیر ماشین راه دور استفاده می‌کند\&. نام‌های کانتینر می‌توانند با \fBmachinectl \-H \fR\fB\fIHOST\fR\fR برشمرده شوند\&. آدرس‌های IPv6 را درون براکت‌ها قرار دهید\&. .RE .PP \fB\-M\fR, \fB\-\-machine=\fR .RS 4 اتصال به \fBsystemd-machined.service\fR(8) در حال اجرا در یک کانتینر محلی، جهت انجام عملیات مشخص‌شده در درون کانتینر\&. .sp افزوده شده در نگارش 235\&. .RE .PP \fB\-\-no\-pager\fR .RS 4 خروجی را به یک صفحه‌بند (pager) هدایت نمی‌کند\&. .RE .PP \fB\-\-no\-legend\fR .RS 4 راهنما (legend)، یعنی سرستون‌های جدول و پاورقی حاوی نکات را چاپ نمی‌کند\&. .RE .PP \fB\-\-no\-ask\-password\fR .RS 4 برای عملیات نیازمند دسترسی ویژه از کاربر درخواست احراز هویت نمی‌کند\&. .RE .PP \fB\-h\fR, \fB\-\-help\fR .RS 4 نمایش یک متن کوتاه راهنما و خروج\&. .RE .PP \fB\-\-version\fR .RS 4 نمایش یک رشته کوتاه نگارش و خروج\&. .RE .SH "نام‌های ماشین و ایمیج (MACHINE AND IMAGE NAMES)" .PP ابزار \fBmachinectl\fR روی ماشین‌ها و ایمیج‌هایی کار می‌کند که نام‌های آن‌ها باید بر اساس قوانین سخت‌گیرانه‌ای انتخاب شوند\&. نام‌های ماشین باید برای استفاده به عنوان نام‌های میزبان بر اساس زیرمجموعه محافظه‌کارانه‌ای از مفاهیم DNS و یونیکس/لینوکس مناسب باشند\&. به طور خاص، آن‌ها باید از یک یا چند رشته برچسب غیرخالی تشکیل شده باشند که با نقطه از یکدیگر جدا می‌شوند\&. نقطه‌های ابتدایی یا انتهایی مجاز نیستند\&. توالی چند نقطه مجاز نیست\&. رشته‌های برچسب تنها می‌توانند شامل نویسه‌های الفبایی\-عددی و همچنین خط تیره باشند\&. حداکثر طول نام ماشین 64 نویسه است\&. .PP یک ماشین ویژه با نام "\&.host" به خود سیستم میزبان در حال اجرا اشاره دارد\&. این برای اجرای عملیات یا بازرسی خود سیستم میزبان نیز مفید است\&. توجه داشته باشید که \fBmachinectl list\fR این ماشین ویژه را نمایش نخواهد داد مگر اینکه سوییچ \fB\-\-all\fR مشخص شده باشد\&. .PP الزامات مربوط به نام‌های ایمیج سخت‌گیری کمتری دارند، با این حال باید UTF\-8 معتبر باشند، به عنوان نام فایل مناسب باشند (بنابراین نباید نقطه تکی یا جفت‌نقطه باشند، و نباید شامل اسلش باشند)، و نباید شامل نویسه‌های کنترلی باشند\&. از آنجا که بسیاری از عملیات‌ها به دنبال ایمیجی با نام ماشین درخواست‌شده می‌گردند، توصیه می‌شود که نام ایمیج‌ها به همان شیوه سخت‌گیرانه نام‌های ماشین نام‌گذاری شوند\&. .PP یک ایمیج ویژه با نام "\&.host" به ایمیج سیستم میزبان در حال اجرا اشاره دارد\&. بنابراین از نظر مفهومی به نام ماشین ویژه "\&.host" توصیف‌شده در بالا نگاشت می‌شود\&. توجه داشته باشید که \fBmachinectl list\-images\fR نیز این ایمیج ویژه را نمایش نخواهد داد، مگر اینکه \fB\-\-all\fR مشخص شده باشد\&. .SH "فایل‌ها و دایرکتوری‌ها (FILES AND DIRECTORIES)" .PP ایمیج‌های ماشین ترجیحاً در /var/lib/machines/ ذخیره می‌شوند، اما در /usr/local/lib/machines/ و /usr/lib/machines/ نیز جستجو می‌شوند\&. به دلایل سازگاری، دایرکتوری /var/lib/container/ نیز جستجو می‌شود\&. توجه داشته باشید که ایمیج‌های ذخیره‌شده در زیر /usr/ همواره فقط‌خواندنی در نظر گرفته می‌شوند\&. امکان پیوند نمادین (symlink) دادن ایمیج‌های ماشین از سایر دایرکتوری‌ها به درون /var/lib/machines/ وجود دارد تا برای کنترل با \fBmachinectl\fR در دسترس قرار گیرند\&. .PP توجه داشته باشید که برخی از عملیات‌های ایمیج تنها بر روی فایل‌سیستم‌های btrfs پشتیبانی می‌شوند، کارآمد هستند یا به صورت اتمیک (اتمام‌پذیر و یکپارچه) انجام می‌پذیرند\&. .PP ایمیج‌های دیسک توسط \fBsystemd-nspawn\fR(1) و \fBmachinectl\fR در سه قالب شناخته می‌شوند: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} یک درخت دایرکتوری ساده، حاوی فایل‌ها و دایرکتوری‌های کانتینری که باید بوت شود\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} زیرحجم‌ها (روی فایل‌سیستم‌های btrfs)، که مشابه با دایرکتوری‌های ساده توصیف‌شده در بالا هستند\&. با این حال، آن‌ها مزایای اضافی مانند کلون کردن کارآمد و گزارش سهمیه دارند\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} ایمیج‌های دیسک خام ("Raw")، یعنی ایمیج‌های دودویی از دیسک‌ها با جدول پارتیشن GPT یا MBR\&. ایمیج‌های این نوع، فایل‌های معمولی با پسوند "\&.raw" هستند\&. .RE .PP برای اطلاعات بیشتر در مورد قالب‌های ایمیج، به ویژه گزینه‌های \fB\-\-directory=\fR و \fB\-\-image=\fR آن به \fBsystemd-nspawn\fR(1) مراجعه کنید\&. .SH "مثال‌ها (EXAMPLES)" .PP \fBمثال\ \&1.\ \&دانلود یک ایمیج خام RAW از اوبونتو، تنظیم گذرواژه ریشه در آن، و راه‌اندازی آن به عنوان یک سرویس\fR .sp .if n \{\ .RS 4 .\} .nf # importctl pull\-raw \-mN \e https://cloud\-images\&.ubuntu\&.com/jammy/current/jammy\-server\-cloudimg\-amd64\-disk\-kvm\&.img \e jammy # systemd\-firstboot \-\-image=/var/lib/machines/jammy\&.raw \-\-prompt\-root\-password \-\-force # machinectl start jammy # machinectl login jammy .fi .if n \{\ .RE .\} .PP این دستور ایمیج مشخص‌شده \&.raw را دانلود کرده و آن را تحت نام محلی "jammy" در دسترس قرار می‌دهد\&. سپس، یک گذرواژه ریشه با \fBsystemd-firstboot\fR(1) تنظیم می‌شود\&. پس از آن، ماشین به عنوان یک سرویس سیستمی راه‌اندازی می‌شود\&. با دستور آخر یک اعلان ورود به درون کانتینر درخواست می‌گردد\&. .SH "وضعیت خروج (EXIT STATUS)" .PP در صورت موفقیت 0 بازگردانده می‌شود، و در غیر این صورت یک کد خطای غیرصفر برگردانده خواهد شد\&. .SH "محیط (ENVIRONMENT)" .PP \fI$SYSTEMD_LOG_LEVEL\fR .RS 4 حداکثر سطح ثبت پیام‌های صادرشده (پیام‌های دارای سطح بالاتر، یعنی کم‌اهمیت‌تر، سرکوب خواهند شد)\&. فهرستی از مقادیر جداشده با کاما را می‌پذیرد\&. یک مقدار می‌تواند یکی از مقادیر زیر (به ترتیب کاهش اهمیت) باشد: \fBemerg\fR، \fBalert\fR، \fBcrit\fR، \fBerr\fR، \fBwarning\fR، \fBnotice\fR، \fBinfo\fR، \fBdebug\fR، یا یک عدد صحیح در محدوده 0\&...7 باشد\&. برای اطلاعات بیشتر به \fBsyslog\fR(3) مراجعه کنید\&. هر مقدار می‌تواند به صورت اختیاری با یکی از پیشوندهای \fBconsole\fR، \fBsyslog\fR، \fBkmsg\fR یا \fBjournal\fR همراه با دونقطه برای تنظیم حداکثر سطح گزارش برای آن مقصد خاص (به عنوان مثال \fBSYSTEMD_LOG_LEVEL=debug,console:info\fR مشخص می‌کند که سطح دیباگ اعمال شود مگر هنگام ثبت در کنسول که باید در سطح info باشد) همراه گردد\&. توجه داشته باشید که حداکثر سطح گزارش سراسری بر هر حداکثر سطح گزارش به ازای هر مقصد اولویت دارد\&. .RE .PP \fI$SYSTEMD_LOG_COLOR\fR .RS 4 یک مقدار بولی\&. اگر درست (true) باشد، پیام‌های نوشته‌شده در tty بر اساس اولویت رنگ‌آمیزی می‌شوند\&. .sp این تنظیم تنها زمانی مفید است که پیام‌ها مستقیماً در ترمینال نوشته شوند، زیرا \fBjournalctl\fR(1) و سایر ابزارهایی که گزارش‌ها را نمایش می‌دهند، خودشان پیام‌ها را بر اساس سطح لاگ رنگ‌آمیزی می‌کنند\&. .RE .PP \fI$SYSTEMD_LOG_TIME\fR .RS 4 یک مقدار بولی\&. اگر درست باشد، پیام‌های گزارش کنسول با یک برچسب زمانی همراه خواهند شد\&. .sp این تنظیم تنها زمانی مفید است که پیام‌ها مستقیماً در ترمینال یا یک فایل نوشته شوند، زیرا \fBjournalctl\fR(1) و سایر ابزارهایی که گزارش‌ها را نمایش می‌دهند، خودشان برچسب‌های زمانی را بر اساس متادیتای ورودی پیوست می‌کنند\&. .RE .PP \fI$SYSTEMD_LOG_LOCATION\fR .RS 4 یک مقدار بولی\&. اگر درست باشد، پیام‌ها با نام فایل و شماره خط در کد منبع که پیام از آنجا سرچشمه می‌گیرد پیشوندگذاری می‌شوند\&. .sp توجه داشته باشید که مکان گزارش اغلب به هر حال به عنوان متادیتا به ورودی‌های ژورنال پیوست می‌شود\&. با این وجود، گنجاندن مستقیم آن در متن پیام می‌تواند هنگام دیباگ کردن برنامه‌ها راحت باشد\&. .RE .PP \fI$SYSTEMD_LOG_TID\fR .RS 4 یک مقدار بولی\&. اگر درست باشد، پیام‌ها با شناسه عددی رشته جاری (TID) پیشوندگذاری می‌شوند\&. .sp توجه داشته باشید که این اطلاعات به هر حال به عنوان متادیتا به ورودی‌های ژورنال پیوست می‌شود\&. با این وجود، گنجاندن مستقیم آن در متن پیام می‌تواند هنگام دیباگ کردن برنامه‌ها راحت باشد\&. .RE .PP \fI$SYSTEMD_LOG_TARGET\fR .RS 4 مقصد پیام‌های گزارش\&. یکی از مقادیر \fBconsole\fR (گزارش به tty متصل‌شده)، \fBconsole\-prefixed\fR (گزارش به tty متصل‌شده اما با پیشوندهای کدگذاری‌کننده سطح گزارش و "facility"، به \fBsyslog\fR(3) مراجعه کنید)، \fBkmsg\fR (گزارش به بافر مدور گزارش کرنل)، \fBjournal\fR (گزارش به ژورنال)، \fBjournal\-or\-kmsg\fR (گزارش به ژورنال در صورت در دسترس بودن، و در غیر این صورت به kmsg)، \fBauto\fR (تعیین خودکار مقصد گزارش مناسب، حالت پیش‌فرض)، \fBnull\fR (غیرفعال کردن خروجی گزارش)\&. .RE .PP \fI$SYSTEMD_LOG_RATELIMIT_KMSG\fR .RS 4 آیا kmsg محدودیت نرخ (ratelimit) داشته باشد یا خیر\&. یک مقدار بولی می‌گیرد\&. پیش‌فرض "true" است\&. در صورت غیرفعال شدن، systemd پیام‌های نوشته‌شده در kmsg را محدود نخواهد کرد\&. .RE .PP \fI$SYSTEMD_PAGER\fR, \fI$PAGER\fR .RS 4 صفحه‌بندی که هنگام عدم ارائه \fB\-\-no\-pager\fR استفاده می‌شود\&. در صورت تنظیم بودن \fI$SYSTEMD_PAGER\fR استفاده می‌شود؛ در غیر این صورت \fI$PAGER\fR استفاده می‌گردد\&. اگر هیچ‌یک از \fI$SYSTEMD_PAGER\fR یا \fI$PAGER\fR تنظیم نشده باشند، مجموعه‌ای از پیاده‌سازی‌های شناخته‌شده صفحه‌بند به نوبت امتحان می‌شوند، از جمله \fBless\fR(1) و \fBmore\fR(1)، تا زمانی که یکی پیدا شود\&. اگر هیچ پیاده‌سازی صفحه‌بندی کشف نشود، هیچ صفحه‌بندی فراخوانی نمی‌شود\&. تنظیم این متغیرهای محیطی روی یک رشته خالی یا مقدار "cat" معادل ارسال \fB\-\-no\-pager\fR است\&. .sp توجه: اگر \fI$SYSTEMD_PAGERSECURE\fR تنظیم نشده باشد، \fI$SYSTEMD_PAGER\fR و \fI$PAGER\fR تنها می‌توانند برای غیرفعال کردن صفحه‌بند (با "cat" یا "") استفاده شوند، و در غیر این صورت نادیده گرفته می‌شوند\&. .RE .PP \fI$SYSTEMD_LESS\fR .RS 4 بازنویسی گزینه‌های ارسال‌شده به \fBless\fR (به طور پیش‌فرض "FRSXMK")\&. .sp کاربران ممکن است بخواهند دو گزینه را به طور ویژه تغییر دهند: .PP \fBK\fR .RS 4 این گزینه به صفحه‌بند دستور می‌دهد که هنگام فشردن Ctrl+C بلافاصله خارج شود\&. برای اینکه به \fBless\fR اجازه دهید خودش Ctrl+C را مدیریت کند تا به اعلان دستور صفحه‌بند برگردد، این گزینه را لغو کنید\&. .sp اگر مقدار \fI$SYSTEMD_LESS\fR شامل "K" نباشد، و صفحه‌بندی که فراخوانی می‌شود \fBless\fR باشد، Ctrl+C توسط فایل اجرایی نادیده گرفته شده و باید توسط صفحه‌بند مدیریت شود\&. .RE .PP \fBX\fR .RS 4 این گزینه به صفحه‌بند دستور می‌دهد که رشته‌های مقداردهی اولیه و بازنشانی termcap را به ترمینال ارسال نکند\&. این گزینه به طور پیش‌فرض تنظیم شده است تا خروجی دستور حتی پس از خروج از صفحه‌بند در ترمینال قابل مشاهده باقی بماند\&. با این وجود، این کار از عملکرد برخی قابلیت‌های صفحه‌بند جلوگیری می‌کند، به ویژه خروجی صفحه‌بندی‌شده را نمی‌توان با ماوس پیمایش کرد\&. .RE .sp توجه داشته باشید که تنظیم متغیر محیطی معمولی \fI$LESS\fR هیچ تاثیری بر فراخوانی‌های \fBless\fR توسط ابزارهای systemd ندارد\&. .sp برای توضیحات بیشتر به \fBless\fR(1) مراجعه کنید\&. .RE .PP \fI$SYSTEMD_LESSCHARSET\fR .RS 4 بازنویسی مجموعه نویسه‌های ارسال‌شده به \fBless\fR (به طور پیش‌فرض "utf\-8"، اگر ترمینال فراخواننده سازگار با UTF-8 تشخیص داده شود)\&. .sp توجه داشته باشید که تنظیم متغیر محیطی معمولی \fI$LESSCHARSET\fR هیچ تاثیری بر فراخوانی‌های \fBless\fR توسط ابزارهای systemd ندارد\&. .RE .PP \fI$SYSTEMD_PAGERSECURE\fR .RS 4 دستورات رایج صفحه‌بند مانند \fBless\fR(1)، علاوه بر «صفحه‌بندی» یعنی پیمایش در میان خروجی، از باز کردن یا نوشتن در فایل‌های دیگر و اجرای دستورات دلخواه پوسته پشتیبانی می‌کنند\&. هنگامی که دستورات با امتیازات بالا فراخوانی می‌شوند، به عنوان مثال تحت \fBsudo\fR(8) یا \fBpkexec\fR(1)، صفحه‌بند به یک مرز امنیتی تبدیل می‌شود\&. باید دقت شود که تنها برنامه‌هایی با عملکرد کاملاً محدود به عنوان صفحه‌بند استفاده شوند، و ویژگی‌های تعاملی ناخواسته مانند باز کردن یا ایجاد فایل‌های جدید یا راه‌اندازی فرآیندهای فرزند مجاز نباشند\&. «حالت امن» (secure mode) برای صفحه‌بند ممکن است به شرح زیر فعال شود، \fIاگر صفحه‌بند از آن پشتیبانی کند\fR (بیشتر صفحه‌بندها به گونه‌ای نوشته نشده‌اند که این موضوع را در نظر بگیرند)\&. توصیه می‌شود هنگام اجازه دادن به کاربران غیرقابل اعتماد برای اجرای دستورات با دسترسی‌های ارتقایافته، یا «حالت امن» را صراحتاً فعال کنید یا صفحه‌بند را با استفاده از \fB\-\-no\-pager\fR یا \fIPAGER=cat\fR به طور کامل غیرفعال نمایید\&. .sp این گزینه یک آرگومان بولی می‌گیرد\&. هنگامی که روی درست تنظیم شود، "حالت امن" صفحه‌بند فعال می‌شود\&. در "حالت امن"، \fBLESSSECURE=1\fR هنگام فراخوانی صفحه‌بند تنظیم خواهد شد، که به صفحه‌بند دستور می‌دهد دستوراتی را که فایل‌های جدید باز یا ایجاد می‌کنند یا زیرفرآیندهای جدید آغاز می‌نمایند غیرفعال کند\&. در حال حاضر تنها مشخص شده است که \fBless\fR(1) این متغیر را درک کرده و "حالت امن" را پیاده‌سازی می‌کند\&. .sp هنگامی که روی نادرست تنظیم شود، هیچ محدودیتی برای صفحه‌بند اعمال نمی‌شود\&. تنظیم \fISYSTEMD_PAGERSECURE=0\fR یا حذف نکردن آن از محیط به ارث رسیده ممکن است به کاربر اجازه دهد دستورات دلخواه را اجرا کند\&. .sp هنگامی که \fI$SYSTEMD_PAGERSECURE\fR تنظیم نشده باشد، ابزارهای systemd سعی می‌کنند به طور خودکار تشخیص دهند که آیا "حالت امن" باید فعال شود و آیا صفحه‌بند از آن پشتیبانی می‌کند یا خیر\&. اگر UID موثر همان مالک نشست ورود نباشد (به \fBgeteuid\fR(2) و \fBsd_pid_get_owner_uid\fR(3) مراجعه کنید)، یا هنگام اجرا تحت \fBsudo\fR(8) یا ابزارهای مشابه (\fI$SUDO_UID\fR تنظیم شده باشد \&\s-2\u[1]\d\s+2)، "حالت امن" فعال می‌شود\&. در این موارد، \fISYSTEMD_PAGERSECURE=1\fR تنظیم خواهد شد و صفحه‌بندهایی که مشخص نیست "حالت امن" را پیاده‌سازی می‌کنند اصلاً استفاده نخواهند شد\&. توجه داشته باشید که این تشخیص خودکار تنها رایج‌ترین مکانیسم‌های ارتقای دسترسی را پوشش می‌دهد و به عنوان یک تسهیل در نظر گرفته شده است\&. توصیه می‌شود صراحتاً \fI$SYSTEMD_PAGERSECURE\fR را تنظیم کرده یا صفحه‌بند را غیرفعال کنید\&. .sp توجه داشته باشید که اگر متغیرهای \fI$SYSTEMD_PAGER\fR یا \fI$PAGER\fR قرار است رعایت شوند، به غیر از غیرفعال کردن صفحه‌بند، \fI$SYSTEMD_PAGERSECURE\fR نیز باید تنظیم شده باشد\&. .RE .PP \fI$SYSTEMD_COLORS\fR .RS 4 یک آرگومان بولی، یا یک مقدار ویژه می‌گیرد\&. به طور پیش‌فرض (تنظیم‌نشده)، \fBsystemd\fR و ابزارهای مرتبط در صورت امکان از رنگ‌ها در خروجی خود استفاده خواهند کرد\&. اگر \fI$COLORTERM\fR روی "truecolor" یا "24bit" تنظیم شده باشد، رنگ‌های 24 بیتی فعال خواهند شد، در غیر این صورت 256 رنگ، مگر اینکه \fI$NO_COLOR\fR یا \fI$TERM\fR نشان دهد که رنگ‌ها غیرفعال هستند\&. .PP \fBtrue\fR .RS 4 مشابه حالت تنظیم‌نشده، با این تفاوت که \fI$NO_COLOR\fR نادیده گرفته می‌شود\&. .RE .PP \fBfalse\fR .RS 4 خروجی تک‌رنگ (سیاه و سفید) خواهد بود\&. .RE .PP "16", "256", "24bit" .RS 4 به ترتیب همیشه از رنگ‌های پایه‌ای 16 رنگ ANSI، 256 رنگ یا رنگ 24 بیتی استفاده می‌کند\&. .RE .PP "auto\-16", "auto\-256", "auto\-24bit" .RS 4 از تعداد رنگ‌های داده‌شده، بسته به \fI$TERM\fR و آنچه کنسول به آن متصل است، استفاده می‌کند\&. .RE .RE .PP \fI$SYSTEMD_URLIFY\fR .RS 4 مقدار باید یک مقدار بولی باشد\&. کنترل می‌کند که آیا پیوندهای قابل کلیک در خروجی برای شبیه‌سازهای ترمینال پشتیبانی‌کننده از این قابلیت ایجاد شوند یا خیر\&. این می‌تواند برای بازنویسی تصمیمی که \fBsystemd\fR بر اساس \fI$TERM\fR و سایر شرایط می‌گیرد مشخص شود\&. .RE .SH "همچنین ببینید (SEE ALSO)" .PP \fBsystemd\fR(1), \fBsystemd-machined.service\fR(8), \fBsystemd-nspawn\fR(1), \fBsystemd.special\fR(7), \fBimportctl\fR(1), \fBtar\fR(1), \fBxz\fR(1), \fBgzip\fR(1), \fBbzip2\fR(1), \fBzstd\fR(1) .SH "نکات (NOTES)" .IP " 1." 4 توصیه می‌شود که سایر ابزارها \fI$SUDO_UID\fR را در صورت لزوم تنظیم و بررسی کنند، و با آن به عنوان یک رابط مشترک رفتار نمایند\&.