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
    يقوم بوصل نظام ملفات tmpfs جديد في DST داخل صندوق الرمل.

--dev DST
    يقوم بإعداد /dev خاص في DST داخل صندوق الرمل. سيحتوي هذا /dev الخاص فقط على عُقد الأجهزة الأساسية المطلوبة لصندوق رمل يعمل (مثل /dev/null) ولا يحتوي على أجهزة فعلية.

--proc DST
    يقوم بوصل /proc من المضيف في DST داخل صندوق الرمل.

--dir DST
    يقوم بإنشاء دليل وجميع الأدلة الرئيسية المفقودة في DST داخل صندوق الرمل. يتم إنشاء جميع الأدلة بالوضع 755 ما لم ينته المسار بـ /tmp أو /var/tmp وفي هذه الحالة يتم إنشاؤه بالوضع 1777.

--bind SRC DST
    يتم وصل المسار المصدر SRC بشكل متكرر إلى DST في صندوق الرمل. يتم إنشاء نقطة الوصل في صندوق الرمل إذا لم تكن موجودة بعد. يتم أيضًا إنشاء أي أدلة رئيسية مفقودة في صندوق الرمل. قد يتم اختياريًا إضافة بادئة + إلى المسار المصدر. إذا كان الأمر كذلك، يتم تفسير المسار المصدر بالنسبة إلى دليل جذر صندوق الرمل بدلاً من دليل جذر المضيف.

--bind-try SRC DST
    مثل --bind، لكنه لا يفشل إذا كان المسار المصدر غير موجود.

--ro-bind SRC DST
    مثل --bind، لكنه يقوم بوصل ربط متكرر للقراءة فقط.

--ro-bind-try SRC DST
    مثل --bind-try، لكنه يقوم بوصل ربط آلي للقراءة فقط بشكل متكرر.

--symlink SRC DST
    ينشئ رابطًا رمزيًا عند DST في الصندوق الرملي يشير إلى SRC. إذا كان DST موجودًا بالفعل وكان ملفًا أو رابطًا رمزيًا، يُنشأ رابط رمزي مؤقت ويُوصل فوق DST.

--write DATA DST
    يكتب السلسلة من DATA إلى DST في الصندوق الرملي.

--overlay-lowerdir DIR
    يضيف DIR من المضيف كدليل سفلي جديد لوصل overlayfs التالي.

--overlay-upperdir DIR
    يضبط الدليل العلوي لوصل overlayfs التالي إلى DIR من المضيف. إذا ضُبط على tmpfs، سيكون upperdir و workdir دليلين فرعيين لوصل tmpfs جديد.

--overlay-workdir DIR
    يضبط دليل العمل لوصل overlayfs التالي إلى DIR من المضيف.

--overlay DST
    يوصل نظام ملفات overlay جديدًا عند DST في الصندوق الرملي. تُحدد الأدلة السفلية والدليل العلوي ودليل العمل باستخدام الخيارات --overlay-lowerdir و --overlay-upperdir و --overlay-workdir على التوالي. بعد تحليل كل خيار --overlay، تُعاد ضبط خيارات overlay الأخرى.

--unsetenv NAME
    يلغي تعيين متغير البيئة NAME في الصندوق الرملي.

--setenv NAME VALUE
    يضبط متغير البيئة NAME إلى VALUE في الصندوق الرملي

--chdir DIR
    يغير دليل العمل إلى DIR في الصندوق الرملي.

--same-dir
    يغير دليل العمل في الصندوق الرملي إلى دليل العمل الحالي الذي استُدعي فيه mkosi-sandbox على المضيف.

--become-root
    يعيّن المستخدم الحالي إلى المستخدم الجذر في الصندوق الرملي. إذا لم يُحدد هذا الخيار، يُعيّن المستخدم الحالي إلى نفسه في الصندوق الرملي. بغض النظر عن تحديد هذا الخيار أم لا، سيكون للمستخدم الحالي مجموعة كاملة من القدرات المحيطة في الصندوق الرملي. يتضمن ذلك CAP_SYS_ADMIN مما يعني أن العملية المستدعاة في الصندوق الرملي ستكون قادرة على القيام بوصلات الربط وعمليات أخرى.
    إذا استُدعي mkosi-sandbox كمستخدم جذر، لن يفعل هذا الخيار شيئًا.

--suppress-chown
    يؤدي تحديد هذا الخيار إلى جعل جميع استدعاءات chown() أو استدعاءات النظام المماثلة عملية عدمية في الصندوق الرملي. هذا مفيد بشكل أساسي عند استدعاء مديري الحزم في الصندوق الرملي الذين قد يحاولون تغيير ملكية الملفات (chown()) لمستخدمين أو مجموعات مختلفة مما سيفشل ما لم يُستدعَ mkosi-sandbox بواسطة مستخدم متميز.

--suppress-sync
    يؤدي تحديد هذا الخيار إلى جعل جميع استدعاءات sync() أو استدعاءات النظام المماثلة عملية عدمية في الصندوق الرملي. هذا مفيد بشكل أساسي عند استدعاء مديري الحزم في الصندوق الرملي الذين قد يحاولون مزامنة الملفات (sync()) عند استخراج الحزم وهو أمر غير ضروري عند بناء الصور ويبطئ وقت التنفيذ بشكل كبير.

--unshare-net
    تحديد هذا الخيار يجعل mkosi-sandbox يلغي مشاركة مساحة اسم الشبكة إن أمكن.

--unshare-ipc
    تحديد هذا الخيار يجعل mkosi-sandbox يلغي مشاركة مساحة اسم IPC إن أمكن.

--suspend
    اجعل عملية mkosi-sandbox تعلق نفسها بـ SIGSTOP قبل استدعاء execve(). هذا مفيد للانتظار حتى اكتمال كل منطق الإعداد قبل متابعة التنفيذ في العملية الأم التي تستدعي mkosi-sandbox باستخدام waitid() مع العلمين WNOWAIT و WSTOPPED.

--pack-fds
    قم بتجميع واصفات الملفات الموروثة معاً بدءاً من رقم واصف الملف 3 واضبط $LISTEN_FDS على عدد واصفات الملفات المجمعة و $LISTEN_PID على معرف العملية الحالي.

--version
    أظهر إصدار الحزمة.

--help, -h
    أظهر معلومات استخدام موجزة.

أمثلة
ابدأ 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 (https://www.gnu.org/licenses/gpl-3.0.html) أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

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