الوصف¶
systemd-repart ينشئ
جداول
الأقسام،
ويضيف أو
يوسع
الأقسام،
بناءً على
ملفات
الإعدادات
الموصوفة
في repart.d(5). يعمل
على جهاز
الكتلة أو
صورة الملف
المحددة في
سطر
الأوامر.
يُستخدم
systemd-repart عند
بناء صور
نظام
التشغيل،
وأيضًا عند
نشر الصور
لضبطها
آليًا،
أثناء
الإقلاع،
للنظام
الذي تعمل
عليه. بهذه
الطريقة
يمكن أن
تكون
الصورة
ضئيلة
الحجم وقد
تُوسع
آليًا عند
الإقلاع،
مستحوذة
على مساحة
القرص
المتاحة.
إذا
استُدعي
بدون
وسائط،
يعمل systemd-repart
على جهاز
الكتلة
الداعم
لقسم نظام
ملفات
الجذر
لنظام
التشغيل
الجاري،
وبالتالي
يضيف ويوسع
أقسام نظام
التشغيل
المُقلع
نفسه. عند
استدعائه
في initrd، يعمل
على جهاز
الكتلة
الداعم لـ /sysroot/
بدلاً من
ذلك، أي على
جهاز
الكتلة
الذي
سينتقل
إليه
النظام
قريبًا. إذا
استُخدم
--image=، سيعمل
على الجهاز
أو ملف
الصورة
المحدد.
تُشغّل
خدمة systemd-repart.service
عمومًا عند
الإقلاع في
initrd، من أجل
توسعة جدول
أقسام نظام
التشغيل
قبل تحميل
أقسامه.
إذا حُدد
جهاز
الكتلة كـ
"-" (أو
كسلسلة
فارغة)، لن
يعمل systemd-repart
على أي جهاز
كتلة أو ملف
صورة،
وبدلاً من
ذلك سيحدد
ويخرج الحد
الأدنى
لحجم
القرص/الصورة
لإعدادات
القسم
المحددة،
مع مراعاة
جميع قيود
الحجم
المُعدة.
عمليات
systemd-repart هي في
الغالب
تزايدية:
يوسع
الأقسام
الموجودة
أو يضيف
أقسامًا
جديدة،
لكنه لا
يقلص أو
يحذف أو
ينقل
الأقسام
الموجودة.
الخدمة
مخصصة
للتشغيل
عند كل
إقلاع، لكن
عندما
يكتشف أن
جدول
الأقسام
يطابق
بالفعل
ملفات
إعدادات repart.d/*.conf
المثبتة،
لا ينفذ أي
عملية.
حالات
الاستخدام
التالية من
بين تلك
المشمولة:
•يمكن
توسعة
القسم
الجذر
لتغطية
مساحة
القرص
المتاحة
بالكامل.
•يمكن
إضافة قسم /home/
أو swap أو /srv/.
•يمكن
إضافة قسم
جذر ثانٍ (أو
ثالث، ...)
لتغطية
إعدادات
نمط A/B حيث
يُستخدم
إصدار ثانٍ
من نظام
ملفات
الجذر
بالتناوب
لتنفيذ
مخططات
التحديث.
الصورة
المنشورة
ستحمل
قسمًا
واحدًا فقط
("A") لكن عند
الإقلاع
الأول
يُنشأ قسم
ثانٍ ("B")
لهذا الغرض
آليًا.
الخوارزمية
التي
ينفذها systemd-repart
هي تقريبًا
كما يلي:
1.تُحمّل
وتُحلل
ملفات
إعدادات
repart.d/*.conf، وتُرتب
حسب اسم
الملف (بدون
بادئة
الدليل). لكل
ملف
إعدادات،
تُحمّل
ملفات
الإدراج من
أدلة بنفس
اسم ملف
الإعدادات
مع إضافة
اللاحقة ".d".
2.يُحمّل
ويُحلل
جدول
الأقسام
على جهاز
الكتلة،
إذا كان
موجودًا.
3.تُطابق
الأقسام
الموجودة
في جدول
الأقسام مع
ملفات repart.d/*.conf
بواسطة UUID نوع
قسم GPT. يُسند
أول قسم
موجود من
نوع معين
إلى أول ملف
إعدادات
يعلن نفس
النوع. ثم
يُسند ثاني
قسم موجود
من نوع معين
إلى ثاني
ملف
إعدادات
يعلن نفس
النوع،
وهكذا. بعد
اكتمال هذا
الإسناد
التكراري،
تُعتبر أي
أقسام
موجودة ليس
لها ملف
إعدادات
مطابق
"أجنبية"
وتُترك كما
هي. وأي
ملفات
إعدادات لم
يُطابق لها
قسم تُعالج
كطلبات
لإنشاء
قسم.
4.تُخصص
الآن
الأقسام
التي
ستُنشئ على
القرص، مع
مراعاة
قيود الحجم
والأوزان
المعلنة في
ملفات
الإعدادات.
تُستخدم
المساحة
الحرة ضمن
الحدود
المحددة
بطلبات
الحجم
والحشو.
بالإضافة
إلى ذلك،
تُوسع
الأقسام
الموجودة
التي يجب
توسعتها.
تُلحق
الأقسام
الجديدة
دائمًا
بنهاية
جدول
الأقسام،
آخذة أول
فتحة جدول
أقسام يكون
فهرسها
أكبر من
فهارس جميع
الأقسام
الموجودة.
لا يُعاد
ترتيب
الأقسام
أبدًا
وبالتالي
تبقى أرقام
الأقسام
مستقرة. عند
إنشاء
الأقسام،
توضع في
أصغر منطقة
من المساحة
الحرة
كبيرة بما
يكفي
لتلبية
حدود الحجم
والحشو. هذا
يعني أن
الأقسام قد
يكون لها
ترتيب
مختلف على
القرص عن
جدول
الأقسام.
لاحظ أن هذا
التخصيص
يحدث في
الذاكرة
فقط، جدول
الأقسام
على القرص
لم يُحدث
بعد.
5.جميع
الأقسام
الموجودة
التي توجد
لها ملفات
إعدادات
والتي ليس
لها حاليًا
تسمية قسم GPT
مُعدة
سيُسند لها
تسمية، إما
مُعدة
صراحة في
الإعدادات
أو — إذا كان
ذلك
مفقودًا —
مُشتقة
آليًا من
نوع القسم.
يُفعل نفس
الشيء
لجميع
الأقسام
المنشأة
حديثًا. هذه
الإسنادات
تُجرى في
الذاكرة
فقط أيضًا،
القرص لم
يُحدث بعد.
6.بالمثل،
جميع
الأقسام
الموجودة
التي توجد
لها ملفات
إعدادات
والتي
لديها
حاليًا UUID
تعريف صفري
بالكامل
سيُسند لها UUID
جديد. هذا UUID
مُشتق
تشفيريًا
من قيمة
بذرة
مشتركة مع UUID
نوع القسم
(وعداد في
حالة تعريف
أقسام
متعددة من
نفس النوع)،
انظر أدناه.
يُفعل نفس
الشيء
لجميع
الأقسام
المنشأة من
جديد. هذه
الإسنادات
تُجرى في
الذاكرة
فقط أيضًا،
القرص لم
يُحدث بعد.
7.بالمثل،
إذا كان UUID
وحدة تخزين
القرص
صفريًا
بالكامل
يُهيأ
أيضًا،
مُشتق
تشفيريًا
أيضًا من
نفس قيمة
البذرة
المشتركة.
هذا يُفعل
في الذاكرة
فقط أيضًا.
8.تُمسح
الآن مساحة
القرص
المخصصة
للأقسام
الجديدة (أي
ما كان
سابقًا
مساحة حرة).
تحديدًا،
تُزال جميع
تواقيع
نظام
الملفات،
وإذا كان
الجهاز
يدعم ذلك،
يُصدر أمر
التحكم
بالإدخال/الإخراج
BLKDISCARD لإعلام
العتاد بأن
المساحة
فارغة الآن.
بالإضافة
إلى ذلك،
يُمسح أي
"حشو" بين
الأقسام
وفي نهاية
الجهاز
بالمثل.
9.يُكتب
أخيرًا
جدول
الأقسام
الجديد إلى
القرص.
يُطلب من
النواة
إعادة
قراءة جدول
الأقسام.
كاستثناء
من العملية
التزايدية
العادية،
عند
استدعائه
في وضع
"إعادة ضبط
المصنع"
خاص، يمكن
استخدام
systemd-repart لمسح
الأقسام
الموجودة
لإعادة
تثبيت إلى
الإعدادات
المبدئية
للبائع.
يُستخدم
وضع
التشغيل
هذا عندما
يُمرر
المفتاح
--factory-reset=yes في سطر
أوامر
الأداة، أو
يُحدد
الخيار
systemd.factory_reset=yes في سطر
أوامر
النواة، أو
يُضبط
متغير EFI FactoryResetRequest
(UUID البائع
8cf2644b-4b0b-428f-9387-6d876050dc67) على
"yes". يغير
الخوارزمية
أعلاه
قليلاً: بين
الخطوة
الثالثة
والرابعة
أعلاه
يُحذف أي
قسم مُعلّم
صراحة عبر
القيمة
المنطقية
FactoryReset=،
وتُعاد
تشغيل
الخوارزمية،
وبالتالي
تُعاد
إنشاء هذه
الأقسام من
جديد فارغة
فورًا.
لاحظ أن
systemd-repart
مبدئيًا
يغير جداول
الأقسام
فقط، لا
ينشئ أو
يغير حجم أي
أنظمة
ملفات ضمن
هذه
الأقسام،
ما لم يُحدد
خيار
الإعدادات
Format=. لاحظ
أيضًا أن
هناك آليات
منفصلة
متاحة لهذا
الغرض، على
سبيل
المثال systemd-growfs(8)
و systemd-makefs.
تُجزئ UUIDs
التي تحدد
الأقسام
الجديدة
المنشأة (أو
المخصصة
للأقسام
الموجودة
التي لا
تحتوي على UUID
بعد)، وكذلك
القرص ككل،
بشكل
تشفيري من
قيمة بذرة
مشتركة.
عادةً ما
تكون قيمة
البذرة هذه
هي machine-id(5)
للنظام،
بحيث يحدد
معرف
الجهاز
بشكل قابل
للتكرار UUIDs
المخصصة
لجميع
الأقسام.
إذا تعذر
قراءة معرف
الجهاز (أو
مرر
المستخدم
--seed=random، انظر
أدناه)
تُنشئ
البذرة
عشوائيًا
بدلاً من
ذلك،
وبالتالي
تكون UUIDs
للقسم
عشوائية
أيضًا بشكل
فعال. يمكن
أيضًا
تعيين قيمة
البذرة
بشكل صريح،
بتنسيق UUID
عبر الخيار
--seed=. من خلال
تجزئة UUIDs هذه
من بذرة
مشتركة،
تصبح الصور
المعدة
بهذه
الأداة
قابلة
للتكرار
وتكون
نتيجة
الخوارزمية
أعلاه
حتمية.
يجب أن
تحدد
الوسيطة
الموضعية
جهاز
الكتلة أو
الملف
العادي
الذي
سيُعمل
عليه. إذا
حُدد --empty=create،
يُنشئ
المسار
المحدد
كملف عادي،
وهو مفيد
لإنشاء صور
القرص من
البداية.
الخيارات¶
الخيارات
التالية
مفهومة:
--dry-run=
يأخذ
قيمة
منطقية. إذا
لم يُحدد
هذا
المفتاح،
يكون
--dry-run=yes هو
المبدئي
الضمني.
يتحكم فيما
إذا كان systemd-repart
ينفذ
عمليات
إعادة
التقسيم
المطلوبة
أو ما إذا
كان يجب فقط
عرض ما
سيفعله. ما
لم يُحدد
--dry-run=no، لن يلمس
systemd-repart جدول
أقسام
الجهاز
فعليًا.
أُضيف في
الإصدار 245.
--empty=
يأخذ
واحدًا من
"refuse" أو "allow" أو
"require" أو "force" أو
"create". يتحكم في
كيفية
العمل على
أجهزة
الكتلة
الفارغة
تمامًا، أي
التي لا
تحمل جدول
أقسام/تسمية
قرص بعد. إذا
لم يُحدد
هذا
المفتاح،
يكون
المبدئي
الضمني هو
"refuse".
إذا كان
"refuse"، يتطلب
systemd-repart أن جهاز
الكتلة
الذي سيعمل
عليه يحمل
بالفعل
جدول أقسام
ويرفض
العملية
إذا لم
يُعثر على
أي جدول. إذا
كان "allow"،
سيقوم
الأمر
بتوسيع
جدول أقسام
موجود أو
إنشاء جدول
جديد إذا لم
يكن
موجودًا.
إذا كان
"require"، سيقوم
الأمر
بإنشاء
جدول أقسام
جديد إذا لم
يكن
موجودًا
حتى الآن،
ويرفض
العملية
إذا كان
موجودًا
بالفعل. إذا
كان "force"،
سيقوم
بإنشاء
جدول أقسام
جديد بشكل
غير مشروط،
مما يمحو
القرص
بالكامل
فعليًا. إذا
كان "force"، لن
يُؤخذ أي
أقسام
موجودة في
الاعتبار
أو البقاء
بعد
العملية.
وبالتالي:
استخدم
بحذر، فهذه
طريقة
رائعة
لفقدان
جميع
بياناتك.
إذا كان "create"،
يُنشئ ملف
حلقة جديد
تحت المسار
الذي تم
تمريره عبر
معلمة عقدة
الجهاز،
بالحجم
المشار
إليه بـ --size=،
انظر
أدناه.
أُضيف في
الإصدار 245.
--discard=
يأخذ
قيمة
منطقية. إذا
لم يُحدد
هذا
المفتاح،
يكون
--discard=yes هو
المبدئي
الضمني.
يتحكم في ما
إذا كان
سيُصدر أمر
التحكم في
الإدخال/الإخراج
BLKDISCARD على
المساحة
التي
تشغلها أي
أقسام
مضافة أو
على
المساحة
بينها.
عادةً، من
الجيد
إصدار هذا
الطلب لأنه
يخبر
الأجهزة
الأساسية
بأن الكتل
المغطاة
يجب
اعتبارها
فارغة، مما
يحسن
الأداء. إذا
عُمل على
ملف عادي
بدلاً من
عقدة جهاز
كتلة،
يُنشئ ملف
متناثر.
أُضيف في
الإصدار 245.
--size=
يأخذ
حجمًا
بالبايت،
باستخدام
اللواحق
المعتادة K،
M، G، T، أو
القيمة
الخاصة "auto".
إذا
اُستخدم،
يجب أن يشير
مسار عقدة
الجهاز
المحدد إلى
ملف عادي،
يُكبر بعد
ذلك إلى
الحجم
المحدد إذا
كان أصغر،
قبل إجراء
أي تغيير
على جدول
الأقسام.
إذا حُدده
كـ "auto"،
يُحدد
الحجم
الأدنى
لصورة
القرص
آليًا (أي
تُجمع
الأحجام
الدنيا
لجميع
الأقسام،
مع مراعاة
المساحة
للبيانات
الوصفية
الإضافية).
هذا
المفتاح
غير مدعوم
إذا كانت
العقدة
المحددة هي
جهاز كتلة.
هذا
المفتاح
ليس له
تأثير إذا
كان الملف
بالفعل
بحجم الحجم
المحدد أو
أكبر. يُقرب
الحجم
المحدد
ضمنيًا إلى
مضاعفات 4096.
عند
استخدامه
مع
--empty=create،
يحدد هذا
الحجم
الأولي
لملف
الحلقة
المراد
إنشاؤه.
يأخذ
الخيار --size=auto
أحجام
الأقسام
الموجودة
مسبقًا في
الاعتبار.
ومع ذلك،
فإنه لا
يستوعب
جداول
الأقسام
غير
المعبأة
بإحكام: قد
لا تتناسب
الأقسام
المهيأة مع
الجهاز
الداعم إذا
كانت هناك
مساحة
فارغة بين
الأقسام
الموجودة
مسبقًا (أو
قبل القسم
الأول) لا
يمكن ملؤها
بالكامل
بواسطة
الأقسام
المراد
تكبيرها أو
إنشاؤها.
لاحظ
أيضًا أن
تحديد
الحجم
الآلي لا
يأخذ في
الاعتبار
الملفات أو
الدلائل
المحددة مع
CopyFiles=: قد تفشل
العملية
إذا كانت
الملفات أو
الدلائل
المحددة
تتطلب
مساحة قرص
أكبر من حد
الحجم
الأدنى لكل
قسم مهيأ.
أُضيف في
الإصدار 246.
--factory-reset=
يأخذ
قيمة
منطقية. إذا
لم يُحدد
هذا
المفتاح،
يكون
--factory-reset=no هو
المبدئي
الضمني.
يتحكم في ما
إذا كان
سيُعمل في
وضع "إعادة
الضبط إلى
إعدادات
المصنع"،
انظر أعلاه.
إذا عُيين
على true،
فسيؤدي ذلك
إلى إزالة
جميع
الأقسام
الموجودة
المميزة بـ
FactoryReset=
المضبوطة
على yes مبكرًا
أثناء
تنفيذ
خوارزمية
إعادة
التقسيم.
استخدم
بحذر، فهذه
طريقة
رائعة
لفقدان
جميع
بياناتك.
لاحظ أن
ملفات
القسم
تحتاج إلى
تشغيل
FactoryReset=
بشكل صريح،
حيث أن
الخيار
مبدئيًا off.
إذا لم
يُميز أي
أقسام
لإعادة
الضبط إلى
إعدادات
المصنع،
فلن يكون
لهذا
المفتاح أي
تأثير. لاحظ
أن هناك
طريقتين
أخريين
لطلب عملية
إعادة
الضبط إلى
إعدادات
المصنع: عبر
سطر أوامر
النواة
وعبر متغير
EFI، انظر
أعلاه.
أُضيف في
الإصدار 245.
--can-factory-reset
إذا حُدد
هذا
المفتاح،
لا يُعاد
تقسيم
القرص.
بدلاً من
ذلك، يحُدد
ما إذا كانت
أي أقسام
موجودة
مميزة بـ
FactoryReset=. إذا
كانت
موجودة،
سيخرج
الأداة
بحالة خروج
صفر، وإلا
غير صفرية.
يمكن
استخدام
هذا
المفتاح
لتحديد
بسرعة ما
إذا كان
النظام قيد
التشغيل
يدعم آلية
إعادة ضبط
إلى
إعدادات
المصنع
المبنية
على
systemd-repart.
أُضيف في
الإصدار 245.
--root=
يأخذ
مسارًا إلى
دليل
لاستخدامه
كنظام
ملفات جذر
عند البحث
عن ملفات
repart.d/*.conf، وللملف
معرف
الجهاز
لاستخدامه
كبذرة
ولملفات
ومجلدات
المصدر
CopyFiles= و
CopyBlocks=. بشكل
مبدئي عند
استدعائه
على النظام
العادي،
يكون هذا
مبدئيًا
نظام
الملفات
الجذر
للمضيف /. إذا
اُستدعي من
initrd، يكون هذا
مبدئيًا /sysroot/،
بحيث تعمل
الأداة على
التهيئة
ومعرف
الجهاز
المخزنين
في نظام
الملفات
الجذر الذي
سيُنتقل
إليه
لاحقًا.
انظر --copy-source=
للحصول على
خيار أكثر
تقييدًا
يؤثر فقط
على CopyFiles=.
أُضيف في
الإصدار 245.
--image=
يأخذ
مسارًا إلى
ملف صورة
قرص أو جهاز
لتركيبه
واستخدامه
بطريقة
مماثلة لـ
--root=، انظر
أعلاه.
أُضيف في
الإصدار 249.
--image-policy=السياسة
يأخذ
سلسلة
سياسة صورة
كوسييط،
وفقًا لـ
systemd.image-policy(7). تُفرض
السياسة
عند العمل
على صورة
القرص
المحددة
عبر
--image=،
انظر أعلاه.
إذا لم
تُحدد،
فسيُرجع
إلى سياسة
"*"
المبدئية،
أي تُستخدم
جميع أنظمة
الملفات
المعروفة
في الصورة.
--seed=
يأخذ UUID
كوسيطة أو
القيمة
الخاصة
random.
إذا حُدد UUID،
يُشتق UUIDs
المخصصة
للأقسام
وجدول
الأقسام
نفسه عبر
التجزئة
التشفيرية
منه. إذا لم
يُحدد،
سيُحاول
قراءة معرف
الجهاز من
المضيف (أو
بشكل أكثر
دقة،
الدليل
الجذر
المهيأ عبر
--root=)
واستخدامه
كبذرة
بدلاً من
ذلك، مع
الرجوع إلى
بذرة
عشوائية
بخلاف ذلك.
استخدم
--seed=random
لفرض بذرة
عشوائية.
يمكن
استخدام
تحديد
البذرة
بشكل صريح
لإنشاء
جداول
أقسام
قابلة
للتكرار
بدقة.
أُضيف في
الإصدار 245.
--pretty=
يأخذ
وسيطة
منطقية. إذا
لم يُحدد
هذا
المفتاح،
يكون
مبدئيًا on
عند
استدعائه
من طرفية
تفاعلية و off
بخلاف ذلك.
يتحكم في ما
إذا كان
سيعرض جدول
ورسوم
بيانية
سهلة
الاستخدام
توضح
التغييرات
المطبقة.
أُضيف في
الإصدار 245.
--definitions=
يستقبل
مسار نظام
الملفات. في
حالة
تحديده،
تُقرأ
ملفات *.conf من
الدليل
المحدد
بدلاً من
البحث في
/usr/lib/repart.d/*.conf، و/etc/repart.d/*.conf،
و/run/repart.d/*.conf.
يمكن
تحديد هذا
المعامل
عدة مرات.
أُضيف في
الإصدار 245.
--key-file=
يستقبل
مسار نظام
الملفات.
يهيئ مفتاح
التعمية
المراد
استخدامها
عند إعداد
وحدات
تخزين LUKS2
التي هُيئت
باستخدام
الإعداد
Encrypt=key-file في
ملفات
الأقسام.
يجب أن يشير
إلى ملف
عادي يحتوي
على
المفتاح،
أو إلى مقبس
دفق
AF_UNIX في
نظام
الملفات. في
الحالة
الأخيرة،
يُقام
اتصال به
ويُقرأ
المفتاح
منه. إذا لم
يُحدد هذا
المفتاح،
ولم يُحدد
KeyFile= في ملف
القسم،
يُستخدم
المفتاح
الفارغ (أي
مفتاح بطول
صفر). هذا
السلوك
مفيد
لإعداد
الأقسام
المشفرة
أثناء
التشغيل
الأول
المبكر
التي تتلقى
كلمة
المرور
التي
يزودها
المستخدم
فقط في خطوة
إعداد
لاحقة.
أُضيف في
الإصدار 247.
--private-key=
يأخذ
مسار نظام
ملفات أو
تسمية خاصة
بمحرك أو
مزود. يهيئ
مفتاح
التوقيع
لاستخدامه
عند إنشاء
أقسام
توقيع
التحقق مع
إعداد
Verity=signature
في ملفات
الأقسام.
أُضيف في
الإصدار 252.
--private-key-source=
يأخذ أحد
القيم "file" أو
"engine" أو "provider". في
الحالتين
الأخيرتين،
يتبعه اسم
مزود أو
محرك،
مفصول
بنقطتين،
يُمرر
لمنطق "engine" أو
"provider" في OpenSSL.
يهيئ كيفية
تحميل
المفتاح
الخاص
لاستخدامه
عند إنشاء
أقسام
توقيع
التحقق مع
إعداد
Verity=signature
في ملفات
الأقسام.
أُضيف في
الإصدار 256.
--certificate=
يأخذ
مسار نظام
ملفات أو
تسمية خاصة
بمزود. يهيئ
شهادة X.509
المشفرة
بصيغة PEM
لاستخدامها
عند إنشاء
أقسام
توقيع
التحقق مع
إعداد
Verity=signature
في ملفات
الأقسام.
أُضيف في
الإصدار 252.
--certificate-source=
يأخذ أحد
القيم "file" أو
"provider". في
الحالة
الأخيرة،
يتبعه اسم
مزود،
مفصول
بنقطتين،
يُمرر
لمنطق "provider" في
OpenSSL. يهيئ
كيفية
تحميل
شهادة X.509
لاستخدامها
عند إنشاء
أقسام
توقيع
التحقق مع
إعداد
Verity=signature
في ملفات
الأقسام.
أُضيف في
الإصدار 257.
--join-signature=
يحدد
مجموعة
مفصولة
بنقطتين
تحتوي على
تجزئة Verity
عالية
المستوى
مشفرة
بالنظام
الست عشري
لقسم
Verity=hash
كعنصر أول،
وتوقيع PKCS7
للتجزئة
الجذرية
كمسار لملف
توقيع مشفر
بصيغة DER، أو
كسلسلة ASCII
مشفرة
بصيغة base64
لتوقيع
مشفر بصيغة DER
مسبوقة بـ
"base64:". يُستخدم
على صورة
موجودة
مسبقاً
أُنشئت
بمعامل مثل
--defer-partitions=root-verity-sig،
للسماح
بتنفيذ
توقيع غير
متصل لقسم
توقيع
التحقق.
هذا بديل
للتوقيع
المتصل
باستخدام
معاملات
مثل --private-key=،
لأنظمة
البناء حيث
المفتاح
الخاص
لتوقيع
الإنتاج
غير متوفر
في نفس
السياق
الذي يُنشأ
فيه
المحتوى.
أُضيف في
الإصدار 258.
--tpm2-device=, --tpm2-pcrs=
يهيئ
جهاز TPM2
وقائمة PCRs
لاستخدامها
لوحدات
تخزين LUKS2
المهيأة
بخيار
Encrypt=tpm2.
تأخذ هذه
الخيارات
نفس
المعاملات
كالخيارات
المسماة
بشكل مماثل
لـ
systemd-cryptenroll(1)
ولها نفس
التأثير
على
الأقسام
حيث يُطلب
تسجيل TPM2.
أُضيف في
الإصدار 248.
--tpm2-device-key=PATH,
--tpm2-seal-key-handle=HANDLE
يهيئ
مفتاح SRK لـ TPM2
لربط
التشفير به.
انظر
systemd-cryptenroll(1)
للتفاصيل
حول هذا
الخيار.
أُضيف في
الإصدار 255.
--tpm2-public-key=المسار،
--tpm2-public-key-pcrs=PCR[+PCR...]
يهيئ
سياسة PCR
موقعة لـ TPM2
لربط
التشفير
بها. انظر
systemd-cryptenroll(1)
للتفاصيل
حول هذين
الخيارين.
أُضيف في
الإصدار 252.
--tpm2-pcrlock=المسار
يهيئ
سياسة pcrlock لـ TPM2
لربط
التشفير
بها. انظر
systemd-cryptenroll(1)
للتفاصيل
حول هذا
الخيار.
أُضيف في
الإصدار 255.
--split=BOOL
يفعّل
توليد
القطع
المجزأة من
الأقسام
المهيأة بـ
SplitName=. إذا كان
مفعّلاً،
لكل قسم مع
تعيين
SplitName=،
يُنشأ ملف
إخراج
منفصل
يحتوي فقط
على
محتويات
ذلك القسم.
يتكون اسم
ملف
الإخراج من
اسم ملف
الحلقة
اللولبية
ملحقًا
بالاسم
المهيأ بـ
SplitName=. إذا كان
اسم ملف
الحلقة
اللولبية
ينتهي بـ
".raw"، تُدرج
اللاحقة
قبل
الامتداد
".raw" بدلاً من
ذلك.
لاحظ أن --split
مستقل عن --dry-run.
حتى إذا كان
--dry-run
مفعّلاً،
ستظل القطع
المجزأة
تُنشأ من
صورة
موجودة إذا
كان --split
مفعّلاً.
أُضيف في
الإصدار 252.
--include-partitions=PARTITIONS,
--exclude-partitions=PARTITIONS
تحدد هذه
الخيارات
أنواع
الأقسام
التي يجب أن
يعمل عليها
systemd-repart. إذا
استُخدم
--include-partitions=،
تُستبعد
جميع
الأقسام
غير
المحددة.
إذا
استُخدم
--exclude-partitions=،
تُستبعد
جميع
الأقسام
المحددة.
يأخذ كلا
الخيارين
قائمة
مفصولة
بفواصل من UUIDs
لنوع قسم GPT أو
معرفات
(انظر
Type= في
repart.d(5)).
أُضيف في
الإصدار 253.
--defer-partitions=PARTITIONS
يحدد هذا
الخيار
أنواع
الأقسام
التي يجب أن
يؤجلها
systemd-repart.
جميع
الأقسام
المؤجلة
باستخدام
هذا الخيار
ما زالت
تؤخذ في
الاعتبار
عند حساب
الأحجام
والإزاحات
للأقسام
الأخرى،
لكنها لا
تُكتب
فعلياً إلى
صورة القرص.
التأثير
الصافي
لهذا
الخيار هو
أنه إذا
شغّلت
systemd-repart
مرة أخرى
بدون هذا
الخيار،
ستُضاف
الأقسام
المفقودة
كما لو أنها
لم تؤجل في
المرة
الأولى
التي نُفذ
فيها
systemd-repart.
أُضيف في
الإصدار 253.
--defer-partitions-empty=yes
هذا
مشابه جداً
لـ
--defer-partitions= لكنه
يختار
آلياً جميع
الأقسام
للتأجيل
التي لديها
Format=empty مضبوطاً
ولا تهيئ
تسمية
مخصصة، أو
التي تضبط
Label=_empty. يمكن
استخدامه
بالتزامن
مع
--defer-partitions= أو
--defer-partitions-factory-reset=yes، وفي
هذه الحالة
تؤجل جميع
الأقسام
المتطابقة.
أُضيف في
الإصدار 259.
--defer-partitions-factory-reset=yes
هذا
مشابه جدًا
لـ
--defer-partitions= لكنه
يختار
آليًا جميع
الأقسام
للتأجيل
التي لديها
FactoryReset=yes مضبوطة.
يمكن
استخدامه
بالتزامن
مع
--defer-partitions= أو
--defer-partitions-empty=yes، وفي
هذه الحالة
تُؤجل جميع
الأقسام
المتطابقة.
أُضيف في
الإصدار 259.
--sector-size=بايت
يسمح هذا
الخيار
بتكوين حجم
القطاع
للصورة
المنتجة
بواسطة
systemd-repart.
يأخذ قيمة
هي قوة
للعدد "2"
بين "512" و"4096".
هذا الخيار
مفيد عند
بناء صور
لأقراص
تستخدم حجم
قطاع مختلف
عن القرص
الذي تُنتج
عليه
الصورة.
أُضيف في
الإصدار 253.
--grain-size=بايت
يتحكم
هذا الخيار
في دقة
محاذاة
الأقسام
المستخدمة
عند وضع
الأقسام.
يأخذ قيمة
من قوى
العدد 2 لا
تقل عن حجم
القطاع.
تُقرّب
جميع
إزاحات بدء
الأقسام
إلى أعلى
مضاعف لهذه
القيمة.
المبدئي هو
MAX(4096, sector_size)،
مطابقًا
للمحاذاة
التقليدية 4
كيبي بايت.
ضبط هذا إلى
"1M" يضمن
محاذاة
صحيحة
لأجهزة
التخزين
الحديثة
حتى بعد
أقسام
صغيرة
ثابتة
الحجم مثل
قسم توقيع
التحقق.
أُضيف في
الإصدار 261.
--architecture=بنية
يسمح هذا
الخيار
بتجاوز
البنية
المستخدمة
لأنواع
الأقسام
الخاصة
بالبنية.
على سبيل
المثال،
إذا ضُبط
على "arm64"
فسيُصحح
نوع قسم "root-x86-64"
المُشار
إليه في
إضافات repart.d/
ديناميكيًا
للإشارة
إلى "root-arm64"
بدلاً من
ذلك. يأخذ
واحدًا من
"alpha"، "arc"، "arm"،
"arm64"، "ia64"،
"loongarch64"، "mips-le"،
"mips64-le"، "parisc"،
"ppc"، "ppc64"، "ppc64-le"،
"riscv32"، "riscv64"،
"s390"، "s390x"، "tilegx"،
"x86" أو "x86-64".
أُضيف في
الإصدار 254.
--offline=قيمة_منطقية
يوجه
systemd-repart
لبناء
الصورة دون
اتصال. يأخذ
قيمة
منطقية أو
"auto". المبدئي
هو "auto". إذا
فُعّل،
تُبنى
الصورة دون
استخدام
أجهزة
الحلقة. هذا
مفيد لبناء
الصور بدون
صلاحيات أو
عندما لا
تتوفر
أجهزة
الحلقة. إذا
عُطّل،
تُبنى
الصورة
دائمًا
باستخدام
أجهزة
الحلقة. إذا
كان "auto"،
سيبني
systemd-repart
الصورة عبر
الاتصال إن
أمكن ويعود
إلى بناء
الصورة دون
اتصال إذا
لم تتوفر
أجهزة
الحلقة أو
لا يمكن
الوصول
إليها بسبب
صلاحيات
مفقودة.
أُضيف في
الإصدار 254.
--copy-from=مسار
يوجه
systemd-repart
لتجميع
تعريفات
الأقسام من
جدول
الأقسام في
الصورة أو
الجهاز
المُعطى.
يمكن تحديد
هذا الخيار
عدة مرات
لتجميع
تعريفات من
كل صورة أو
جهاز مُعطى.
ستنسخ
التعريفات
المُولّدة
الأقسام
إلى جدول
الأقسام
الوجهة.
سيكون
للأقسام
المنسوخة
نفس الحجم
والبيانات
الوصفية
والمحتويات
لكن قد يكون
لها رقم قسم
مختلف وقد
تكون
موجودة في
إزاحة
مختلفة في
جدول
الأقسام
الوجهة.
يمكن دمج
هذه
التعريفات
مع تعريفات
الأقسام
المقروءة
من ملفات
تعريف
الأقسام
العادية.
التعريفات
المُجمّعة
لها أسبقية
على
التعريفات
المقروءة
من ملفات
تعريف
الأقسام.
أُضيف في
الإصدار 255.
--copy-source=PATH, -s PATH
يحدد
دليل مصدر
تُعتبر
جميع
مسارات
مصدر
CopyFiles=
نسبية إليه.
هذا مشابه
لـ
--root=، لكنه
ينطبق
حصريًا على
إعداد
CopyFiles=.
إذا
استُخدم
--root=
و
--copy-source= معًا،
يُطبق
الأول
كالمعتاد،
باستثناء
CopyFiles= حيث يكون
للأخير
الأسبقية.
أُضيف في
الإصدار 255.
--make-ddi=نوع
يأخذ
واحدًا من
"sysext"، "confext" أو
"portable". يُولّد
صورة قرص
قابلة
للاكتشاف (DDI)
لامتداد
النظام (sysext،
انظر
systemd-sysext(8)
للتفاصيل)،
امتداد
التهيئة (confext)
أو
الخدمات
المحمولة[1].
ستتكون
الصورة
المُولّدة
من نظام
ملفات "erofs" Verity
مُوقّع
كقسم جذر. في
وضع
التشغيل
هذا، لا
تُقرأ
تعريفات
الأقسام في
/usr/lib/repart.d/*.conf
والأدلة
ذات الصلة،
و
--definitions= غير
مدعوم، حيث
ستُختار
التعريفات
المناسبة
لفئة DDI
المحددة
آليًا.
يجب
استخدامه
بالتزامن
مع --copy-source=
لتحديد
التسلسل
الهرمي
للملفات
لملء DDI به.
يجب أن
يحتوي
الدليل
المُحدد
على دليل
فرعي etc/ إذا
اختير "confext".
إذا اختير
"sysext" فيجب أن
يحتوي على
دليل usr/ أو opt/،
أو كليهما.
إذا
استُخدم
"portable" فيمكن
توفير
تسلسل هرمي
كامل لنظام
التشغيل.
هذا
الخيار
يستلزم --empty=create
و--size=auto و--seed=random
(يمكن تجاوز
الأخيرين).
يجب تحديد
المفتاح
الخاص
والشهادة
لتوقيع DDI
عبر
المفاتيح
--private-key= و--certificate=.
أُضيف في
الإصدار 255.
-S, -C, -P
اختصارات
لـ
--make-ddi=sysext و
--make-ddi=confext
و
--make-ddi=portable، على
التوالي.
أُضيف في
الإصدار 255.
--append-fstab=
يأخذ
واحدًا من
"no" أو "auto" أو
"replace". يتحكم في
كيفية تصرف
ملف
fstab(5)
المُولّد
بواسطة
--generate-fstab=
في حالة
وجود ملف
سابق.
إذا كان "no"
فسيشتكي
systemd-repart ويُجهض
في حالة
وجود ملف.
هذا هو
السلوك
المبدئي.
إذا كان "replace"
فسيُستبدل
الملف بصمت
بالملف
المُولّد
الجديد.
إذا كان "auto"
فسيبحث systemd-repart
في الملف
الموجود
مسبقًا عن
القسم الذي
ينتمي إلى
المحتوى
المُولّد
آليًا
وسيستبدله
بالمحتوى
المُولّد
الأحدث،
ويحتفظ
بالقسم
الذي قدمه
المستخدم
إن وجد.
يُحدد
القسم
المُولّد
بالبحث عن
المحتوى
الآلي
المحاط بـ "#
Start section ↓ of automatically generated fstab by
systemd-repart" و"# End section ↑ of automatically
generated fstab by systemd-repart".
المحتوى
الذي قبل
وبعد هذه
التعليقات
يُعتبر
مقدمًا من
المستخدم،
ويُحتفظ به
في الملف
الجديد.
أُضيف في
الإصدار 258.
--generate-fstab=PATH
يحدد
مسارًا
لكتابة
إدخالات
fstab(5)
لنقاط
التحميل
المُهيأة
بـ
MountPoint= في
الدليل
الجذر
المُحدد بـ
--copy-source= أو
--root= أو
في الدليل
الجذر
للمضيف إذا
لم يُحدد أي
منهما. معطل
مبدئيًا.
أُضيف في
الإصدار 256.
--generate-crypttab=PATH
تحدد
مسارًا
لكتابة
إدخالات crypttab
لوحدات
التخزين
المشفرة
التي
مُكونة
باستخدام
EncryptedVolume= في
الدليل
الجذر
المحدد
باستخدام
--copy-source= أو
--root= أو
في الدليل
الجذر
للمضيف إذا
لم يُحدد أي
منهما. معطل
مبدئيًا.
أُضيف في
الإصدار 256.
--list-devices
يعرض
قائمة
بأجهزة
الكتل
المرشحة
التي يمكن
لهذا الأمر
العمل
عليها. على
وجه
التحديد،
يعدد أجهزة
الكتل
الموجودة
حاليًا
التي تدعم
جداول
الأقسام،
ويعرض
مسارات
عُقد
أجهزتها مع
أي من
روابطها
الرمزية.
أُضيف في
الإصدار 257.
--el-torito=منطقي
يكتب رأس
ISO9660 أدنى مع
كتالوج
إقلاع El Torito.
سيُقلع هذا ESP
على
البرامج
الثابتة EFI.
سيكون
نظام
الملفات ISO9660
الذي
يُنشئه
فارغًا.
يُتوقع من initramfs
إنشاء جهاز
حلقة قابل
للتقسيم
فوق الجهاز
لتغيير حجم
الكتلة
وتمكين
أقسام GPT.
يتطلب
القرص
قسمًا
واحدًا على
الأقل مع Type=esp.
سيكون أول
قسم هو
المُشار
إليه في
كتالوج
الإقلاع.
أُضيف في
الإصدار 261.
--el-torito-system=سلسلة
محارف
عند
إنشاء رأس
ISO9660، تُستخدم
هذه القيمة
كمعرّف
النظام. هذا
مفيد
لمطابقة
الوسائط مع
قاعدة
بيانات osinfo.
القيمة
محدودة بـ 32
حرفًا.
أُضيف في
الإصدار 261.
--el-torito-volume=سلسلة
محارف
عند
إنشاء رأس
ISO9660، تُستخدم
هذه القيمة
كمعرّف
وحدة تخزين.
هذا مفيد
لمطابقة
الوسائط مع
قاعدة
بيانات osinfo.
القيمة
محدودة بـ 32
حرفًا.
أُضيف في
الإصدار 261.
--el-torito-publisher=سلسلة
محارف
عند
إنشاء رأس
ISO9660، تُستخدم
هذه القيمة
كمعرّف
الناشر. هذا
مفيد
لمطابقة
الوسائط مع
قاعدة
بيانات osinfo.
القيمة
محدودة بـ 128
حرفًا.
أُضيف في
الإصدار 261.
-h، --help
اطبع نص
مساعدة
قصير
واخرج.
--version
اطبع
سلسلة
إصدار
قصيرة
واخرج.
--no-pager
لا تمرر
المخرجات
إلى برنامج
عرض (pager).
--no-legend
لا تطبع
مفتاح
الرموز، أي
ترويسات
الأعمدة
والتذييل
المزود
بالتلميحات.
--json=وضع
يظهر
المخرجات
منسقة
بصيغة JSON.
يتوقع أحد
الخيارات:
"short" (لأقصر
مخرج ممكن
دون أي
مسافات
زائدة أو
فواصل
أسطر)، أو "pretty"
(لنسخة
جميلة من
المخرج
نفسه، مع
إزاحة
وفواصل
أسطر) أو "off"
(لإيقاف
مخرجات JSON،
وهو الخيار
المبدئي).