الخيارات¶
تُمرر
المعطيات
الزائدة
كمعطيات
إضافية
لسطر أوامر
النواة
باستخدام SMBIOS.
الخيارات
التالية
مفهومة:
-q، --quiet
يوقف أي
مخرجات
حالة من
الأداة
نفسها. عند
استخدام
هذا
المفتاح،
سيكون
المخرج
الوحيد من vmspawn
هو مخرجات
الطرفية
لنظام
تشغيل
الآلة
الافتراضية
نفسه.
أُضيف في
الإصدار 256.
--system، --user
يحدد ما
إذا كان
سيتم
التفاعل مع
مدير
المستخدم
أو مدير
النظام وما
إذا كان
سيتم
التسجيل في
نسخة machined
الخاصة
بالمستخدم
أو نسخة machined
الخاصة
بالنظام.
إذا لم
يُحدد،
فسيُستخدم
مدير
النظام
ونسخة machined عند
التشغيل
كجذر (root)،
وإلا
فسيُستخدم
مدير
المستخدم
ونسخة machined.
أُضيف في
الإصدار 260.
خيارات الصورة¶
-D، --directory=
الدليل
المراد
استخدامه
كجذر لنظام
الملفات
للآلة
الافتراضية.
يجب تحديد
أحد
الخيارين
--directory= أو --image=.
إذا لم
يُحدد
أيهما،
يُفترض --directory=..
ملاحظة:
إذا كنت
توصل
دليلًا لا
يملكه
الجذر، فقد
تحتاج إلى
--private-users=
للمطابقة
مع مساحة
أسماء subuid
الخاصة
بالمستخدم.
يتوفر مثال
لاحقًا حول
كيفية
استخدام /etc/subuid
لهذا
الغرض.
أُضيف في
الإصدار 256.
-x، --ephemeral
إذا
حُدد،
ستعمل
الآلة
الافتراضية
بلقطة
مؤقتة
لنظام
ملفاتها
تُحذف فور
انتهاء
الآلة. يعمل
حاليًا مع
--image= فقط. لاحظ
أن
--ephemeral لن
يعمل مع
--extra-drive=.
أُضيف في
الإصدار 260.
-i، --image=
صورة قرص
نظام ملفات
الجذر (أو
عقدة جهاز)
للآلة
الافتراضية.
أُضيف في
الإصدار 255.
--image-format=FORMAT
يحدد
تنسيق صورة
القرص
الممررة
إلى
--image=. يقبل
إما "raw" أو "qcow2".
القيمة
المبدئية
هي "raw". لاحظ
أن "qcow2" مدعوم
فقط
للملفات
العادية،
وليس
للأجهزة
الكتلية.
أُضيف في
الإصدار 260.
--image-disk-type=النوع
يحدد نوع
القرص
المستخدم
للقرص
الجذر
المُمرَّر
إلى
--image=. ترث
الأقراص
الإضافية
المُضافة
عبر
--extra-drive= هذا
النوع ما لم
يُستبدل
ببادئة نوع
قرص صريحة.
يأخذ أحد
القيم "virtio-blk"
أو "virtio-scsi" أو "nvme"
أو "scsi-cd".
المبدئي هو
"virtio-blk". عندما
يُحدد "scsi-cd"،
يُوصل
القرص
كمحرك
أقراص CD-ROM
للقراءة
فقط.
أُضيف في
الإصدار 261.
--discard-disk=BOOL
يتحكم في
معالجة qemu
لطلبات
التخلص (discard) من
الآلة
الافتراضية.
هذا يمنع
الآلات
الافتراضية
التي تعمل
لفترات
طويلة من
استهلاك
مساحة قرص
أكثر من
المطلوب.
هذا الخيار
مفعل
مبدئيًا.
أُضيف في
الإصدار 256.
--grow-image=BYTES, -G BYTES
يزيد حجم
ملف الصورة
المحدد بـ
--image= إلى
الحجم
المحدد
بالبايت
إذا كان
أصغر من ذلك.
لا ينفذ أي
عملية إذا
لم يُستخدم
ملف صورة أو
إذا كان ملف
الصورة
بحجم الحجم
المطلوب أو
أكبر منه
بالفعل.
يقبل الحجم
المحدد
اللواحق
المعتادة K،
M، G (بأساس 1024).
تُقرب
القيم
المحددة
لأعلى إلى
مضاعفات 4096.
أُضيف في
الإصدار 258.
ضبط المضيف¶
--cpus=CPUS
عدد
وحدات
المعالجة
المركزية
لبدء الآلة
الافتراضية
بها.
المبدئي هو 1.
أُضيف في
الإصدار 255.
--ram=بايت[:الحد
الأقصى[:الفتحات]]
مقدار
الذاكرة
الذي يُبدأ
به الجهاز
الافتراضي.
المبدئي هو 2G.
إذا حُدد
حجم أقصى
بعد نقطتين
(:)، يُفعَّل
الإضافة
الساخنة
للذاكرة مع
الحد
الأعلى
المُعطى.
يمكن تحديد
عدد فتحات
الإضافة
الساخنة
اختيارياً
بعد نقطتين
ثانيتين
والمبدئي
هو 1.
أُضيف في
الإصدار 255.
--kvm=BOOL
يتحكم
فيما إذا
كان سيتم
تمكين
تسريع KVM. إذا
لم يُحدد أو
ضُبط على
auto،
فسيُكتشف
دعم KVM آليًا.
إذا كان
صحيحًا (true)،
سيُصر على
استخدام KVM.
إذا كان
خاطئًا (false)،
سيُعطل KVM.
أُضيف في
الإصدار 255.
--vsock=BOOL
يتحكم في
تخصيص مقبس
VSOCK للضيف. إذا
لم يُحدد أو
ضُبط على
auto،
فسيُكتشف
دعم شبكة VSOCK
آليًا. إذا
كان صحيحًا
(true)، سيُصر
على
استخدام VSOCK.
إذا كان
خاطئًا (false)،
ستُعطل
شبكة VSOCK.
أُضيف في
الإصدار 255.
--vsock-cid=CID
يحدد
معرف
المضيف (CID)
المحدد
لاستخدامه
للضيف.
معرفات CID
الصالحة
تقع في
النطاق من
3
إلى
4294967294 (
0xFFFF_FFFE).
المعرفات
خارج هذا
النطاق
محجوزة.
مبدئيًا،
سيحاول vmspawn
اشتقاق CID
للضيف من
اسم
الجهاز، مع
الرجوع إلى CID
عشوائي إذا
كان هذا
المعرف
محجوزًا.
أُضيف في
الإصدار 255.
--tpm=BOOL
يتحكم في
تقديم جهاز TPM
للضيف، عبر
swtpm(8). إذا لم
يُحدد أو
ضُبط على
auto،
فسيتحقق vmspawn
من وجود
برنامج swtpm
آليًا. إذا
كان نعم،
سيُصر على
دعم swtpm. إذا
كان لا،
سيُعطل TPM.
أُضيف في
الإصدار 256.
--tpm-state=PATH|auto|off
يضبط
مكان وضع
حالة TPM، في
حال تمكين
دعم TPM (انظر
--tpm=
أعلاه). يأخذ
مسار نظام
ملفات مطلق
لدليل لوضع
الحالة فيه
بشكل دائم.
إذا كان
الدليل
مفقودًا،
فسيُنشأ
حسب الحاجة.
إذا ضُبط
على
السلسلة
الخاصة "auto"،
فسيُشتق
مسار دائم
آليًا من
مسار صورة
الآلة
الافتراضية
أو مسار
الدليل، مع
إلحاق
اللاحقة
".tpmstate". إذا
ضُبط على
السلسلة
الخاصة "off"،
فستُحفظ
حالة TPM بشكل
عابر فقط
وتُفرغ عند
إيقاف
تشغيل
الآلة
الافتراضية.
هذا الوضع
غير مناسب
للآلات
الافتراضية
التي تقفل
مفاتيح
تعمية
القرص بـ TPM،
حيث ستُفقد
هذه
المفاتيح
في كل إعادة
تشغيل.
المبدئي هو
"auto".
إذا حُدد
--ephemeral،
فسيتصرف
الخيار "auto"
مثل "off".
أُضيف في
الإصدار 258.
--efi-nvram-template=المسار
يأخذ
مساراً
مطلقاً، أو
مساراً
نسبياً
يبدأ بـ ./.
يحدد
المسار إلى
ملف قالب NVRAM
الخاص بـ EFI
ليُنسخ
ويُستخدم
كحالة NVRAM
المتغيرة
الأولية لـ EFI.
إذا لم
يُحدد،
يُنسخ
ويُستخدم
قالب NVRAM
المبدئي من
تعريف
البرنامج
الثابت.
أُضيف في
الإصدار 261.
--efi-nvram-state=المسار|آلي|إيقاف
يُهيئ
مكان وضع
حالة NVRAM
المتغيرة
لـ EFI. يأخذ
مسار نظام
ملفات
مطلقاً إلى
ملف عادي
لوضع
الحالة فيه
بشكل دائم.
إذا كان
الملف
مفقوداً،
يُنشأ عند
الحاجة. إذا
عُيِّنت
السلسلة
الخاصة
"آلي"،
يُشتق مسار
دائم آلياً
من مسار
صورة VM أو
مسار
الدليل، مع
إضافة
اللاحقة
".efinvramstate". إذا
عُيِّنت
السلسلة
الخاصة
"إيقاف"،
تُحتفظ
حالة NVRAM
المتغيرة
لـ EFI بشكل
مؤقت فقط
وتُفرغ عند
إيقاف VM.
المبدئي هو
"آلي".
إذا حُدد
--ephemeral،
فسيتصرف
الخيار "auto"
مثل "off".
أُضيف في
الإصدار 261.
--secure-boot=BOOL
يُهيئ ما
إذا كان
سيبحث عن
برنامج
ثابت يدعم
الإقلاع
الآمن. يأخذ
قيمة
منطقية أو
"آلي". تعيين
هذا إلى نعم
يعادل
--firmware-features=secure-boot
وتعيين هذا
إلى لا
يعادل
--firmware-features=~secure-boot.
تعيين هذا
إلى "آلي"
يزيل "secure-boot" من
قائمتي
الميزات
المُضمنة
والمستبعدة.
أُضيف في
الإصدار 255.
--firmware=PATH
يختار أي
برنامج
ثابت
يُستخدم في VM.
يأخذ أحد
القيم "آلي"
أو "uefi" أو "bios"
أو "لا شيء"
أو مساراً
مطلقاً أو
مساراً
نسبياً
يبدأ بـ ./.
المبدئي هو
"آلي"، الذي
يختار
برنامج UEFI
الثابت ما
لم يحدد
--linux=
صورة نواة
غير PE، وفي
هذه الحالة
يُختار "لا
شيء". "uefi"
يُحمِّل
برنامج OVMF
الثابت
(استخدم
مساراً إلى
ملف تعريف
برنامج
ثابت بصيغة JSON
لاختيار
واحد محدد).
"bios" يتخطى
تحميل OVMF
ويسمح لـ QEMU
باستخدام BIOS
المدمج (مثل
SeaBIOS على x86). "لا
شيء"
يُعطِّل
تحميل
البرنامج
الثابت
بالكامل
ويتطلب
تحديد
--linux=
للإقلاع
المباشر
للنواة.
إقلاع UKI
يتطلب "uefi".
إذا حُددت
السلسلة
الخاصة
"قائمة"،
تُدرج جميع
ملفات
تعريف
البرنامج
الثابت
المكتشفة.
إذا حُددت
السلسلة
الخاصة
"وصف"،
يُطبع
برنامج UEFI
الثابت
الذي
سيُختار (مع
مراعاة
--firmware-features=)
ويخرج
البرنامج.
إذا حُددت
سلسلة
فارغة،
يُعاد
تعيين
الخيار إلى
المبدئي.
أُضيف في
الإصدار 256.
--firmware-features=الميزة[,الميزة...]
يأخذ
قائمة
مفصولة
بفواصل من
سلاسل
ميزات
البرنامج
الثابت.
يمكن تحديد
هذا الخيار
عدة مرات،
وفي هذه
الحالة
تُدمج
قوائم
الميزات.
عندما
يُحدد،
تُؤخذ في
الاعتبار
فقط
تعريفات
البرنامج
الثابت
التي تحتوي
على جميع
الميزات
المطلوبة
أثناء
الاكتشاف
الآلي
للبرنامج
الثابت.
تُستبعد
الميزات
المسبوقة
بـ "~":
يُتجاوز
البرنامج
الثابت
الذي يحتوي
على مثل هذه
الميزة. إذا
ظهرت ميزة
في كلتا
القائمتين
المُضمنة
والمستبعدة،
يكون
للإدراج
الأولوية.
مبدئياً،
يُستبعد
البرنامج
الثابت
بميزة
"المفاتيح
المسجلة".
إذا مُررت
سلسلة
فارغة،
تُعاد
تعيين كلتا
قائمتي
الميزات
المُضمنة
والمستبعدة.
إذا حُددت
السلسلة
الخاصة
"قائمة"،
تُدرج جميع
ميزات
البرنامج
الثابت
المتاحة.
أُضيف في
الإصدار 261.
--coco=
ملاحظة:
هذه الميزة
تجريبية،
ومن
المحتمل أن
يتم
تغييرها (أو
إزالتها في
شكلها
الحالي) في
إصدار
مستقبلي من
systemd.
يُهيئ ما
إذا كان
سيُشغَّل
الضيف
كجهاز
افتراضي
سري. يأخذ
أحد القيم
"لا" أو "sev-snp".
المبدئي هو
"لا".
"sev-snp"
يُفعِّل AMD SEV-SNP.
يتطلب ذلك KVM
على مضيف x86_64
مع عتاد
وبرنامج
ثابت
يدعمان SNP.
يجب أن يشير
--firmware= إلى صورة
OVMF خام مبنية
لـ SNP بصيغة .fd;
التقسيم
القياسي pflash + NVRAM
غير مدعوم
تحت SNP، لذا
يُحمَّل
البرنامج
الثابت عبر
QEMU's -bios
والإقلاع
الآمن غير
متاح. تُرفض
بيانات
اعتماد SMBIOS
المُمررة
عبر --set-credential= أو
--load-credential= لأنها
خارج قياس
إطلاق SNP.
الإقلاع
المباشر
للنواة عبر
--linux= مطلوب
بحيث
تُجزَّأ
النواة وinitrd
وسطر
الأوامر في
قياس
الإطلاق
("kernel-hashes=on"); إقلاع
النواة من
صورة القرص
عبر
البرنامج
الثابت
سيتركها
خارج
القياس. يجب
أن يُعامل
vTPM، إذا وُصل
عبر --tpm=،
كغير موثوق
من قبل
الضيف.
أُضيف في
الإصدار 261.
خيارات الشبكة¶
-n, --network-tap
إنشاء
جهاز TAP للربط
الشبكي مع
الآلة
الافتراضية.
ملاحظة:
امتيازات
الجذر
مطلوبة
لاستخدام
شبكة TAP.
بالإضافة
إلى ذلك،
يجب أن يكون
systemd-networkd(8) يعمل
ومضبوطًا
بشكل صحيح
على المضيف
لتهيئة
واجهة
المضيف.
يمكن
العثور على
ملف ".network" ذي
الصلة في
/usr/lib/systemd/network/80-vm-vt.network.
أُضيف في
الإصدار 255.
--network-user-mode
استخدام
وضع شبكة
المستخدم.
أُضيف في
الإصدار 255.
خيارات التنفيذ¶
--linux=PATH
حدد صورة
نواة لينكس
لاستخدامها
في إقلاع
النواة
المباشر.
إذا
استُخدمت
صورة من نوع
دليل
وأُغفل
--linux=،
فسيقوم vmspawn
بالبحث عن
مدخلات
محمل
الإقلاع
وفقًا لـ
مواصفة
محمل
الإقلاع UAPI.1[1]
مع افتراض
أن XBOOTLDR يقع في /boot
و ESP هو /efi على
التوالي.
إذا لم
تُثبت نواة
في الصورة،
فستفشل
الصورة في
الإقلاع.
أُضيف في
الإصدار 256.
--initrd=PATH
حدد initrd
لاستخدامها
في إقلاع
النواة
المباشر.
إذا كان ملف
--linux= المزود
هو مدخل من
النوع رقم 2
في
مواصفة
محمل
الإقلاع UAPI.1[1]،
فإن هذا
المعطى غير
مطلوب. إذا
لم تُثبت initrd
في الصورة،
فستفشل
الصورة في
الإقلاع.
يمكن
تحديد --initrd=
عدة مرات
وسيقوم vmspawn
بدمجها
معًا.
أُضيف في
الإصدار 256.
--smbios11=STRING, -s STRING
يمرر
السلسلة
المحددة
إلى الآلة
الافتراضية
كسلسلة
مورد SMBIOS من
النوع رقم 11.
هذا مفيد
لضبط
معايير
الآلة
الافتراضية
المستدعاة
بطرق
مختلفة.
انظر
smbios-type-11(7)
للتفاصيل.
أُضيف في
الإصدار 258.
--notify-ready=
يضبط دعم
الإشعارات
من عملية
بدء
التشغيل (init)
الخاصة
بالآلة
الافتراضية
إلى
systemd-vmspawn. إذا
كان صحيحًا
(true)، سيعتبر
systemd-vmspawn الجهاز
جاهزًا فقط
عندما
يتلقى
رسالة "READY=1" من
عملية init في
الآلة
الافتراضية.
إذا كان
خاطئًا (false)،
سيعتبر
systemd-vmspawn
الجهاز
جاهزًا فور
إنشائه. في
كلتا
الحالتين،
يرسل
systemd-vmspawn
إشعار
الجاهزية
الخاص به
إلى مديره
بعد جاهزية
الآلة
الافتراضية
المنشأة.
لمزيد من
التفاصيل
حول
الإشعارات،
انظر
sd_notify(3).
المبدئي
هو صحيح (true).
(لاحظ أن هذا
يختلف عن
الخيار
الذي يحمل
نفس الاسم
في systemd-nspawn(1)
والذي يكون
مبدئيًا
خاطئًا (false).)
أُضيف في
الإصدار 258.
خيارات هوية النظام¶
-M، --machine=
يحدد اسم
الجهاز
لهذه الآلة
الافتراضية.
يمكن
استخدام
هذا الاسم
لتمييز هذه
الآلة
الافتراضية
أثناء
تشغيلها
(على سبيل
المثال في
أدوات مثل
machinectl(1) وما
شابه).
أُضيف في
الإصدار 255.
--uuid=
يحدد UUID
المحدد
للآلة
الافتراضية.
سيقوم نظام
البدء
بتهيئة /etc/machine-id
من هذا إذا
لم يكن هذا
الملف قد
ضُبط بعد.
لاحظ أن هذا
الخيار
يسري فقط
إذا كان ملف
/etc/machine-id في الآلة
الافتراضية
فارغًا.
أُضيف في
الإصدار 256.
خيارات الخاصية¶
-S، --slice=
يجعل
الآلة
الافتراضية
جزءًا من
الـ slice
المحددة،
بدلاً من machine.slice
المبدئية.
ينطبق هذا
فقط إذا
كانت الآلة
تعمل في
وحدة scope خاصة
بها، أي في
حال عدم
استخدام
--keep-unit.
أُضيف في
الإصدار 258.
--property=
يضبط
خاصية وحدة
على وحدة
الـ scope
للتسجيل في
الجهاز.
ينطبق هذا
فقط إذا
كانت الآلة
تعمل في
وحدة scope خاصة
بها، أي في
حال عدم
استخدام
--keep-unit.
يأخذ
تعيينات
خصائص
الوحدة
بنفس تنسيق
systemctl set-property. هذا
مفيد
لتعيين
حدود
الذاكرة
وما شابه
للآلة
الافتراضية.
أُضيف في
الإصدار 258.
--register=
يتحكم في
ما إذا كان
الجهاز
الافتراضي
مُسجَّلاً
مع
systemd-machined(8). يأخذ
وسيطة
منطقية أو
"آلي"،
والمبدئي
هو "آلي".
يضمن ذلك أن
الجهاز
الافتراضي
يمكن
الوصول
إليه عبر
machinectl(1). عندما
يُعيَّن
إلى "آلي"،
تُحاول
التسجيل
ولكن
تُتجاهل
حالات
الفشل.
أُضيف في
الإصدار 256.
خيارات مساحات أسماء المستخدمين¶
--private-users=UID_SHIFT[:UID_RANGE]
يتحكم في
مساحات
أسماء
المستخدمين
تحت
--directory=. في
حال
تمكينه،
يُوجّه
virtiofsd(1)
لمطابقة
معرفات
المستخدمين
والمجموعات
(UIDs و GIDs). يتضمن
ذلك مطابقة
معرفات UIDs/GIDs
الخاصة
المستخدمة
في الآلة
الافتراضية
(بدءًا من
المستخدم
الجذر
للآلة
الافتراضية
0 فما فوق)
بنطاق من
معرفات UIDs/GIDs
على المضيف
غير مستخدم
لأغراض
أخرى (عادةً
في النطاق
الذي
يتجاوز UID/GID
المضيف 65536).
إذا حُدد
رقم أو
رقمان
مفصولان
بنقطتين،
فسيتم
تشغيل
مساحات
أسماء
المستخدمين.
يحدد UID_SHIFT أول
معرف UID/GID
للمضيف
لمطابقته،
و UID_RANGE
اختياري
ويحدد عدد
معرفات UIDs/GIDs
للمضيف
المراد
تخصيصها
للآلة
الافتراضية.
إذا أُغفل
UID_RANGE،
فسيُخصص 65536
معرف UID/GID.
عند
استخدام
مساحات
أسماء
المستخدمين،
يُختار
دائمًا
نطاق GID
المخصص لكل
آلة
افتراضية
ليكون
مطابقًا
لنطاق UID.
أُضيف في
الإصدار 256.
خيارات الوصل¶
--bind=PATH, --bind-ro=PATH
وصل دليل
من المضيف
إلى الآلة
الافتراضية.
يأخذ
واحدًا من:
معطى مسار
— وفي هذه
الحالة
سيُوصل
المسار
المحدد من
المضيف إلى
نفس المسار
في الآلة
الافتراضية،
أو زوج من
المسارات
مفصول
بينهما
بنقطتين —
وفي هذه
الحالة
يكون
المسار
الأول
المحدد هو
المصدر في
المضيف،
والمسار
الثاني هو
الوجهة في
الآلة
الافتراضية.
إذا لم يكن
مسار
المصدر
مطلقًا،
فسيُحلل
بالنسبة
لدليل
العمل
الحالي.
ينشئ خيار
--bind-ro= عمليات
وصل ربط
للقراءة
فقط. تُفسر
هروبات
الشرطة
المائلة
العكسية،
لذا يمكن
استخدام "\:"
لتضمين
النقطتين
في أي من
المسارين.
يمكن تحديد
هذا الخيار
عدة مرات
لإنشاء
نقاط وصل
ربط مستقلة
متعددة.
أُضيف في
الإصدار 256.
--extra-drive=[التنسيق:][نوع
القرص:]المسار
يأخذ
صورة قرص أو
جهاز كتلة
على المضيف
ويُزوّد
به
الجهاز
الظاهري
كقرص إضافي.
يُمكن
تحديد
تنسيق
الصورة و/أو
نوع القرص،
اختياريًا،
عن طريق
إضافة
قيمتيهما
مفصولتين
بنقطتين
رأسيتين
قبل المسار.
يُمكن أن
تظهر
بادئات
التنسيق
ونوع القرص
بأي ترتيب.
التنسيق
المبدئي هو
"raw"، ونوع
القرص
المبدئي هو
--image-disk-type= (والذي
بدوره تكون
قيمته
المبدئية
هي "virtio-blk"). لاحظ
أن "qcow2" مدعوم
فقط
للملفات
العادية،
وليس
لأجهزة
الكتلة.
أُضيف في
الإصدار 256.
--bind-volume=المُزوِّد:الحجم[:التكوين][:المفتاح=القيمة,...]
يُحصل
على حجم
تخزين من
مُزوِّد
storagectl(1)
ويُوصله
بالآلة
الافتراضية.
المُزوِّد
هو اسم
المُزوِّد
(عادةً "block" أو
"fs").
الحجم
هو اسم
الحجم
المُمرَّر
لطريقة
Acquire()
الخاصة
بالمُزوِّد.
التكوين
يختار نوع
جهاز الضيف
ويأخذ
واحداً من
"virtio-blk" أو "virtio-scsi"
أو "nvme" أو "scsi-cd".
إذا كان
فارغاً أو
مُهملاً،
فالمبدئي
هو "virtio-blk".
قائمة
المفتاح=القيمة
المفصولة
بفواصل في
النهاية
تُمرر
معاملات
إلى io.systemd.StorageProvider.Acquire():
template=، create= (واحد
من "any" أو "new"
أو "open")، read-only=
(أو ro=؛ يأخذ
قيمة
منطقية أو
"auto")، size= / create-size=
(حجم
للأحجام
المُنشأة)،
request-as= (واحد من
"blk" أو "reg" أو
"dir"؛ "dir"
مرفوض
بواسطة vmspawn).
كل حجم
مُوصَّل
يُعرف
بالاسم
"المُزوِّد:الحجم".
الأحجام
المُوصَّلة
عند بدء
التشغيل
عبر هذا
الخيار لا
يمكن فصلها
أثناء
التشغيل
عبر machinectl unbind-volume؛
فقط
الأحجام
المُضافة
أثناء
التشغيل
عبر machinectl bind-volume
قابلة
للإزالة.
يُبحث عن
المُزوِّد
تحت /run/systemd/io.systemd.StorageProvider/
لوضع
النظام (أو
$XDG_RUNTIME_DIR/systemd/io.systemd.StorageProvider/
لوضع
المستخدم)،
مطابقاً
لنطاق
التشغيل
المُختار
عبر --user / --system.
أُضيف في
الإصدار 261.
--bind-user=
يربط
الدليل
المنزلي
للمستخدم
المحدد على
المضيف
بالآلة
الافتراضية.
يأخذ اسم
مستخدم
موجود على
المضيف
كمعطى. يمكن
استخدامه
عدة مرات
لربط
مستخدمين
متعددين
بالآلة
الافتراضية.
يقوم هذا
بأمرين:
1.يُتاح
الدليل
المنزلي
للمستخدم
من المضيف
في /run/vmhost/home/
باستخدام virtiofs.
يقوم virtiofsd
بترجمة
المعرفات
لمطابقة UID/GID
الخاص
بمستخدم
المضيف مع UID/GID
المخصص له
في الآلة
الافتراضية.
2.تُولد
سجلات
مستخدم
ومجموعة
بتنسيق JSON تصف
المستخدم
المطابق
والتي
تُمرر إلى
الآلة
الافتراضية
باستخدام
وثائق
الاستيثاق
"userdb.transient.*". وهي
تحتوي على
تمثيل مصغر
لسجل
مستخدم
المضيف،
معدلًا
وفقًا لـ UID/GID
ومسار
الدليل
المنزلي
المخصص
للمستخدم
في الآلة
الافتراضية.
ستلتقط
وحدة
nss-systemd(8)
الخاصة بـ glibc NSS
هذه
السجلات من
هناك
وتجعلها
متاحة في
قواعد
بيانات
المستخدمين/المجموعات
بالآلة
الافتراضية.
يضمن
الجمع بين
العمليتين
أعلاه
إمكانية
تسجيل
الدخول إلى
الآلة
الافتراضية
باستخدام
نفس
معلومات
الحساب
الموجودة
على المضيف.
تُطابق
بيانات
المستخدم
بشكل عابر
فقط، أثناء
تشغيل
الآلة
الافتراضية،
ولا تؤدي
عملية
المطابقة
نفسها إلى
تغييرات
دائمة في
الآلة
الافتراضية
(باستثناء
رسائل
السجل التي
قد تُولد
وقت تسجيل
الدخول وما
شابه). لاحظ
بشكل خاص أن
تخصيص UID/GID في
الآلة
الافتراضية
لا يتم بشكل
دائم. إذا تم
ربط
المستخدم
بشكل عابر،
فمن الأفضل
عدم السماح
للمستخدم
بإجراء
تغييرات
دائمة على
الآلة
الافتراضية.
إذا ترك
المستخدم
ملفات أو
أدلة
يملكها،
وأُعيد
استخدام
معرفات UIDs/GIDs
هذه أثناء
استدعاءات
الآلة
الافتراضية
لاحقًا
(ربما
باستخدام
مطابقة --bind-user=
مختلفة)،
فستكون تلك
الملفات
والأدلة
متاحة
للمستخدم
"الجديد".
تعمل
مطابقة
سجلات
المستخدم/المجموعة
فقط إذا
كانت الآلة
الافتراضية
تحتوي على
إصدار systemd 258 أو
أحدث، مع
ضبط nss-systemd بشكل
صحيح في nsswitch.conf.
انظر nss-systemd(8)
للتفاصيل.
لاحظ أن
سجل
المستخدم
المنقول من
المضيف إلى
الآلة
الافتراضية
سيحتوي على
هاش كلمة سر
يونكس (UNIX)
للمستخدم،
بحيث يمكن
تسجيل
الدخول
بسلاسة في
الآلة
الافتراضية.
إذا كانت
الآلة
الافتراضية
أقل
موثوقية من
المضيف،
فمن المهم
إذًا
استخدام
دالة هاش
قوية
لكلمات سر
يونكس (مثل yescrypt
أو ما شابه،
مع بادئة
الهاش "$y$").
أُضيف في
الإصدار 259.
--bind-user-shell=
عند
استخدامه
مع
--bind-user=،
يتضمن
الصدفة
المحددة في
سجلات
المستخدمين
المربوطين
بالآلة
الافتراضية.
يأخذ إما
قيمة
منطقية أو
مسارًا
مطلقًا.
•إذا كان
خاطئًا
(المبدئي)،
فلن تُمرر
أي صدفة في
سجلات
المستخدم
للمستخدمين
المربوطين
بالآلة
الافتراضية.
هذا يؤدي
لاستخدام
المستخدمين
المربوطين
للصدفة
المبدئية
للآلة
الافتراضية.
•إذا كان
صحيحًا،
تُدرج
الصدفات
المحددة في
سجلات
مستخدم
المضيف في
سجلات جميع
المستخدمين
المربوطين
بالآلة
الافتراضية.
•إذا
مُرر مسار
مطلق،
فسيُحدد
ذلك المسار
كصدفة
لسجلات
جميع
المستخدمين
المربوطين
بالآلة
الافتراضية.
ملاحظة: لن
يتحقق هذا
مما إذا
كانت
الصدفات
المحددة
موجودة في
الآلة
الافتراضية.
هذه
العملية
مدعومة فقط
بالاقتران
مع --bind-user=.
أُضيف في
الإصدار 259.
--bind-user-group=اسم
عند
استخدامه
مع
--bind-user=،
يتضمن
المجموعة
المحددة
كمجموعة
إضافية في
سجلات
المستخدمين
المربوطين
بالآلة
الافتراضية.
يأخذ اسم
مجموعة.
ملاحظة: لن
يتحقق هذا
مما إذا
كانت
المجموعات
المحددة
موجودة في
الآلة
الافتراضية.
هذه
العملية
مدعومة فقط
بالاقتران
مع --bind-user=.
أُضيف في
الإصدار 259.
خيارات التسجيل¶
--forward-journal=FILE|DIR
توجيه
سجل (journal) الآلة
الافتراضية
إلى المضيف.
يُستخدم
systemd-journal-remote(8)
حاليًا
لاستقبال
مدخلات
السجل
الموجهة من
الآلة
الافتراضية
الضيفة.
يحدد هذا
الخيار
مكان حفظ
هذا السجل
على المضيف
وله نفس
دلالات
-o/
--output
الموضحة في
systemd-journal-remote(8).
أُضيف في
الإصدار 256.
--forward-journal-max-use=BYTES,
--forward-journal-keep-free=BYTES,
--forward-journal-max-file-size=BYTES,
--forward-journal-max-files=N
خيارات SSH¶
--pass-ssh-key=BOOL
مبدئيًا،
يُولد
مفتاح SSH
للسماح لـ
systemd-vmspawn بفتح
اتصال D-Bus
بناقل systemd
الخاص
بالآلة
الافتراضية.
ضبط هذا على
"no" سيعطل
توليد
مفتاح SSH.
المفاتيح
المولدة
عابرة. أي
أنها صالحة
فقط
للاستدعاء
الحالي لـ
systemd-vmspawn،
وعادةً لا
تُحفظ بشكل
دائم.
أُضيف في
الإصدار 256.
--ssh-key-type=TYPE
يضبط نوع
مفتاح SSH
المراد
توليده،
انظر
ssh-keygen(1)
لمزيد من
المعلومات.
مبدئيًا،
تُولد
مفاتيح "ed25519"،
ومع ذلك قد
تكون
مفاتيح "rsa"
مفيدة
أيضًا إذا
كانت الآلة
الافتراضية
تحتوي على
إصدار قديم
جدًا من sshd(8).
أُضيف في
الإصدار 256.
خيارات الإدخال والإخراج¶
--console=وضع
يُهيئ
كيفية
إعداد وحدة
التحكم
للآلة
الافتراضية.
يأخذ
واحداً من
"interactive" أو "read-only"
أو "native" أو "gui"
أو "headless".
المبدئي هو
"interactive". "interactive"
يُوفر
واجهة
طرفية
تفاعلية
للآلة
الافتراضية.
"read-only" مشابه،
لكنه
للقراءة
فقط بشكل
صارم، أي لا
يقبل أي
إدخال من
المستخدم.
"native" يُوفر
أيضاً
واجهة
قائمة على TTY،
لكنه
يستخدم
تنفيذ qemu
الأصلي (مما
يعني أن
مراقب qemu
متاح). "gui"
يُظهر
واجهة qemu
الرسومية.
"headless" يُشغل
الآلة
الافتراضية
بدون أي
وحدة تحكم،
وهو مفيد
للاستخدام
الآلي أو
المُبرمج.
أُضيف في
الإصدار 256.
--console-transport=النقل
يُهيئ
النقل
لاستخدامه
لوحدة تحكم
الآلة
الافتراضية.
يأخذ
واحداً من
"virtio" أو "serial".
المبدئي هو
"virtio". "virtio"
يستخدم
جهاز virtio-serial،
الذي يظهر
كـ /dev/hvc0 في
الآلة
الافتراضية.
"serial" يستخدم
منفذاً
تسلسلياً
عادياً،
يظهر كـ /dev/ttyS0 (أو
/dev/ttyAMA0 على ARM) في
الآلة
الافتراضية.
هذا الخيار
له تأثير
فقط في
أوضاع
--console=interactive و
--console=read-only و
--console=native.
أُضيف في
الإصدار 261.
--background=COLOR
تغيير
لون خلفية
الطرفية
إلى لون ANSI
المحدد
طالما كانت
الآلة
الافتراضية
تعمل. يجب أن
يكون اللون
المحدد لون
خلفية ANSI X3.64 SGR،
أي سلاسل
مثل "40"، "41"،
...، "47"، "48;2;..."،
"48;5;...". انظر
كود هروب ANSI
(ويكيبيديا)[2]
للتفاصيل.
خصص سلسلة
فارغة
لتعطيل أي
تلوين. هذا
له تأثير
فقط في وضعي
--console=interactive و
--console=read-only.
أُضيف في
الإصدار 256.
بيانات الاعتماد¶
--load-credential=المعرف:المسار،
--set-credential=المعرف:القيمة
تمرير
وثيقة
استيثاق
إلى الآلة
الافتراضية.
يقابل هذان
الخياران
إعدادي
LoadCredential=
و
SetCredential= في
ملفات
الوحدات.
انظر
systemd.exec(5)
للتفاصيل
حول هذه
المفاهيم،
بالإضافة
إلى صيغة
معطيات
الخيار.
لتضمين
بيانات
ثنائية في
بيانات
الاعتماد
لـ --set-credential=،
استخدم
هروباً
بنمط لغة C
(أي "\n"
لتضمين سطر
جديد، أو "\x00"
لتضمين
بايت NUL).
لاحظ أن
الصدفة
المستدعاة
قد تطبق
بالفعل
إلغاء
الهروب مرة
واحدة، لذا
قد يتطلب
ذلك هروباً
مزدوجاً!
يُفضل
تمرير
بيانات
الاعتماد
إلى الآلة
الافتراضية
عبر سلاسل SMBIOS
Type 11 أو ملفات QEMU
fw_cfg. إذا لم تكن
أي من
الآليتين
متاحة،
تُمرر
بيانات
الاعتماد
على سطر
أوامر
النواة
باستخدام
systemd.set_credential_binary= وهي
ليست قناة
سرية. لا
تستخدم هذا
لتمرير
الأسرار
إلى الآلة
الافتراضية
في تلك
الحالة.
أُضيف في
الإصدار 255.
أخرى¶
--no-pager
لا تمرر
المخرجات
إلى برنامج
عرض (pager).
-h، --help
اطبع نص
مساعدة
قصير
واخرج.
--version
اطبع
سلسلة
إصدار
قصيرة
واخرج.
--no-ask-password
لا تسأل
المستخدم
عن
الاستيثاق
للعمليات
ذات
الامتيازات.
البيئة¶
$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
قيمة
منطقية. إذا
كانت
صحيحة،
فستُلون
الرسائل
المكتوبة
في الـ tty حسب
الأولوية.
هذا
الإعداد
مفيد فقط
عندما
تُكتب
الرسائل
مباشرة إلى
الطرفية،
لأن journalctl(1)
والأدوات
الأخرى
التي تعرض
السجلات
ستلون
الرسائل
بناءً على
مستوى
السجل من
تلقاء
نفسها.
$SYSTEMD_LOG_TIME
قيمة
منطقية. إذا
كانت
صحيحة،
فستُسبق
رسائل سجل
الطرفية
بختم زمني.
هذا
الإعداد
مفيد فقط
عندما
تُكتب
الرسائل
مباشرة إلى
الطرفية أو
إلى ملف،
لأن journalctl(1)
والأدوات
الأخرى
التي تعرض
السجلات
ستُرفق
طوابع
زمنية
بناءً على
البيانات
الوصفية
للمدخلات
من تلقاء
نفسها.
$SYSTEMD_LOG_LOCATION
قيمة
منطقية. إذا
كانت
صحيحة،
فستُسبق
الرسائل
باسم الملف
ورقم السطر
في الشيفرة
المصدرية
حيث نشأت
الرسالة.
لاحظ أن
موقع السجل
غالبًا ما
يُرفق
كبيانات
وصفية
بمدخلات
اليوميات
على أي حال.
ومع ذلك، قد
يكون
تضمينه
مباشرة في
نص الرسالة
مفيدًا عند
تنقيح
البرامج.
$SYSTEMD_LOG_TID
قيمة
منطقية. إذا
كانت
صحيحة،
فستُسبق
الرسائل
بمعرّف
الخيط
الرقمي
الحالي (TID).
لاحظ أن
هذه
المعلومات
تُرفق
كبيانات
وصفية
بمدخلات
اليوميات
على أي حال.
ومع ذلك، قد
يكون
تضمينه
مباشرة في
نص الرسالة
مفيدًا عند
تنقيح
البرامج.
$SYSTEMD_LOG_TARGET
وجهة
رسائل
السجل. أحد
الخيارات:
console (التسجيل
في الطرفية
المرفقة)،
أو
console-prefixed
(التسجيل في
الطرفية
المرفقة
ولكن مع
بادئات
ترميز
مستوى
السجل
و"المرفق"،
راجع
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
تدعم
أوامر
المستعرض (pager)
الشائعة
مثل
less(1)،
بالإضافة
إلى
"التصفح"،
أي التمرير
عبر
المخرجات،
فتح ملفات
أخرى أو
الكتابة
إليها
وتشغيل
أوامر صدفة
عشوائية.
عند
استدعاء
الأوامر
بامتيازات
مرفوعة،
على سبيل
المثال تحت
sudo(8) أو
pkexec(1)،
يصبح
المستعرض
حدًا
أمنيًا. يجب
الحرص على
استخدام
البرامج
ذات
الوظائف
المحدودة
للغاية فقط
كمستعرضات،
وعدم
السماح
بالميزات
التفاعلية
غير
المقصودة
مثل فتح
ملفات
جديدة أو
إنشائها أو
بدء عمليات
فرعية. يمكن
تمكين
"الوضع
الآمن"
للمستعرض
كما هو موضح
أدناه،
إذا
كان
المستعرض
يدعم ذلك
(معظم
المستعرضات
لم تُكتب
بطريقة
تأخذ هذا في
الاعتبار).
يوصى إما
بتمكين
"الوضع
الآمن"
صراحةً أو
تعطيل
المستعرض
تمامًا
باستخدام
--no-pager أو
PAGER=cat عند
السماح
للمستخدمين
غير
الموثوق
بهم بتنفيذ
أوامر
بامتيازات
مرفوعة.
يأخذ هذا
الخيار
وسيطًا
منطقيًا.
عند ضبطه
على صحيح (true)،
يُمكن
"الوضع
الآمن"
لمستعرض
الصفحات. في
"الوضع
الآمن"،
سيُضبط LESSSECURE=1
عند
استدعاء
المستعرض،
مما يوجه
المستعرض
لتعطيل
الأوامر
التي تفتح
أو تنشئ
ملفات
جديدة أو
تبدأ
عمليات
فرعية
جديدة.
حاليًا،
يُعرف فقط
less(1) بقدرته
على فهم هذا
المتغير
وتطبيق
"الوضع
الآمن".
عند الضبط
إلى false، لا
توضع قيود
على أداة
التصفح (pager). إن
ضبط SYSTEMD_PAGERSECURE=0 أو
عدم إزالته
من البيئة
الموروثة
قد يسمح
للمستخدم
باستدعاء
أوامر
اعتباطية.
عندما لا
يكون $SYSTEMD_PAGERSECURE
مضبوطًا،
تحاول
أدوات systemd
آليًا
معرفة ما
إذا كان
ينبغي
تفعيل
"النمط
الآمن" وما
إذا كان
المستعرض (pager)
يدعمه.
يُفعل
"النمط
الآمن" إذا
كان معرف
المستخدم
الفعلي (UID)
ليس هو نفسه
مالك جلسة
الولوج،
انظر geteuid(2) و
sd_pid_get_owner_uid(3)، أو
عند
التشغيل
تحت sudo(8) أو
أدوات
مماثلة ($SUDO_UID
مضبوط [3]). في
تلك
الحالات،
سيُضبط
SYSTEMD_PAGERSECURE=1 ولن
تُستخدم
المستعرضات
التي لا
يُعرف عنها
تنفيذ
"النمط
الآمن" على
الإطلاق.
لاحظ أن هذا
الاكتشاف
الآلي يغطي
فقط
الآليات
الأكثر
شيوعًا
لرفع
الامتيازات
وهو مخصص
للتسهيل.
يوصى بضبط
$SYSTEMD_PAGERSECURE صراحة
أو تعطيل
المستعرض.
لاحظ أنه
إذا أُريد
احترام
المتغيرات
$SYSTEMD_PAGER أو $PAGER،
لغير غرض
تعطيل
مستعرض
الصفحات،
فيجب ضبط
$SYSTEMD_PAGERSECURE أيضًا.
$SYSTEMD_COLORS
يأخذ
وسيطًا
منطقيًا (boolean)،
أو قيمة
خاصة.
مبدئيًا
(عند عدم
الضبط)،
سيستخدم
systemd
والأدوات
المرتبطة
به الألوان
في
مخرجاتها
إذا أمكن
ذلك. إذا
ضُبط
$COLORTERM على
"truecolor" أو "24bit"،
فستُمكّن
ألوان 24 بت،
وإلا
فستُستخدم 256
لونًا، ما
لم يشر
$NO_COLOR أو
$TERM إلى تعطيل
الألوان.
true
نفس حالة
عدم الضبط،
باستثناء
تجاهل $NO_COLOR.
false
سيكون
المخرج
أحادي
اللون.
"16"، "256"،
"24bit"
استخدم
دائمًا
ألوان ANSI الـ 16
الأساسية،
أو 256 لونًا،
أو لون 24 بت،
على
التوالي.
"auto-16"، "auto-256"،
"auto-24bit"
استخدم
كمية
الألوان
المعطاة،
بشرط $TERM، وما
هو متصل
بالطرفية.
$SYSTEMD_URLIFY
يجب أن
تكون
القيمة
منطقية.
تتحكم فيما
إذا كان يجب
توليد
روابط
قابلة
للنقر في
المخرج
لمحاكيات
الطرفية
التي تدعم
ذلك. يمكن
تحديد هذا
لتجاوز
القرار
الذي يتخذه
systemd بناءً
على $TERM وشروط
أخرى.
أمثلة¶
مثال 1. تشغيل
صورة آلة
افتراضية
لـ Arch Linux مولدة
بواسطة mkosi
$ mkosi -d arch -p systemd -p linux --autologin -o image.raw -f build
$ systemd-vmspawn --image=image.raw
مثال 2. استيراد
وتشغيل
صورة Fedora 44
السحابية
باستخدام
importctl
مثال 3. بناء
وتشغيل
صورة نظام systemd
وتوجيه سجل
الآلة
الافتراضية
إلى ملف
محلي
$ mkosi build
$ systemd-vmspawn \
-D mkosi.output/system \
--private-users $(grep $(whoami) /etc/subuid | cut -d: -f2) \
--linux mkosi.output/system.efi \
--forward-journal=vm.journal \
enforcing=0
ملاحظة:
يستخدم هذا
المثال
أيضًا معطى
لسطر أوامر
النواة
لضمان عدم
بدء SELinux في وضع
الإنفاذ (enforcing
mode).
مثال 4. الدخول
عبر SSH إلى
آلة
افتراضية
تعمل
باستخدام
systemd-ssh-proxy
$ mkosi build
$ my_vsock_cid=3735928559
$ systemd-vmspawn \
-D mkosi.output/system \
--private-users $(grep $(whoami) /etc/subuid | cut -d: -f2) \
--linux mkosi.output/system.efi \
--vsock-cid $my_vsock_cid \
enforcing=0
$ ssh root@vsock/$my_vsock_cid -i /run/user/$UID/systemd/vmspawn/machine-*-system-ed25519