Scroll to navigation

mkosi-sandbox(1) General Commands Manual mkosi-sandbox(1)

الاسم

mkosi-sandbox — تشغيل الأوامر في صندوق رمل مخصص

موجز

mkosi-sandbox [options...] command [arguments]

الوصف

mkosi-sandbox يقوم بتشغيل الأمر المعطى في صندوق رمل مخصص. يتم تكوين صندوق الرمل عن طريق تحديد خيارات سطر الأوامر التي تهيئ أجزاء فردية من صندوق الرمل.

إذا لم يتم تحديد أي أمر، فسيبدأ mkosi-sandbox تشغيل bash في صندوق الرمل.

لاحظ أن هذا الصندوق غير مصمم ليكون حدًا أمنيًا. الغرض منه هو السماح بتشغيل الأوامر في بيئة معزولة حتى لا تتأثر بالنظام المضيف.

من الممكن استخدام mkosi-sandbox لإنشاء صندوق رمل داخل العملية لتطبيقات بايثون عن طريق استيراده كوحدة واستدعاء دالته الرئيسية مع الخيارات فقط. لا حاجة لسطر أوامر للتنفيذ في هذه الحالة. كمثال:

import mkosi.sandbox
mkosi.sandbox.main(["--become-root"])
print(os.getuid())
    

يمكن استدعاء الدالة main فقط. استدعاء أي دوال أخرى من mkosi.sandbox غير مدعوم وقد يتعطل في الإصدارات المستقبلية.

الخيارات

يقوم بوصل نظام ملفات tmpfs جديد في DST داخل صندوق الرمل.
يقوم بإعداد /dev خاص في DST داخل صندوق الرمل. سيحتوي هذا /dev الخاص فقط على عُقد الأجهزة الأساسية المطلوبة لصندوق رمل يعمل (مثل /dev/null) ولا يحتوي على أجهزة فعلية.
يقوم بوصل /proc من المضيف في DST داخل صندوق الرمل.
يقوم بإنشاء دليل وجميع الأدلة الرئيسية المفقودة في DST داخل صندوق الرمل. يتم إنشاء جميع الأدلة بالوضع 755 ما لم ينته المسار بـ /tmp أو /var/tmp وفي هذه الحالة يتم إنشاؤه بالوضع 1777.
يتم وصل المسار المصدر SRC بشكل متكرر إلى DST في صندوق الرمل. يتم إنشاء نقطة الوصل في صندوق الرمل إذا لم تكن موجودة بعد. يتم أيضًا إنشاء أي أدلة رئيسية مفقودة في صندوق الرمل. قد يتم اختياريًا إضافة بادئة + إلى المسار المصدر. إذا كان الأمر كذلك، يتم تفسير المسار المصدر بالنسبة إلى دليل جذر صندوق الرمل بدلاً من دليل جذر المضيف.
مثل --bind، لكنه لا يفشل إذا كان المسار المصدر غير موجود.
مثل --bind، لكنه يقوم بوصل ربط متكرر للقراءة فقط.
مثل --bind-try، لكنه يقوم بوصل ربط آلي للقراءة فقط بشكل متكرر.
ينشئ رابطًا رمزيًا عند DST في الصندوق الرملي يشير إلى SRC. إذا كان DST موجودًا بالفعل وكان ملفًا أو رابطًا رمزيًا، يُنشأ رابط رمزي مؤقت ويُوصل فوق DST.
يكتب السلسلة من DATA إلى DST في الصندوق الرملي.
يضيف DIR من المضيف كدليل سفلي جديد لوصل overlayfs التالي.
يضبط الدليل العلوي لوصل overlayfs التالي إلى DIR من المضيف. إذا ضُبط على tmpfs، سيكون upperdir و workdir دليلين فرعيين لوصل tmpfs جديد.
يضبط دليل العمل لوصل overlayfs التالي إلى DIR من المضيف.
يوصل نظام ملفات overlay جديدًا عند DST في الصندوق الرملي. تُحدد الأدلة السفلية والدليل العلوي ودليل العمل باستخدام الخيارات --overlay-lowerdir و --overlay-upperdir و --overlay-workdir على التوالي. بعد تحليل كل خيار --overlay، تُعاد ضبط خيارات overlay الأخرى.
يلغي تعيين متغير البيئة NAME في الصندوق الرملي.
يضبط متغير البيئة NAME إلى VALUE في الصندوق الرملي
يغير دليل العمل إلى DIR في الصندوق الرملي.
يغير دليل العمل في الصندوق الرملي إلى دليل العمل الحالي الذي استُدعي فيه mkosi-sandbox على المضيف.
يعيّن المستخدم الحالي إلى المستخدم الجذر في الصندوق الرملي. إذا لم يُحدد هذا الخيار، يُعيّن المستخدم الحالي إلى نفسه في الصندوق الرملي. بغض النظر عن تحديد هذا الخيار أم لا، سيكون للمستخدم الحالي مجموعة كاملة من القدرات المحيطة في الصندوق الرملي. يتضمن ذلك CAP_SYS_ADMIN مما يعني أن العملية المستدعاة في الصندوق الرملي ستكون قادرة على القيام بوصلات الربط وعمليات أخرى.
إذا استُدعي mkosi-sandbox كمستخدم جذر، لن يفعل هذا الخيار شيئًا.
يؤدي تحديد هذا الخيار إلى جعل جميع استدعاءات chown() أو استدعاءات النظام المماثلة عملية عدمية في الصندوق الرملي. هذا مفيد بشكل أساسي عند استدعاء مديري الحزم في الصندوق الرملي الذين قد يحاولون تغيير ملكية الملفات (chown()) لمستخدمين أو مجموعات مختلفة مما سيفشل ما لم يُستدعَ mkosi-sandbox بواسطة مستخدم متميز.
يؤدي تحديد هذا الخيار إلى جعل جميع استدعاءات sync() أو استدعاءات النظام المماثلة عملية عدمية في الصندوق الرملي. هذا مفيد بشكل أساسي عند استدعاء مديري الحزم في الصندوق الرملي الذين قد يحاولون مزامنة الملفات (sync()) عند استخراج الحزم وهو أمر غير ضروري عند بناء الصور ويبطئ وقت التنفيذ بشكل كبير.
تحديد هذا الخيار يجعل mkosi-sandbox يلغي مشاركة مساحة اسم الشبكة إن أمكن.
تحديد هذا الخيار يجعل mkosi-sandbox يلغي مشاركة مساحة اسم IPC إن أمكن.
اجعل عملية mkosi-sandbox تعلق نفسها بـ SIGSTOP قبل استدعاء execve(). هذا مفيد للانتظار حتى اكتمال كل منطق الإعداد قبل متابعة التنفيذ في العملية الأم التي تستدعي mkosi-sandbox باستخدام waitid() مع العلمين WNOWAIT و WSTOPPED.
قم بتجميع واصفات الملفات الموروثة معاً بدءاً من رقم واصف الملف 3 واضبط $LISTEN_FDS على عدد واصفات الملفات المجمعة و $LISTEN_PID على معرف العملية الحالي.
أظهر إصدار الحزمة.
أظهر معلومات استخدام موجزة.

أمثلة

ابدأ bash في دليل العمل الحالي في مساحة اسم الشبكة الخاصة به كمستخدم حالي.

mkosi-sandbox --bind / / --same-dir --unshare-net
    

شغّل id كمستخدم جذر في صندوق رمل مع /usr فقط من المضيف بالإضافة إلى الروابط الرمزية الضرورية لتشغيل الأوامر.

mkosi-sandbox \

--ro-bind /usr /usr \
--symlink usr/bin /bin \
--symlink usr/lib /lib \
--symlink usr/lib64 /lib64 \
--symlink usr/sbin /sbin \
--dev /dev \
--proc /proc \
--tmpfs /tmp \
--become-root \
id

انظر أيضًا

mkosi(1)

ترجمة

تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.