IMPORTCTL(1) importctl IMPORTCTL(1)

importctl - دانلود، واردسازی و صادر کردن ایمیجهای دیسک و ماشین مجازی

importctl [OPTIONS...] {COMMAND} [NAME...]

دستور importctl ممکن است برای دانلود، واردسازی و صادر کردن ایمیج‌های دیسک از طریق systemd-importd.service(8) استفاده شود.

دستور importctl هم بر روی ایمیج‌های دیسک در سطح بلوک (مانند DDIها)، ایمیج‌های در سطح سیستم‌فایل (tarballها) و هم بر روی ایمیج‌های OCI عمل می‌کند. این دستور از ایمیج‌های دیسک در یکی از چهار رده (class) زیر پشتیبانی می‌کند:

•ایمیج‌های ماشین مجازی (VM) یا ایمیج‌های کانتینر کامل سیستم‌عامل، که می‌توانند از طریق systemd-vmspawn(1) یا systemd-nspawn(1) اجرا شده و از طریق machinectl(1) مدیریت شوند.
•ایمیج‌های سرویس پرتابل (قابل حمل)، که می‌توانند ضمیمه شده و از طریق portablectl(1) مدیریت شوند.
•ایمیج‌های پسوند سیستم (sysext)، که می‌توانند از طریق systemd-sysext(8) فعال‌سازی شوند.
•ایمیج‌های پسوند پیکربندی (confext)، که می‌توانند از طریق systemd-confext(8) فعال‌سازی شوند.

هنگامی که ایمیج‌ها دانلود یا وارد می‌شوند، بسته به پارامتر --class= در دایرکتوری‌های زیر قرار می‌گیرند:

جدول ۱. رده‌ها و دایرکتوری‌ها

رده (Class) دایرکتوری (Directory)
"machine" /var/lib/machines/
"portable" /var/lib/portables/
"sysext" /var/lib/extensions/
"confext" /var/lib/confexts/

دستورات زیر پشتیبانی می‌شوند:

pull-tar URL [NAME]

یک ایمیج .tar را از URL مشخص‌شده دانلود می‌کند و آن را تحت نام محلی تعیین‌شده در دایرکتوری ایمیج برای --class= انتخاب‌شده در دسترس قرار می‌دهد. نشانی URL باید از نوع "http://" یا "https://" باشد، و باید به یک فایل آرشیو .tar، .tar.gz، .tar.xz یا .tar.bz2 اشاره کند. در صورتی که نام ایمیج محلی حذف شود، به طور خودکار از آخرین جزء URL با حذف پسوند آن استخراج می‌شود.

ایمیج پیش از آنکه در دسترس قرار گیرد اعتبارسنجی می‌شود، مگر اینکه --verify=no مشخص شده باشد. اعتبارسنجی یا از طریق فایلی با نام ایمیج و پسوند .sha256 و یک امضای جداگانه (detached) .sha256.asc یا .sha256.gpg انجام می‌شود، یا از طریق فایل‌های مجزای SHA256SUMS و SHA256SUMS.asc یا SHA256SUMS.gpg. فایل‌های امضا باید بر روی همان وب‌سرور و تحت همان URL فایل .tar در دسترس قرار گیرند. با --verify=checksum، تنها چکسام SHA256 فایل بر اساس فایل دارای پسوند .sha256 یا فایل SHA256SUMS اعتبارسنجی می‌شود. با --verify=signature، ابتدا فایل چکسام sha با امضای جداگانه GPG مربوط به .sha256 یا SHA256SUMS اعتبارسنجی می‌گردد. کلید عمومی برای این مرحله اعتبارسنجی باید در /usr/lib/systemd/import-pubring.pgp یا /etc/systemd/import-pubring.pgp موجود باشد.

در صورتی که --keep-download=yes مشخص شده باشد، ایمیج دانلود شده و در یک زیرحجم (subvolume)/دایرکتوری فقط‌خواندنی در دایرکتوری ایمیج که بر اساس URL مشخص‌شده و ETag پروتکل HTTP آن نام‌گذاری می‌شود، ذخیره می‌گردد (برای اطلاعات بیشتر به HTTP ETag[1] مراجعه کنید). سپس یک اسنپ‌شات قابل‌نوشتن از این زیرحجم گرفته شده و به نام محلی مشخص‌شده نام‌گذاری می‌شود. این رفتار تضمین می‌کند که ایجاد چندین نمونه از یک URL با راندمان بالا صورت گیرد، زیرا نیازی به چندین بار دانلود نخواهد بود. به منظور ایجاد تنها ایمیج فقط‌خواندنی، و جلوگیری از ایجاد اسنپ‌شات قابل‌نوشتن آن، مقدار "-" را به عنوان نام محلی مشخص کنید.

توجه داشته باشید که فشردن Control-c در حین اجرای این دستور باعث لغو دانلود نخواهد شد. از cancel-transfer که در زیر شرح داده شده است استفاده کنید.

افزوده‌شده در نسخه 256.

pull-raw URL [NAME]

یک ایمیج دیسک .raw را از URL مشخص‌شده دانلود می‌کند و آن را تحت نام محلی تعیین‌شده در دایرکتوری ایمیج برای --class= انتخاب‌شده در دسترس قرار می‌دهد. نشانی URL باید از نوع "http://" یا "https://" باشد. ایمیج باید یا یک ایمیج qcow2 باشد یا یک ایمیج دیسک خام (raw)، که به صورت اختیاری به صورت .gz، .xz یا .bz2 فشرده شده است. در صورتی که نام محلی حذف شود، به طور خودکار از آخرین جزء URL با حذف پسوند آن استخراج می‌شود.

اعتبارسنجی ایمیج برای ایمیج‌های raw و tar یکسان است (به بالا مراجعه کنید).

اگر ایمیج دانلودشده در قالب qcow2 باشد، پیش از در دسترس قرار گرفتن به یک فایل ایمیج raw تبدیل می‌شود.

در صورتی که --keep-download=yes مشخص شده باشد، ایمیج دانلود شده و در یک فایل فقط‌خواندنی در دایرکتوری ایمیج که بر اساس URL مشخص‌شده و ETag پروتکل HTTP آن نام‌گذاری شده است ذخیره می‌شود. سپس یک رونوشت قابل‌نوشتن از این فایل ساخته شده و با نام محلی مشخص‌شده نام‌گذاری می‌گردد. این رفتار تضمین می‌کند که ایجاد چندین نمونه از یک URL با کارایی بالا صورت گیرد، زیرا نیازی به چندین بار دانلود نخواهد بود. برای ایجاد تنها ایمیج فقط‌خواندنی، و اجتناب از ایجاد رونوشت قابل‌نوشتن آن، مقدار "-" را به عنوان نام محلی مشخص کنید.

توجه داشته باشید که فشردن Control-c در حین اجرای این دستور دانلود را متوقف نخواهد کرد. از cancel-transfer که در زیر توضیح داده شده استفاده کنید.

افزوده‌شده در نسخه 256.

pull-oci REF [NAME]

ایمیج کانتینر OCI مشخص‌شده را دانلود می‌کند و آن را تحت نام محلی تعیین‌شده در دایرکتوری ایمیج برای --class= انتخاب‌شده در دسترس قرار می‌دهد. اولین آرگومان باید یک ارجاع کانتینر OCI باشد، مانند "library/nginx". در صورتی که نام محلی حذف شود، به طور خودکار از آخرین جزء URL با حذف پسوند آن استخراج می‌شود.

هنگام دانلود ایمیج‌های این نوع، هیچ اعتبارسنجی ایمیجی فراتر از احراز هویت معمول گواهی‌های HTTPS انجام نمی‌شود.

توجه داشته باشید که فشردن Control-c در حین اجرای این دستور دانلود را لغو نخواهد کرد. از cancel-transfer که در زیر شرح داده شده استفاده کنید.

افزوده‌شده در نسخه 260.

import-tar FILE [NAME], import-raw FILE [NAME]

یک ایمیج TAR یا RAW را وارد می‌کند و آن را تحت نام مشخص‌شده در دایرکتوری ایمیج برای رده ایمیج انتخاب‌شده از طریق --class= قرار می‌دهد. هنگامی که از import-tar استفاده می‌شود، فایلی که به عنوان آرگومان اول مشخص شده است باید یک آرشیو tar(1) باشد، که احتمالاً با xz(1)، gzip(1)، zstd(1) یا bzip2(1) فشرده شده است. سپس در زیرحجم/دایرکتوری اختصاصی خود از حالت فشرده خارج می‌شود. هنگامی که از import-raw استفاده می‌شود، فایل باید یک ایمیج دیسک qcow2 یا خام (raw) باشد، که احتمالاً با xz، gzip، zstd یا bzip2 فشرده شده است. اگر آرگومان دوم (نام ایمیج نهایی) مشخص نشده باشد، به طور خودکار از نام فایل استخراج می‌شود. اگر نام فایل به عنوان "-" ارسال شود، ایمیج از ورودی استاندارد خوانده می‌شود، که در این صورت آرگومان دوم الزامی است.

هنگام وارد کردن ایمیج‌ها هیچ اعتبارسنجی رمزنگاری‌شده‌ای انجام نمی‌شود.

همانند دانلود ایمیج‌ها، فرآیندهای واردسازی در حال اجرا نیز می‌توانند با list فهرست شده و با cancel-transfer لغو شوند.

افزوده‌شده در نسخه 256.

import-fs DIRECTORY [NAME]

ایمیج ذخیره‌شده در یک دایرکتوری محلی را به دایرکتوری ایمیج برای رده ایمیج انتخاب‌شده از طریق --class= وارد می‌کند و مشابه‌با import-tar یا import-raw عمل می‌نماید، اما آرگومان اول آن دایرکتوری مبدأ است. در صورت پشتیبانی، این دستور یک اسنپ‌شات یا زیرحجم btrfs(8) برای ایمیج جدید ایجاد می‌کند.

افزوده‌شده در نسخه 256.

export-tar NAME [FILE], export-raw NAME [FILE]

یک ایمیج TAR یا RAW را صادر کرده و در فایل مشخص‌شده ذخیره می‌کند. پارامتر اول باید نام یک ایمیج باشد. پارامتر دوم باید مسیر فایلی باشد که ایمیج TAR یا RAW در آن نوشته می‌شود. اگر مسیر به ".gz" ختم شود، فایل با gzip(1) فشرده می‌شود؛ اگر به ".xz" ختم شود، با xz(1)؛ اگر به ".zst" ختم شود، با zstd(1)؛ و اگر به ".bz2" ختم شود، با bzip2(1) فشرده خواهد شد. اگر مسیر به هیچ‌یک از این‌ها ختم نشود، فایل به صورت فشرده‌نشده باقی می‌ماند. اگر آرگومان دوم وجود نداشته باشد، ایمیج در خروجی استاندارد نوشته می‌شود. فشرده‌سازی را می‌توان به صراحت با سوییچ --format= نیز انتخاب کرد. این امر به ویژه زمانی که پارامتر دوم مشخص نشده باشد مفید است.

مشابه دانلودها و واردسازی‌های ایمیج، صادرات‌های در حال انجام را نیز می‌توان با list فهرست کرده و با cancel-transfer لغو نمود.

توجه داشته باشید که در حال حاضر، تنها ایمیج‌های دایرکتوری و زیرحجم می‌توانند به عنوان ایمیج‌های TAR، و تنها ایمیج‌های دیسک خام به عنوان ایمیج‌های RAW صادر شوند.

افزوده‌شده در نسخه 256.

list-transfer

فهرستی از دانلودها، واردسازی‌ها و صادرات‌های ایمیج که در حال حاضر در حال انجام هستند را نمایش می‌دهد.

افزوده‌شده در نسخه 256.

cancel-transfer ID...

یک دانلود، واردسازی یا صادرات ایمیج با شناسه مشخص‌شده را لغو می‌کند. برای فهرست کردن انتقال‌های جاری و شناسه‌های آن‌ها، از list استفاده کنید.

افزوده‌شده در نسخه 256.

list-images

فهرستی از ایمیج‌های تاکنون دانلودشده/واردشده را نمایش می‌دهد.

افزوده‌شده در نسخه 256.

گزینه‌های زیر پشتیبانی می‌شوند:

--read-only

هنگامی که همراه با pull-raw، pull-tar، import-raw، import-tar یا import-fs استفاده شود، یک ایمیج فقط‌خواندنی ایجاد می‌شود.

افزوده‌شده در نسخه 256.

--verify=

هنگام دانلود یک ایمیج، مشخص می‌کند که آیا ایمیج پیش از در دسترس قرار گرفتن باید اعتبارسنجی شود یا خیر. یکی از مقادیر "no"، "checksum" و "signature" را می‌پذیرد. در صورت انتخاب "no"، هیچ اعتبارسنجی انجام نمی‌شود. در صورت تعیین "checksum"، یکپارچگی فایل پس از اتمام انتقال بررسی می‌شود، اما هیچ امضایی اعتبارسنجی نمی‌گردد. در صورت تعیین "signature"، چکسام اعتبارسنجی شده و امضای ایمیج در برابر دسته‌کلید محلی توزیع‌کنندگان معتبر بررسی می‌شود. اکیداً توصیه می‌شود در صورت پشتیبانی سرور و پروتکل، این گزینه را روی "signature" تنظیم کنید. پیش‌فرض "signature" است.

افزوده‌شده در نسخه 256.

--force

هنگام دانلود یک ایمیج، در صورتی که یک رونوشت محلی با نام محلی مشخص‌شده از قبل موجود باشد، ابتدا آن را حذف کرده و با ایمیج تازه‌دانلودشده جایگزین می‌کند.

افزوده‌شده در نسخه 256.

--format=

هنگام استفاده با دستورات export-tar یا export-raw، قالب فشرده‌سازی مورد استفاده برای فایل خروجی را مشخص می‌کند. یکی از مقادیر "uncompressed"، "xz"، "gzip"، "zst" و "bzip2" را می‌پذیرد. به طور پیش‌فرض، قالب به طور خودکار از روی نام فایل ایمیج خروجی ارائه‌شده تعیین می‌شود.

افزوده‌شده در نسخه 256.

-q, --quiet

خروجی‌های اطلاعاتی اضافی را هنگام اجرا فرومی‌نشاند.

افزوده‌شده در نسخه 256.

-H, --host=

عملیات را از راه دور اجرا می‌کند. یک نام میزبان، یا نام کاربری و نام میزبان جداشده با "@" را برای اتصال مشخص کنید. نام میزبان می‌تواند به صورت اختیاری با پورتی که ssh روی آن گوش می‌دهد به همراه ":"، و سپس نام یک کانتینر جداشده با "/" دنبال شود که مستقیماً به کانتینر مشخصی روی میزبان تعیین‌شده متصل می‌شود. این گزینه از SSH برای گفتگو با نمونه مدیر ماشین راه دور استفاده می‌کند. نام‌های کانتینر را می‌توان با machinectl -H HOST برشمرد. نشانی‌های IPv6 را داخل براکت قرار دهید.

-M, --machine=

برای انجام عملیات مشخص‌شده در داخل کانتینر، به systemd-importd.service(8) در حال اجرا در یک کانتینر محلی متصل می‌شود.

افزوده‌شده در نسخه 256.

--class=, -m, -P, -S, -C

رده ایمیج را برای ایمیج‌های دانلودشده انتخاب می‌کند. این گزینه عمدتاً دایرکتوری مقصد دانلود را مشخص می‌نماید. سوییچ --class= مقادیر "machine"، "portable"، "sysext" یا "confext" را به عنوان آرگومان می‌پذیرد. گزینه‌های کوتاه -m، -P، -S و -C میان‌برهایی برای --class=machine، --class=portable، --class=sysext و --class=confext هستند.

توجه داشته باشید که --keep-download= برای --class=machine به‌طور پیش‌فرض true و در غیر این صورت false است، به زیر مراجعه کنید.

افزوده‌شده در نسخه 256.

--keep-download=, -N

یک آرگومان بولی می‌پذیرد. هنگام تعیین با pull-raw یا pull-tar، انتخاب می‌کند که آیا مستقیماً در نام ایمیج محلی مشخص‌شده دانلود انجام شود، یا اینکه ابتدا در یک نسخه فقط‌خواندنی دانلود شده و پس از پایان دانلود یک رونوشت قابل‌نوشتن از آن ایجاد گردد. مقدار پیش‌فرض برای --class=machine برابر true و در غیر این صورت false است.

سوییچ -N میان‌بری برای --keep-download=no است.

افزوده‌شده در نسخه 256.

--json=MODE

خروجی را در قالب JSON نمایش می‌دهد. یکی از مقادیر زیر را می‌پذیرد: "short" (برای کوتاه‌ترین خروجی ممکن بدون هیچ‌گونه فاصله خالی یا شکست خط اضافی)، "pretty" (برای یک نسخه مرتب و خوانا از همان خروجی، همراه با فاصله‌گذاری و شکست خطوط) یا "off" (برای غیرفعال کردن خروجی JSON، که حالت پیش‌فرض است).

-j

معادل --json=pretty در صورت اجرا در ترمینال، و در غیر این صورت معادل --json=short است.

--no-pager

خروجی را به یک صفحه‌بند هدایت نمی‌کند.

--no-legend

راهنما (legend)، یعنی سرستون‌ها و پاورقی حاوی نکات راهنما را چاپ نمی‌کند.

--no-ask-password

برای عملیات دارای دسترسی ویژه، از کاربر درخواست احراز هویت نمی‌کند.

-h, --help

یک متن راهنمای کوتاه را چاپ کرده و خارج می‌شود.

--version

اطلاعات نسخه کوتاه را چاپ کرده و خارج می‌شود.

مثال ۱. دانلود یک ایمیج TAR اوبونتو و باز کردن یک پوسته در آن

# importctl pull-tar -mN https://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-amd64-root.tar.xz
# systemd-nspawn -M jammy-server-cloudimg-amd64-root

این دستور ایمیج .tar مشخص‌شده را دانلود و اعتبارسنجی می‌کند، و سپس از systemd-nspawn(1) برای باز کردن یک پوسته در آن استفاده می‌نماید.

مثال ۲. دانلود یک ایمیج RAW اوبونتو، تنظیم گذرواژه ریشه در آن، و شروع آن به عنوان یک سرویس

# importctl pull-raw -mN \
      https://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-amd64-disk-kvm.img \
      jammy
# systemd-firstboot --image=/var/lib/machines/jammy.raw --prompt-root-password --force
# machinectl start jammy
# machinectl login jammy

این دستور ایمیج .raw مشخص‌شده را دانلود کرده و آن را تحت نام محلی "jammy" در دسترس قرار می‌دهد. سپس با systemd-firstboot(1) یک گذرواژه ریشه تنظیم می‌شود. پس از آن، ماشین به عنوان یک سرویس سیستم شروع به کار می‌کند. با آخرین دستور، اعلان ورود به داخل کانتینر درخواست می‌شود.

مثال ۳. صادر کردن یک ایمیج کانتینر به عنوان فایل tar

# importctl export-tar -m fedora myfedora.tar.xz

کانتینر "fedora" را به عنوان یک فایل tar فشرده‌شده با xz به نام myfedora.tar.xz در دایرکتوری جاری صادر می‌کند.

در صورت موفقیت 0 بازگردانده می‌شود، و در غیر این صورت یک کد شکست غیرصفر بازگردانده خواهد شد.

$SYSTEMD_LOG_LEVEL

حداکثر سطح ثبت وقایع (لاگ) برای پیام‌های ارسالی (پیام‌هایی با سطح لاگ بالاتر، یعنی کم‌اهمیت‌تر، فرونشانده خواهند شد). فهرستی از مقادیر جداشده با کاما را می‌پذیرد. یک مقدار می‌تواند یکی از موارد زیر (به ترتیب کاهش اهمیت) باشد: emerg، alert، crit، err، warning، notice، info، debug، یا یک عدد صحیح در محدوده 0...7. برای اطلاعات بیشتر به syslog(3) مراجعه کنید. هر مقدار می‌تواند به صورت اختیاری با یکی از پیشوندهای console، syslog، kmsg یا journal به همراه یک علامت دونقطه برای تنظیم حداکثر سطح ثبت وقایع برای آن مقصد لاگ خاص همراه شود (به عنوان مثال SYSTEMD_LOG_LEVEL=debug,console:info مشخص می‌کند که ثبت وقایع در سطح debug انجام شود، به جز هنگام ثبت در کنسول که باید در سطح info باشد). توجه داشته باشید که حداکثر سطح لاگ سراسری نسبت به سطوح لاگ تعیین‌شده برای هر مقصد اولویت دارد.

$SYSTEMD_LOG_COLOR

یک مقدار بولی. اگر درست (true) باشد، پیام‌های نوشته‌شده در tty متناسب با اولویت رنگ‌آمیزی خواهند شد.

این تنظیم تنها زمانی مفید است که پیام‌ها مستقیماً در ترمینال نوشته شوند، زیرا journalctl(1) و سایر ابزارهایی که لاگ‌ها را نمایش می‌دهند پیام‌ها را خودشان بر اساس سطح لاگ رنگ‌آمیزی می‌کنند.

$SYSTEMD_LOG_TIME

یک مقدار بولی. اگر درست باشد، پیام‌های لاگ کنسول با یک برچسب زمانی پیشوندگذاری می‌شوند.

این تنظیم تنها زمانی مفید است که پیام‌ها مستقیماً در ترمینال یا یک فایل نوشته شوند، زیرا journalctl(1) و سایر ابزارهایی که لاگ‌ها را نمایش می‌دهند برچسب‌های زمانی را خودشان بر اساس فراداده‌های مدخل پیوست می‌کنند.

$SYSTEMD_LOG_LOCATION

یک مقدار بولی. اگر درست باشد، پیام‌ها با نام فایل و شماره خط در کد منبع که پیام از آنجا نشأت گرفته است پیشوندگذاری می‌شوند.

توجه داشته باشید که مکان لاگ اغلب به هر حال به عنوان فراداده به مدخل‌های ژورنال پیوست می‌شود. با این حال گنجاندن مستقیم آن در متن پیام می‌تواند هنگام اشکال‌زدایی برنامه‌ها بسیار سودمند باشد.

$SYSTEMD_LOG_TID

یک مقدار بولی. اگر درست باشد، پیام‌ها با شناسه عددی نخ (TID) فعلی پیشوندگذاری می‌شوند.

توجه داشته باشید که این اطلاعات به هر حال به عنوان فراداده به مدخل‌های ژورنال پیوست می‌شود. با این حال گنجاندن مستقیم آن در متن پیام می‌تواند هنگام اشکال‌زدایی برنامه‌ها سودمند باشد.

$SYSTEMD_LOG_TARGET

مقصد پیام‌های لاگ. یکی از موارد: console (ثبت در tty متصل)، console-prefixed (ثبت در tty متصل اما با پیشوندهای کدگذاری‌کننده سطح لاگ و "facility"، به syslog(3) مراجعه کنید)، kmsg (ثبت در بافر لاگ حلقوی هسته)، journal (ثبت در ژورنال)، journal-or-kmsg (ثبت در ژورنال در صورت در دسترس بودن، و در غیر این صورت در kmsg)، auto (تعیین خودکار مقصد مناسب برای لاگ، که حالت پیش‌فرض است)، null (غیرفعال کردن خروجی لاگ).

$SYSTEMD_LOG_RATELIMIT_KMSG

مشخص می‌کند که آیا محدودیت نرخ برای kmsg اعمال شود یا خیر. یک مقدار بولی می‌پذیرد. مقدار پیش‌فرض "true" است. در صورت غیرفعال بودن، systemd پیام‌های نوشته‌شده در kmsg را محدود نخواهد کرد.

$SYSTEMD_PAGER, $PAGER

صفحه‌بندی که هنگام عدم ارائه --no-pager استفاده می‌شود. در صورت تنظیم بودن، $SYSTEMD_PAGER استفاده می‌شود؛ در غیر این صورت $PAGER به کار می‌رود. اگر هیچ‌یک از $SYSTEMD_PAGER یا $PAGER تنظیم نشده باشند، مجموعه‌ای از پیاده‌سازی‌های شناخته‌شده صفحه‌بند به نوبت امتحان می‌شوند، از جمله less(1) و more(1)، تا زمانی که یکی پیدا شود. اگر هیچ پیاده‌سازی صفحه‌بندی کشف نشود، صفحه‌بندی فراخوانی نخواهد شد. تنظیم این متغیرهای محیطی به یک رشته خالی یا مقدار "cat" معادل ارسال --no-pager است.

نکته: اگر $SYSTEMD_PAGERSECURE تنظیم نشده باشد، $SYSTEMD_PAGER و $PAGER تنها می‌توانند برای غیرفعال کردن صفحه‌بند (با "cat" یا "") استفاده شوند و در غیر این صورت نادیده گرفته می‌شوند.

$SYSTEMD_LESS

گزینه‌های ارسالی به less را بازنویسی می‌کند (به‌طور پیش‌فرض "FRSXMK").

کاربران ممکن است به ویژه مایل به تغییر دو گزینه باشند:

K

این گزینه به صفحه‌بند دستور می‌دهد هنگام فشردن Ctrl+C بلافاصله خارج شود. برای اینکه به less اجازه دهید خودش Ctrl+C را برای بازگشت به اعلان فرمان صفحه‌بند مدیریت کند، این گزینه را لغو کنید.

اگر مقدار $SYSTEMD_LESS شامل "K" نباشد، و صفحه‌بند فراخوانی‌شده less باشد، Ctrl+C توسط برنامه اجرایی نادیده گرفته شده و باید توسط صفحه‌بند مدیریت شود.

X

این گزینه به صفحه‌بند دستور می‌دهد رشته‌های مقداردهی اولیه و بازنشانی termcap را به ترمینال ارسال نکند. این گزینه به‌طور پیش‌فرض تنظیم شده است تا خروجی دستور حتی پس از خروج از صفحه‌بند در ترمینال قابل مشاهده باقی بماند. با این وجود، این امر مانع از کارکرد برخی قابلیت‌های صفحه‌بند می‌شود؛ به‌ویژه خروجی صفحه‌بندی‌شده را نمی‌توان با ماوس پیمایش کرد.

توجه داشته باشید که تنظیم متغیر محیطی معمولی $LESS هیچ اثری بر فراخوانی‌های less توسط ابزارهای systemd ندارد.

برای بررسی بیشتر به less(1) مراجعه کنید.

$SYSTEMD_LESSCHARSET

مجموعه نویسه‌های ارسالی به less را بازنویسی می‌کند (به‌طور پیش‌فرض "utf-8"، در صورتی که ترمینال فراخوان سازگار با UTF-8 تشخیص داده شود).

توجه داشته باشید که تنظیم متغیر محیطی معمولی $LESSCHARSET هیچ اثری بر فراخوانی‌های less توسط ابزارهای systemd ندارد.

$SYSTEMD_PAGERSECURE

دستورات رایج صفحه‌بند مانند less(1)، علاوه بر «صفحه‌بندی» یعنی پیمایش در خروجی، از باز کردن یا نوشتن در فایل‌های دیگر و اجرای دستورات دلخواه پوسته پشتیبانی می‌کنند. هنگامی که دستورات با اختیارات بالا اجرا می‌شوند، برای مثال تحت sudo(8) یا pkexec(1)، صفحه‌بند به یک مرز امنیتی تبدیل می‌شود. باید دقت شود که تنها برنامه‌هایی با عملکرد کاملاً محدود به عنوان صفحه‌بند استفاده شوند، و ویژگی‌های تعاملی ناخواسته مانند باز کردن یا ایجاد فایل‌های جدید یا آغاز زیرپردازش‌ها مجاز نباشند. «حالت امن» برای صفحه‌بند را می‌توان همان‌طور که در زیر توضیح داده شده فعال کرد، در صورتی که صفحه‌بند از آن پشتیبانی کند (بیشتر صفحه‌بندها به شیوه‌ای نوشته نشده‌اند که این موضوع را در نظر بگیرند). توصیه می‌شود هنگام اجازه دادن به کاربران غیرقابل اعتماد برای اجرای دستورات با اختیارات بالا، یا «حالت امن» را صراحتاً فعال کنید یا با استفاده از --no-pager یا PAGER=cat صفحه‌بند را به طور کامل غیرفعال نمایید.

این گزینه یک آرگومان بولی می‌پذیرد. در صورت تنظیم روی true، «حالت امن» صفحه‌بند فعال می‌شود. در «حالت امن»، هنگام فراخوانی صفحه‌بند متغیر LESSSECURE=1 تنظیم خواهد شد که به صفحه‌بند دستور می‌دهد دستوراتی را که فایل‌های جدید باز می‌کنند یا می‌سازند، یا زیرپردازش‌های جدید را آغاز می‌نمایند، غیرفعال کند. در حال حاضر تنها less(1) شناخته شده است که این متغیر را درک کرده و «حالت امن» را پیاده‌سازی می‌نماید.

در صورت تنظیم روی false، هیچ محدودیتی بر صفحه‌بند اعمال نمی‌شود. تنظیم SYSTEMD_PAGERSECURE=0 یا حذف نکردن آن از محیط به ارث رسیده ممکن است به کاربر اجازه اجرای دستورات دلخواه را بدهد.

هنگامی که $SYSTEMD_PAGERSECURE تنظیم نشده باشد، ابزارهای systemd تلاش می‌کنند به‌طور خودکار تشخیص دهند که آیا «حالت امن» باید فعال شود و آیا صفحه‌بند از آن پشتیبانی می‌کند یا خیر. اگر شناسه کاربری مؤثر (UID) با مالک نشست ورود یکسان نباشد (به geteuid(2) و sd_pid_get_owner_uid(3) مراجعه کنید)، یا هنگام اجرا تحت sudo(8) یا ابزارهای مشابه (که $SUDO_UID تنظیم شده باشد [2])، «حالت امن» فعال می‌شود. در این حالت‌ها، SYSTEMD_PAGERSECURE=1 تنظیم خواهد شد و صفحه‌بندهایی که اجرای «حالت امن» توسط آن‌ها شناخته نشده است اصلاً استفاده نخواهند شد. توجه داشته باشید که این تشخیص خودکار تنها متداول‌ترین سازوکارهای ارتقای اختیارات را پوشش می‌دهد و برای راحتی کار در نظر گرفته شده است. توصیه می‌شود صراحتاً $SYSTEMD_PAGERSECURE را تنظیم کنید یا صفحه‌بند را غیرفعال نمایید.

توجه داشته باشید که اگر قرار باشد متغیرهای $SYSTEMD_PAGER یا $PAGER رعایت شوند، به جز برای غیرفعال کردن صفحه‌بند، باید $SYSTEMD_PAGERSECURE نیز تنظیم شده باشد.

$SYSTEMD_COLORS

یک آرگومان بولی یا یک مقدار ویژه می‌پذیرد. به طور پیش‌فرض (تنظیم‌نشده)، systemd و ابزارهای مرتبط در صورت امکان از رنگ‌ها در خروجی خود استفاده خواهند کرد. اگر $COLORTERM بر روی "truecolor" یا "24bit" تنظیم شده باشد، رنگ‌های ۲۴ بیتی فعال می‌شوند، در غیر این صورت رنگ‌های ۲۵۶ رنگ فعال خواهند بود، مگر اینکه $NO_COLOR یا $TERM نشان دهد که رنگ‌ها غیرفعال هستند.

true

مشابه حالت تنظیم‌نشده است، با این تفاوت که $NO_COLOR نادیده گرفته می‌شود.

false

خروجی تک‌رنگ خواهد بود.

"16", "256", "24bit"

همواره به ترتیب از ۱۶ رنگ پایه ANSI، ۲۵۶ رنگ، یا رنگ‌های ۲۴ بیتی استفاده می‌کند.

"auto-16", "auto-256", "auto-24bit"

با توجه به $TERM و آنچه کنسول به آن متصل است، از تعداد رنگ‌های مشخص‌شده استفاده می‌کند.

$SYSTEMD_URLIFY

مقدار باید یک بولی باشد. مشخص می‌کند آیا برای شبیه‌سازهای ترمینال پشتیبانی‌کننده، پیوندهای قابل کلیک در خروجی تولید شوند یا خیر. این مقدار می‌تواند برای لغو تصمیمی که systemd بر اساس $TERM و شرایط دیگر می‌گیرد، تعیین شود.

systemd(1), systemd-importd.service(8), systemd-nspawn(1), systemd-vmspawn(1), machinectl(1), portablectl(1), systemd-sysext(8), systemd-confext(8), tar(1), xz(1), gzip(1), zstd(1), bzip2(1)

1.
HTTP ETag
2.
به سایر ابزارها توصیه می‌شود متناسب با نیاز، $SUDO_UID را تنظیم و بررسی کنند و با آن به عنوان یک رابط مشترک رفتار نمایند.
systemd 261.2