table of contents
- trixie-backports 4.30.2-1~bpo13+1
- testing 4.30.2-1
- unstable 4.31.0-1
| MACHINECTL(1) | machinectl | MACHINECTL(1) |
الاسم¶
machinectl - التحكم في مدير آلات systemd
موجز¶
machinectl [OPTIONS...] {COMMAND} [NAME...]
الوصف¶
يمكن استخدام machinectl لاستبطان حالة مدير تسجيل الآلات الافتراضية والحاويات systemd-machined.service(8) الخاص بـ systemd(1) والتحكم فيها.
يمكن استخدام machinectl لتنفيذ عمليات على الآلات والصور. تُعد الآلات بهذا المعنى نُسخا عاملة من:
تُعرّف الآلات بأسماء تتبع نفس قواعد أسماء مضيفي UNIX وDNS. للتفاصيل، انظر أدناه.
تُنشأ الآلات من صور قرص أو صور نظام ملفات غالبا — ولكن ليس بالضرورة — تحمل نفس اسم الآلات التي تعمل منها. قد تكون الصور بهذا المعنى:
يمكن تنزيل الصور واستيرادها وتصديرها عبر أداة importctl(1).
الأوامر¶
الأوامر التالية مفهومة:
أوامر الآلة¶
list
أُضيف في الإصدارة 206.
status NAME...
أُضيف في الإصدارة 206.
show [NAME...]
أُضيف في الإصدارة 206.
start NAME...
لاحظ أن systemd-machined.service(8) يتصل أيضًا بمجموعة متنوعة من مديري الحاويات والآلات الافتراضية الآخرين، و systemd-nspawn هو مجرد واحد منها. يمكن استخدام معظم الأوامر المتاحة في machinectl على الحاويات أو الآلات الافتراضية التي يتحكم فيها مديرون آخرون، وليس فقط systemd-nspawn. يتطلب تشغيل الآلات الافتراضية وصور الحاويات على هؤلاء المديرين أدوات خاصة بكل مدير.
لتشغيل حاوية بشكل تفاعلي على سطر الأوامر مع وصول كامل إلى طرفية الحاوية، يرجى استدعاء systemd-nspawn مباشرة. لإيقاف حاوية عاملة، استخدم machinectl poweroff.
أُضيف في الإصدارة 219.
login [NAME]
سيفتح هذا الأمر محث ولوج كامل على الحاوية أو المضيف المحلي، والذي يطلب بعد ذلك اسم المستخدم وكلمة المرور. استخدم shell (انظر أدناه) أو systemd-run(1) مع مفتاح --machine= لاستدعاء أمر واحد مباشرة، إما بشكل تفاعلي أو في الخلفية.
أُضيف في الإصدارة 209.
shell [[NAME@]NAME [PATH [ARGUMENTS...]]]
لاحظ أن machinectl shell لا ينقل رمز/حالة الخروج لعملية الصدفة المستدعاة. استخدم systemd-run بدلا من ذلك إذا كانت هذه المعلومات مطلوبة (انظر أدناه).
يُعد استخدام أمر shell بدون وسائط (وبالتالي استدعاء الصدفة أو الأمر المنفذ على المضيف المحلي)، مشابها في نواح كثيرة لجلسة su(1)، ولكن على عكس su، فإنه يعزل الجلسة الجديدة تماما عن الجلسة الأصلية، بحيث لا تتشارك في أي خصائص عملية أو جلسة وتكون في حالة نظيفة ومحددة جيدا. ستُتتبع في جلسات utmp، ولوج، وتدقيق، وأمن، وحلقة مفاتيح جديدة، ولن ترث أي متغيرات بيئة أو قيود موارد، من بين خصائص أخرى.
لاحظ أنه يمكن استخدام systemd-run(1) مع مفتاحه --machine= بدلا من أمر machinectl shell، ويسمح بالتشغيل غير التفاعلي، وضبط أكثر تفصيلا ومنخفص المستوى للوحدة المستدعاة، بالإضافة إلى الوصول إلى معلومات وقت التشغيل ورمز/حالة الخروج لعملية الصدفة المستدعاة. على وجه الخصوص، استخدم مفتاح --wait لـ systemd-run لنقل معلومات حالة الخروج للعملية المستدعاة. استخدم مفتاح --pty لـ systemd-run للحصول على صدفة تفاعلية، بشكل مشابه لـ machinectl shell. وبشكل عام، يُفضل systemd-run لأغراض البرمجة النصية. ومع ذلك، لاحظ أن systemd-run قد يتطلب امتيازات أعلى من machinectl shell.
أُضيف في الإصدارة 225.
enable NAME..., disable NAME...
يعيد هذا الأمر تحميل تهيئة مدير النظام ضمنيا بعد إكمال العملية. لاحظ أن هذا الأمر لا يشغل الحاويات التي يُجرى العمل عليها أو يوقف تشغيلها ضمنيا. إذا كان ذلك مطلوبا، فاجمع بين الأمر ومفتاح --now.
أُضيف في الإصدارة 219.
poweroff NAME...
أُضيف في الإصدارة 212.
reboot NAME...
أُضيف في الإصدارة 209.
pause اسم...
أُضيف في الإصدار 261.
resume اسم...
أُضيف في الإصدار 261.
terminate NAME...
أُضيف في الإصدارة 206.
kill NAME...
أُضيف في الإصدارة 206.
bind NAME PATH [PATH]
أُضيف في الإصدارة 219.
bind-volume اسم مواصفات
يُعرف الحجم الموصول بالاسم "PROVIDER:VOLUME" ويمكن فصله في وقت التشغيل عبر unbind-volume. يُدعم حاليًا فقط لآلات systemd-vmspawn التي تعرض مقبس تحكم io.systemd.MachineInstance.
أُضيف في الإصدار 261.
unbind-volume اسم اسم-التخزين
أُضيف في الإصدار 261.
copy-to NAME PATH [PATH] --force
إذا كان المضيف والحاوية يشتركان في نفس مساحة أسماء المستخدم والمجموعة، فستُحفظ ملكية الملف بواسطة معرف المستخدم ومعرف المجموعة الرقمي للنسخة، وإلا فستكون جميع الملفات والمجلدات في النسخة مملوكة للمستخدم الجذر والمجموعة (UID/GID 0).
أُضيف في الإصدارة 219.
copy-from NAME PATH [PATH] --force
إذا كان المضيف والحاوية يشتركان في نفس مساحة أسماء المستخدم والمجموعة، فستُحفظ ملكية الملف بواسطة معرف المستخدم ومعرف المجموعة الرقمي للنسخة، وإلا فستكون جميع الملفات والمجلدات في النسخة مملوكة للمستخدم الجذر والمجموعة (UID/GID 0).
أُضيف في الإصدارة 219.
أوامر الصور¶
list-images
أُضيف في الإصدارة 219.
image-status [NAME...]
أُضيف في الإصدارة 219.
show-image [NAME...]
أُضيف في الإصدارة 219.
edit NAME|FILE
أُضيف في الإصدار 254.
cat NAME|FILE
أُضيف في الإصدار 254.
clone NAME NAME
لاحظ أن هذا الأمر يترك اسم المضيف، ومعرف الآلة وجميع الإعدادات الأخرى التي يمكن أن تحدد النسخة دون تعديل. وبالتالي ستتشارك الصورة الأصلية والنسخة المستنسخة هذه الاعتمادات، وقد يكون من الضروري تغييرها يدويا في النسخة.
إذا جُمع مع مفتاح --read-only، تُنشأ صورة مستنسخة للقراءة فقط.
أُضيف في الإصدارة 219.
rename NAME NAME
أُضيف في الإصدارة 219.
read-only NAME [BOOL]
أُضيف في الإصدارة 219.
remove NAME...
أُضيف في الإصدارة 219.
set-limit [NAME] BYTES
لاحظ أن حدود الحجم لكل حاوية مدعومة فقط في أنظمة ملفات btrfs.
أُضيف في الإصدارة 220.
clean
عند الدمج مع مفتاح --all يزيل جميع الصور، وليس فقط الصور المخفية. يفرغ هذا الأمر فعليا /var/lib/machines/.
لاحظ أن أوامر مثل importctl pull-tar أو importctl pull-raw عادة ما تنشئ صور آلات مخفية، للقراءة فقط، وغير معدلة من الصورة المنزلة أولا، قبل استنساخ نسخة عمل قابلة للكتابة منها، من أجل تجنب التنزيلات المكررة في حال إعادة استخدام الصور عدة مرات. استخدم machinectl clean لإزالة الصور القديمة والمخفية التي أُنشئت بهذه الطريقة.
أُضيف في الإصدارة 230.
الخيارات¶
الخيارات التالية مفهومة:
-p، --property=
أُضيف في الإصدارة 206.
--value
أُضيف في الإصدارة 230.
-P
أُضيف في الإصدار 256.
-a، --all
عند سرد صور الآلات الافتراضية أو الحاويات، لا يكبت الصور التي تبدأ بحرف نقطة (".").
عند تنظيف صور الآلات الافتراضية أو الحاويات، يزيل جميع الصور، وليس فقط الصور المخفية.
أُضيف في الإصدارة 206.
-l، --full
أُضيف في الإصدارة 206.
--kill-whom=
أُضيف في الإصدارة 206.
-s، --signal=
القيمة الخاصة "help" ستسرد القيم المعروفة وسيخرج البرنامج فورًا، والقيمة الخاصة "list" ستسرد القيم المعروفة مع أرقام الإشارات العددية وسيخرج البرنامج فورًا.
--uid=
أُضيف في الإصدارة 225.
-E الاسم[=القيمة]، --setenv=الاسم[=القيمة]
لاحظ أن هذا الخيار غير مدعوم لأمر login.
أُضيف في الإصدارة 230.
--mkdir
أُضيف في الإصدارة 219.
--read-only
عند الاستخدام مع clone تُنشأ صورة حاوية أو آلة افتراضية للقراءة فقط.
أُضيف في الإصدارة 219.
-n، --lines=
أُضيف في الإصدارة 219.
-o، --output=
أُضيف في الإصدارة 219.
--runner=nspawn|vmspawn
أُضيف في الإصدار 256.
-V
أُضيف في الإصدار 256.
--now
أُضيف في الإصدار 253.
--force
أُضيف في الإصدارة 219.
--max-addresses=
أُضيف في الإصدار 232.
-q، --quiet
أُضيف في الإصدارة 236.
-H، --host=
-M، --machine=
أُضيف في الإصدارة 235.
--no-pager
--no-legend
--no-ask-password
-h، --help
--version
أسماء الآلات والصور¶
تعمل أداة machinectl على الآلات والصور التي يجب اختيار أسمائها باتباع قواعد صارمة. يجب أن تكون أسماء الآلات مناسبة للاستخدام كأسماء مضيفين باتباع مجموعة فرعية متحفظة من دلالات DNS و UNIX/Linux. تحديدا، يجب أن تتكون من سلسلة واحدة أو أكثر من سلاسل اللصائق غير الفارغة، مفصولة بنقاط. لا يُسمح بنقاط في البداية أو النهاية. لا يُسمح بتسلسلات من نقاط متعددة. قد تتكون سلاسل اللصائق فقط من أحرف وأرقام بالإضافة إلى الاندفاعة. الحد الأقصى لطول اسم الآلة هو 64 حرفا.
تشير آلة خاصة باسم ".host" إلى نظام المضيف العامل نفسه. هذا مفيد لتنفيذ العمليات أو فحص نظام المضيف أيضًا. لاحظ أن machinectl list لن يعرض هذه الآلة الخاصة إلا إذا حُدد مفتاح --all.
المتطلبات المتعلقة بأسماء الصور أقل صرامة، ومع ذلك، يجب أن تكون بترميز UTF-8 صحيح، ويجب أن تكون مناسبة كأسماء ملفات (وبالتالي لا تكون النقطة المفردة أو المزدوجة، ولا تتضمن شرطة مائلة)، ولا يجوز أن تحتوي على أحرف تحكم. بما أن العديد من العمليات تبحث عن صورة باسم الآلة المطلوبة، فمن المستحسن تسمية الصور بنفس الطريقة الصارمة للآلات.
تشير صورة خاصة باسم ".host" إلى صورة نظام المضيف العامل. وبالتالي فهي ترتبط مفاهيميا باسم الآلة الخاص ".host" الموصوف أعلاه. لاحظ أن machinectl list-images لن يعرض هذه الصورة الخاصة أيضًا، ما لم يُحدد --all.
الملفات والأدلة¶
يُفضل تخزين صور الآلات في /var/lib/machines/، ولكن يُبحث عنها أيضًا في /usr/local/lib/machines/ و /usr/lib/machines/. لأسباب تتعلق بالتوافق، يُبحث في المجلد /var/lib/container/ أيضًا. لاحظ أن الصور المخزنة تحت /usr/ تُعتبر دائما للقراءة فقط. من الممكن إنشاء وصلة رمزية لصور الآلات من مجلدات أخرى إلى /var/lib/machines/ لجعلها متاحة للتحكم باستخدام machinectl.
لاحظ أن بعض عمليات الصور مدعومة أو فعالة أو ذرية فقط في أنظمة ملفات btrfs.
يفهم systemd-nspawn(1) و machinectl صور الأقراص في ثلاثة تنسيقات:
انظر systemd-nspawn(1) لمزيد من المعلومات حول تنسيقات الصور، وعلى وجه الخصوص خياريه --directory= و --image=.
أمثلة¶
Example 1. Download an Ubuntu RAW image, set a root password in it, start it as a service
# 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). وبعد ذلك تُشغل الآلة كخدمة نظام. وباستخدام الأمر الأخير يُطلب حث دخول إلى الحاوية.
حالة الخروج¶
عند النجاح، يُعاد الرقم 0، وإلا فيُعاد رمز فشل غير صفري.
البيئة¶
$SYSTEMD_LOG_LEVEL
$SYSTEMD_LOG_COLOR
هذا الإعداد مفيد فقط عندما تُكتب الرسائل مباشرة إلى الطرفية، لأن journalctl(1) والأدوات الأخرى التي تعرض السجلات ستلون الرسائل بناءً على مستوى السجل من تلقاء نفسها.
$SYSTEMD_LOG_TIME
هذا الإعداد مفيد فقط عندما تُكتب الرسائل مباشرة إلى الطرفية أو إلى ملف، لأن journalctl(1) والأدوات الأخرى التي تعرض السجلات ستُرفق طوابع زمنية بناءً على البيانات الوصفية للمدخلات من تلقاء نفسها.
$SYSTEMD_LOG_LOCATION
لاحظ أن موقع السجل غالبًا ما يُرفق كبيانات وصفية بمدخلات اليوميات على أي حال. ومع ذلك، قد يكون تضمينه مباشرة في نص الرسالة مفيدًا عند تنقيح البرامج.
$SYSTEMD_LOG_TID
لاحظ أن هذه المعلومات تُرفق كبيانات وصفية بمدخلات اليوميات على أي حال. ومع ذلك، قد يكون تضمينه مباشرة في نص الرسالة مفيدًا عند تنقيح البرامج.
$SYSTEMD_LOG_TARGET
$SYSTEMD_LOG_RATELIMIT_KMSG
$SYSTEMD_PAGER، $PAGER
ملاحظة: إذا لم يُضبط $SYSTEMD_PAGERSECURE، فلا يمكن استخدام $SYSTEMD_PAGER و $PAGER إلا لتعطيل مستعرض الصفحات (باستخدام "cat" أو "")، ويُتجاهل فيما عدا ذلك.
$SYSTEMD_LESS
قد يرغب المستخدمون في تغيير خيارين على وجه الخصوص:
K
إذا لم تتضمن قيمة $SYSTEMD_LESS الحرف "K"، وكان المستعرض المستدعى هو less، فسيُتجاهل Ctrl+C من قبل الملف التنفيذي، ويجب معالجته من قبل المستعرض.
X
لاحظ أن ضبط متغير البيئة العادي $LESS ليس له أي تأثير عند استدعاء less بواسطة أدوات systemd.
راجع less(1) لمزيد من النقاش.
$SYSTEMD_LESSCHARSET
لاحظ أن ضبط متغير البيئة العادي $LESSCHARSET ليس له أي تأثير عند استدعاء less بواسطة أدوات systemd.
$SYSTEMD_PAGERSECURE
يأخذ هذا الخيار وسيطًا منطقيًا. عند ضبطه على صحيح (true)، يُمكن "الوضع الآمن" لمستعرض الصفحات. في "الوضع الآمن"، سيُضبط LESSSECURE=1 عند استدعاء المستعرض، مما يوجه المستعرض لتعطيل الأوامر التي تفتح أو تنشئ ملفات جديدة أو تبدأ عمليات فرعية جديدة. حاليًا، يُعرف فقط less(1) بقدرته على فهم هذا المتغير وتطبيق "الوضع الآمن".
عند الضبط إلى false، لا توضع قيود على أداة التصفح (pager). إن ضبط SYSTEMD_PAGERSECURE=0 أو عدم إزالته من البيئة الموروثة قد يسمح للمستخدم باستدعاء أوامر اعتباطية.
عندما لا يُضبط $SYSTEMD_PAGERSECURE، تحاول أدوات systemd استنتاج ما إذا كان ينبغي تمكين "الوضع الآمن" آليًا وما إذا كان المستعرض يدعمه. يُمكن "الوضع الآمن" إذا كان معرف المستخدم الفعلي (UID) ليس هو نفسه مالك جلسة الولوج، انظر geteuid(2) و sd_pid_get_owner_uid(3)، أو عند التشغيل تحت sudo(8) أو أدوات مماثلة ($SUDO_UID مضبوط [1]). في تلك الحالات، سيُضبط SYSTEMD_PAGERSECURE=1 ولن تُستخدم المستعرضات التي لا يُعرف عنها تطبيق "الوضع الآمن" على الإطلاق. لاحظ أن هذا الاستكشاف الآلي يغطي فقط الآليات الأكثر شيوعًا لرفع الامتيازات وهو مخصص للتسهيل. يوصى بضبط $SYSTEMD_PAGERSECURE صراحةً أو تعطيل المستعرض.
لاحظ أنه إذا أُريد احترام المتغيرات $SYSTEMD_PAGER أو $PAGER، لغير غرض تعطيل مستعرض الصفحات، فيجب ضبط $SYSTEMD_PAGERSECURE أيضًا.
$SYSTEMD_COLORS
true
false
"16"، "256"، "24bit"
"auto-16"، "auto-256"، "auto-24bit"
$SYSTEMD_URLIFY
انظر أيضًا¶
systemd(1)، systemd-machined.service(8)، systemd-nspawn(1)، systemd.special(7)، importctl(1)، tar(1)، xz(1)، gzip(1)، bzip2(1)، zstd(1)
ملاحظات¶
- 1.
- يوصى للأدوات الأخرى بضبط والتحقق من $SUDO_UID حسب الاقتضاء، ومعاملته كواجهة مشتركة.
ترجمة¶
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>
هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.
إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.
| systemd 261~rc3 |