هذا هو الأمر virt-dib الذي يمكن تشغيله في موفر الاستضافة المجاني OnWorks باستخدام إحدى محطات العمل المجانية المتعددة عبر الإنترنت مثل Ubuntu Online أو Fedora Online أو محاكي Windows عبر الإنترنت أو محاكي MAC OS عبر الإنترنت
برنامج:
اسم
virt-dib - تشغيل عناصر منشئ صورة القرص
موجز
virt-dib -B عناصر DIB-LIB [خيارات]...
الوصف
Virt-dib هي أداة لاستخدام عناصر "diskimage-builder" لإنشاء قرص جديد
الصورة، وإنشاء أقراص رام جديدة، وما إلى ذلك.
تم تصميم Virt-dib كبديل آمن لـ "diskimage-builder" وملفاته
وضع "ramdisk-image-create"، راجع "المقارنة مع DISKIMAGE-BUILDER" للحصول على نظرة سريعة
مقارنة مع استخدام "diskimage-builder".
يعد "diskimage-builder" جزءًا من مشروع TripleO OpenStack:
https://wiki.openstack.org/wiki/TripleO.
أمثلة
البناء بسيط صور of التوزيعات
فيرت-ديب \
-B /path/to/diskimage-builder/lib \
-p /path/to/diskimage-builder/elements \
--envvar DIB_RELEASE=جيسي \
--الاسم ديبيان-جيسي \
ديبيان افتراضي
يؤدي هذا إلى إنشاء صورة قرص Debian Jessie (8.x)، مناسبة للتشغيل كجهاز افتراضي.
تم الحفظ باسم debian-jessie.qcow2.
البناء أقراص الذاكرة
فيرت-ديب \
-B /path/to/diskimage-builder/lib \
-p /path/to/diskimage-builder/elements \
--رامديسك \
--اسم القرص رامديسك \
نشر أوبونتو مثير للسخرية
يؤدي هذا إلى إنشاء قرص ذاكرة لمكون Ironic OpenStack استنادًا إلى توزيع Ubuntu.
OPTIONS
--مساعدة
عرض المساعدة.
-B PATH
قم بتعيين المسار إلى دليل مكتبة "diskimage-builder". هذا هو عادة ليب
الدليل الفرعي في المصادر وعند التثبيت، و /usr/share/diskimage-builder/lib
عند تثبيته في / البيرة.
هذه المعلمة إلزامي، حيث أن virt-dib يحتاج إلى توفيره للعناصر (كما هو الحال في بعض
منهم قد يستخدمون البرامج النصية فيه). لا يستفيد Virt-dib نفسه من المكتبة
الدليل.
--قوس عمــــارة و تصميــــم
استخدم البنية المحددة لصورة الإخراج. القيمة الافتراضية هي نفسها
المضيف يقوم بتشغيل Virt-dib.
في الوقت الحالي، لا يفعل هذا الخيار أكثر من تعيين متغير البيئة "ARCH".
للعناصر، والأمر متروك لهم لإنتاج صورة للمطلوب
هندسة معمارية.
--Debug الدور
قم بتعيين مستوى التصحيح إلى "LEVEL"، وهو رقم صحيح غير سالب. الافتراضي
هو 0.
مستوى التصحيح هذا يختلف عما -x -v تعيين، وأنه يزيد من التصحيح
المعلومات المطبوعة. على وجه التحديد، يؤدي هذا إلى تعيين "DIB_DEBUG_TRACE" وأي قيمة
> 0 يتيح التتبع في البرامج النصية المنفذة.
--يقود DISK
قم بإضافة القرص المحدد لاستخدامه كمحرك مساعد حيث يتم تخزين ملفات الملف مؤقتًا
العناصر، مثل صور القرص وحزم التوزيع وما إلى ذلك.
راجع "القيادة المساعدة".
-p PATH
--مسار العنصر PATH
أضف مسارًا جديدًا بالعناصر. يتم استخدام المسارات بنفس الترتيب كما في -p المعلمات
تظهر، لذلك يتم البحث أولاً عن المسار المحدد أولاً، وهكذا.
من الواضح أنه يوصى بإضافة المسار إلى العناصر الخاصة بـ
"diskimage-builder"، حيث أن معظم العناصر الأخرى ستعتمد عليها.
- حزم إضافية طَرد،...
قم بتثبيت حزم إضافية في الصورة التي يتم إنشاؤها.
يعتمد هذا على ثنائي "حزم التثبيت" الذي توفره إدارة الحزم
العناصر.
يمكن تحديد هذا الخيار عدة مرات، في كل مرة مع حزم متعددة
مفصولة بفاصلة.
- envvar متغير
- envvar متغير = قيمة
حمل أو تعيين متغير بيئة للعناصر.
راجع "متغيرات البيئة" أدناه للحصول على مزيد من المعلومات حول تفاعل واستخدام
متغيرات البيئة.
يمكن استخدام هذا الخيار بطريقتين:
- envvar متغير
تحمل متغير البيئة "VARIABLE". إذا لم يتم تعيينه، فلن يتم تصدير أي شيء
إلى العناصر.
- envvar متغير = قيمة
قم بتعيين متغير البيئة "VARIABLE" بالقيمة "VALUE" للعناصر،
بغض النظر عما إذا كان هناك متغير بيئة يحمل نفس الاسم.
قد يكون هذا مفيدًا لتمرير متغير البيئة دون تصديره إلى ملف
البيئة التي يعمل فيها Virt-dib.
--exclude-element ELEMENT
تجاهل العنصر المحدد.
--exclude-script SCRIPT
تجاهل أي عنصر نصي يسمى "SCRIPT"، أيًا كان العنصر الموجود فيه.
يمكن أن يكون هذا مفيدًا في حالة عدم عمل بعض البرامج النصية بشكل جيد مع virt-dib، على سبيل المثال
عندما يحتاجون حقًا إلى بيئة "diskimage-builder".
- التنسيقات شكل،...
قم بتعيين قائمة تنسيقات الإخراج، مع الفصل بينها بفاصلة.
التنسيقات المدعومة هي:
"qcow2" (ممكّن افتراضيًا)
QEMU's qcow2.
"خام"
تنسيق القرص الخام.
"قطران"
كرة قطران غير مضغوطة.
"في اتش دي"
صورة القرص "القرص الصلب الافتراضي". يتطلب تنسيق الإخراج هذا أداة "vhd-util".
يرجى ملاحظة أن إصدار أداة "vhd-util" يحتاج إلى تصحيح لدعم
الأمر الفرعي "تحويل"، ويكون قابلاً للتمهيد. التصحيح متاح هنا:
https://github.com/emonty/vhd-util/blob/master/debian/patches/citrix.
- نوع fs نظام الملفات
قم بتعيين نوع نظام الملفات الذي سيتم استخدامه لنظام الملفات الجذر. الافتراضي هو "ext4".
راجع أيضًا "guestfs_filesystem_available" في Guestfs(3).
--صورة مخبأ الدليل
قم بتعيين المسار في المضيف حيث يتم تخزين الموارد التي تستخدمها عناصر الملف
مرحلة "البيانات الإضافية.د". الافتراضي هو ~/.cache/image-create.
يرجى ملاحظة أن معظم الموارد التي تم جلبها بعد "البيانات الإضافية" سيتم تخزينها مؤقتًا
محرك الأقراص المساعد المحدد مع --يقود; انظر أيضًا "القيادة المساعدة".
--نوع التثبيت النوع
حدد نوع التثبيت الافتراضي. الافتراضي هو "المصدر".
اضبط على "حزمة" لاستخدام عمليات التثبيت المستندة إلى الحزمة بشكل افتراضي.
- آلة مقروءة
يستخدم هذا الخيار لجعل الإخراج أكثر ملاءمة للآلة عند تحليله بواسطة
برامج أخرى. انظر "إخراج الجهاز القابل للقراءة" أدناه.
-m MB
- حجم MB
قم بتغيير مقدار الذاكرة المخصصة للجهاز. وزِد هذا إذا وجدت ذلك
نفاد الذاكرة عند تنفيذ Virt-dib.
يمكن العثور على الإعداد الافتراضي باستخدام هذا الأمر:
Guestfish الحصول على memsize
--mkfs-options "سلسلة الخيار"
أضف الخيارات المحددة إلى mkfs(1) لتتمكن من ضبط نظام الملفات الجذر
خلق. لاحظ أن هذا غير ممكن لتجاوز نوع نظام الملفات.
يجب عليك استخدام --mkfs-options مرة واحدة على الأكثر. لتمرير خيارات متعددة، قم بفصلها
مع الفضاء، على سبيل المثال:
virt-dib ... --mkfs-options '-O someopt -I foo'
--شبكة الاتصال
--لا توجد شبكة
قم بتمكين أو تعطيل الوصول إلى الشبكة من الضيف أثناء التثبيت.
التمكين هو الافتراضي. يستخدم --لا توجد شبكة لتعطيل الوصول.
تسمح الشبكة بالاتصالات الصادرة فقط ولها قيود ثانوية أخرى. يرى
"الشبكة" بتنسيق فضيلة الإنقاذ(1).
لا يؤثر ذلك على ما إذا كان الضيف يمكنه الوصول إلى الشبكة بمجرد تمهيدها ،
لأنه يتم التحكم في ذلك من خلال برنامج Hypervisor أو البيئة السحابية وليس لديه أي شيء
افعل مع Virt-dib.
إذا كنت تستخدم --لا توجد شبكة، ثم يتم تعيين متغير البيئة "DIB_OFFLINE" على 1،
الإشارة إلى العناصر التي يجب عليها استخدام الموارد المخزنة مؤقتًا فقط عندما تكون متاحة.
لاحظ أيضًا أنه، على عكس "diskimage-builder" حيث قد تظل العناصر قادرة على ذلك
الوصول إلى الشبكة حتى مع "DIB_OFFLINE ="، في ظل شبكة Virt-DIB سيكون بشكل كامل
لا يمكن الوصول إليه.
--اسم اسم
قم بتعيين اسم ملف الصورة الناتج. الافتراضي هو "الصورة".
وفقًا للاسم المختار، سيكون هناك ما يلي في الدليل الحالي:
$NAME.ext
لكل تنسيق إخراج، يتم تسمية صورة قرص باسم الصورة الخارجية مع ملحق
تمديد اعتمادا على التنسيق؛ على سبيل المثال: $NAME.qcow2, $NAME.raw، الخ.
لا ينطبق في وضع قرص ذاكرة الوصول العشوائي، راجع "بناء ذاكرة الوصول العشوائي".
$NAME.d
دليل يحتوي على أي ملفات تم إنشاؤها بواسطة العناصر، على سبيل المثال ديب-
كشوف الدليل (الذي تم إنشاؤه بواسطة عنصر "البيانات")، وأقراص الذاكرة والنواة الموجودة فيه
وضع قرص الذاكرة، وما إلى ذلك.
- لا حذف عند الفشل
لا تقم بحذف ملفات الإخراج عند الفشل في الإنشاء. يمكنك استخدام هذا لتصحيح حالات الفشل
لتشغيل البرامج النصية.
الافتراضي هو حذف ملف الإخراج في حالة فشل Virt-dib (أو، على سبيل المثال، بعض ملفات
البرنامج النصي الذي يتم تشغيله فشل).
-q
--هادئ
لا تطبع رسائل تقدم عادية.
--qemu-img-options خيار [، خيار ، ...]
تجاوز --qemu-img-options خيار (خيارات) إلى qemu- إمغ(1) أمر لضبط الإخراج
شكل. تعتمد الخيارات المتاحة على تنسيق الإخراج (انظر - التنسيقات) و
النسخة المثبتة من برنامج qemu-img.
يجب عليك استخدام --qemu-img-options مرة واحدة على الأكثر. لتمرير خيارات متعددة، منفصلة
بينها بفواصل، على سبيل المثال:
virt-dib ... --qemu-img-optionscluster_size=512,preallocation=metadata...
- رامديسك
اضبط وضع بناء قرص الذاكرة.
راجع "بناء RAMDISK".
--ramdisk-element اسم
قم بتعيين اسم العنصر الإضافي المضاف في وضع بناء قرص ذاكرة الوصول العشوائي. الافتراضي
هو "رامديسك".
راجع "بناء RAMDISK".
--root-label العلامة
قم بتعيين التسمية لنظام الملفات الجذر في الصورة التي تم إنشاؤها.
يرجى ملاحظة أن بعض أنظمة الملفات لها قيود مختلفة على طول ملفاتها
تسميات؛ على سبيل المثال، في أنظمة الملفات "ext2/3/4" لا يمكن أن تكون التسميات أطول من 16
حرفًا، بينما في "xfs" لديهم 12 حرفًا على الأكثر.
يعتمد الإعداد الافتراضي على نظام الملفات الفعلي للقسم الجذر (انظر - نوع fs):
في "xfs" يكون "img-rootfs"، بينما يكون "cloudimg-rootfs" في أي نظام ملفات آخر.
--بحجم SIZE
حدد حجم قرص الإخراج ، حيث يمكن تحديد الحجم باستخدام الأسماء الشائعة
مثل "32G" (32 جيجابايت) وما إلى ذلك. الحجم الافتراضي هو "5G".
لتحديد الحجم بالبايت ، يجب أن يتبع الرقم حرف صغير b، على سبيل المثال:
"- الحجم 10737418240b".
انظر أيضا Virt-resize(1) لتغيير حجم أقسام صورة القرص الموجودة.
- تخطي القاعدة
تخطي إدراج العنصر "الأساسي".
--smp N
تمكين وحدات المعالجة المركزية الافتراضية N ≥ 2 لاستخدام البرامج النصية.
-u لا تقم بضغط صور qcow2 الناتجة. الافتراضي هو ضغطها.
-v
- الإسراف
تفعيل رسائل التصحيح.
-V
--الإصدار
عرض رقم الإصدار والخروج.
-x تفعيل تتبع مكالمات واجهة برمجة تطبيقات libguestfs.
البيئة المتغيرات
على عكس "diskimage-builder"، فإن بيئة المضيف هي ليس ورثت في
الجهاز عند تشغيل معظم العناصر (أي جميع العناصر المختلفة عن
"بيانات إضافية. د").
لتعيين بيئة للعناصر التي يتم تشغيلها، من الضروري إخبار virt-dib بالاستخدام
لهم، مع الخيار - envvar. يسمح هذا الخيار بتصدير البيئة بشكل انتقائي
المتغيرات عند تشغيل العناصر، وهي الطريقة المفضلة لتمرير البيئة
المتغيرات للعناصر
للتلخيص: إذا كنت تريد أن يكون متغير البيئة "MYVAR" (ومحتواه) متاحًا
للعناصر، يمكنك أن تفعل أي منهما
تصدير MYVAR # أيهما كانت قيمته
virt-dib ... --envvar MYVAR ...
or
virt-dib ... --envvar MYVAR=value_of_it ...
HELPER دريف
يقوم Virt-dib بتشغيل معظم العناصر في أجهزته الخاصة، وبالتالي ليس على المضيف. لأن
لهذا، ليس هناك إمكانية للعناصر لتخزين الموارد مباشرة على المضيف.
لحل هذه المشكلة، يتيح virt-dib استخدام محرك أقراص مساعد لتخزين ذاكرة التخزين المؤقت
الموارد، مثل صور القرص، وحزم التوزيع، وما إلى ذلك. في حين أن هذا يعني أن هناك
مساحة أصغر متاحة للتخزين المؤقت، على الأقل تسمح بتحديد المساحة الموجودة على المضيف
ذاكرات التخزين المؤقت، دون افتراض أن العناصر ستفعل ذلك بنفسها.
حاليًا، هذا القرص مطلوب إما أن يحتوي على قسم واحد عليه، أو الأول
سيتم استخدام القسم عليه. يمكن إنشاء قرص بالتكوين الأخير بسهولة
مع Guestfish(1) مثل ما يلي:
Guestfish -N filename.img=fs:ext4:10G
ما ورد أعلاه سوف ينشئ صورة قرص تسمى اسم الملف.img، 10 جيجا كبيرة، مع قسم واحد
من النوع ext4؛ راجع "صور القرص المعدة" في Guestfish(1).
من المستحسن أن يكون ≥ 10G أو أكثر، حيث أن العناصر ستقوم بتخزين صور القرص مؤقتًا،
حزم التوزيع، وما إلى ذلك. كما هو الحال مع أي صورة قرص، يمكن تغيير حجم القرص المساعد بسهولة
استخدام Virt-resize(١) أي إذا احتاج إلى مزيد من المساحة.
يمكن الوصول إلى محرك الأقراص مثل أي صورة قرص أخرى، على سبيل المثال باستخدام أدوات أخرى
libguestfs مثل Guestfish(1):
Guestfish -a filename.img -m /dev/sda1
إذا لم يتم تحديد محرك أقراص مساعد باستخدام --يقود، جميع الموارد المخزنة مؤقتًا أثناء عملية Virt-dib
سيتم تجاهل التشغيل.
الموارد INSIDE ال دريف
داخل محرك الأقراص المساعد، من الممكن العثور على الموارد التالية:
/ الرئيسية
تم تعيين هذا الدليل كمتغير بيئة "HOME" أثناء الإنشاء. أنه يحتوي على
في الغالب ذاكرة التخزين المؤقت للصورة (المحفوظة باسم /home/.cache/image-create)، وأيهما آخر
يتم تخزين المورد مؤقتًا في الدليل الرئيسي للمستخدم الذي يقوم بتشغيل الأدوات المختلفة.
/virt-dib-*.log
هذه هي سجلات العناصر التي يتم تشغيلها داخل جهاز libguestfs، والتي
يعني جميع الخطافات باستثناء "extra-data.d".
رامديسك BUILDING
يمكن لـ Virt-dib أيضًا محاكاة "ramdisk-image-create"، وهو وضع تشغيل ثانوي لـ
"منشئ صورة القرص". بدلاً من أن يكون اسم أداة مختلفًا، يوفر virt-dib سهولة
الوصول إلى هذا الوضع باستخدام - رامديسك التبديل.
في هذا الوضع:
· تمت إضافة عنصر قرص ذاكرة إضافي (انظر --ramdisk-element)
· لا يتم إنتاج أي صورة (لذلك - التنسيقات تم تجاهله)
· $NAME.d (انظر --اسم) سيحتوي على initrd وkernel وما إلى ذلك
مؤقت الدليل
يستخدم Virt-dib الدليل المؤقت القياسي الذي تستخدمه libguestfs، راجع "ENVIRONMENT
المتغيرات "في Guestfs(3).
افتراضيا هذا الموقع هو / تمة (القيمة الافتراضية لـ "TMPDIR")، والتي قد تكون كذلك في بعض الأنظمة
يكون على نظام ملفات tmpfs، وبالتالي يصل حجمه الافتراضي إلى الحد الأقصى نصف من ذاكرة الوصول العشوائي الفعلية.
إذا تجاوزت Virt-dib هذا، فقد يتم تعليقها أو الخروج مبكرًا مع حدوث خطأ. الحل هو
قم بتوجيه "TMPDIR" إلى موقع دائم يستخدم كموقع مؤقت، على سبيل المثال:
مكدير المحلية-tmp
env TMPDIR=$PWD/local-tmp virt-dib ...
جمهورية مقدونيا -rf المحلية-tmp
EXTRA التبعيات
نظرًا لأن Virt-dib يدير معظم العناصر الموجودة في أجهزته الخاصة، وجميع الأدوات و
المكتبات المستخدمة بواسطة العناصر التي تعمل خارج الضيف (عادةً "root.d"،
يجب أن يكون "block-device.d" و"cleanup.d") موجودين في الجهاز أيضًا. في حال
لم تكن كذلك، ستفشل البرامج النصية في الغالب بسبب الخطأ "لم يتم العثور على الأمر".
بالنسبة للأدوات والمكتبات المجمعة بواسطة التوزيع، فإن الحل السهل هو معرفة ذلك
libguestfs لتضمين حزم إضافية في الجهاز. هذا ممكن على سبيل المثال
إنشاء ملف جديد مع الحزم الإضافية:
# صدى wget > /usr/lib64/guestfs/supermin.d/dib-my-extra
الطريق الفعلي إلى سوبرمين.د الدليل يعتمد على التوزيع. ملفات إضافية
يمكن إدراج المزيد من الحزم، كل منها في السطر الخاص بها.
مقارنة مع DISKIMAGE-BUILDER
تم تصميم Virt-dib كبديل آمن لـ "diskimage-builder" وملفاته
وضع "إنشاء صورة قرص رام"؛ تتمثل الاختلافات الملحوظة للمستخدم في:
· حجج سطر الأوامر. بعض الوسائط هي نفسها المتوفرة في
"diskimage-builder"، في حين أن بعضها له أسماء مختلفة:
صورة القرص - إنشاء Virt-Dib
----------------- --------
-قوس -قوس قوس
--حجم حجم الصورة --حجم الحجم
--max-online-resize SIZE يمكن تنفيذه باستخدام --mkfs-options
-n --skip-base
-o IMAGENAME --اسم IMAGENAME
-p الحزمة (الحزم) - الحزم الإضافية (الحزم)
-t التنسيق (التنسيقات) --التنسيقات التنسيق (التنسيقات)
-x --تصحيح N
· موقع ملفات الإخراج غير الصورية (مثل أقراص الذاكرة والنوى)
· طريقة حفظ بعض الموارد المخزنة مؤقتًا: باستخدام محرك مساعد، وليس مباشرة
القرص حيث يتم تشغيل Virt-dib
· الحاجة إلى تحديد الحجم المستهدف لقرص الإخراج، بدلاً من ذلك
"diskimage-builder" يحسب الخيار الأمثل
· التعامل مع متغيرات البيئة، راجع "متغيرات البيئة".
علاوة على ذلك، بخلاف متغيرات البيئة الخاصة بـ libguestfs (راجع "ENVIRONMENT
المتغيرات "في Guestfs(3))، لا يقرأ Virt-dib أي متغير بيئة آخر: هذا
يعني أن جميع الخيارات وتغييرات السلوك يتم تحديدها فقط باستخدام الأمر
الحجج الخطية
· تعمل البرامج النصية "extra-data.d" في البيئة المضيفة، قبل جميع البرامج النصية الأخرى (حتى
"الجذر.د"); وهذا يعني أنه، اعتمادًا على تكوين العناصر، قد يتم تضمين بعض منها
قد تفشل بسبب فقدان المحتوى (عادةً الدلائل) في "TMP_HOOKS_PATH".
قد تكون الحلول لهذا الأمر إما:
· إصلاح البرامج النصية "extra-data.d" لإنشاء الدلائل المفقودة
· إنشاء (واستخدام) عنصر بسيط مع البرنامج النصي "extra-data.d" المسمى على سبيل المثال
00-إنشاء-مفقود-dirs لإنشاء الدلائل المفقودة
· يجب توفير الأدوات الإضافية اللازمة في بعض مراحل الخروج من الجذر في الجهاز،
راجع "التبعيات الإضافية".
يجب على العناصر نفسها ألا تلاحظ أي اختلاف في طريقة إدارتها؛ سلوك
قد تكون الاختلافات بسبب الافتراضات الخاطئة في العناصر، أو عدم مضاهاة Virt-Dib الصحيحة.
القضايا المعروفة في الوقت الراهن:
· (لا أحد)
آلة مقروء OUTPUT
تشير - آلة مقروءة يمكن استخدام الخيار لجعل الإخراج أكثر ملاءمة للآلة ، والتي
يكون مفيدًا عند الاتصال بـ virt-dib من برامج أخرى وواجهات المستخدم الرسومية وما إلى ذلك.
استخدم الخيار بمفرده للاستعلام عن إمكانيات الملف الثنائي Virt-dib. عادي
الإخراج يبدو كالتالي:
$ virt-dib --يمكن قراءته آليًا
الفضيلة ديب
الإخراج: qcow2
الإخراج: القطران
الإخراج: الخام
الإخراج: في إتش دي
تتم طباعة قائمة بالميزات ، واحدة لكل سطر ، وينتهي البرنامج بالحالة 0.
اختبارات الدخول
تم اختبار Virt-dib باستخدام "diskimage-builder" (وعناصره) ≥ 0.1.43؛ من وقت
إلى الوقت أيضًا مع "عناصر الصورة الثلاثية" و"عناصر صورة الصحراء".
قد تعمل الإصدارات السابقة، ولكن ذلك غير مضمون.
EXIT الوضع
يقوم هذا البرنامج بإرجاع القيمة 0 في حالة النجاح ، أو إرجاع القيمة غير الصفرية في حالة حدوث خطأ.
استخدم virt-dib عبر الإنترنت باستخدام خدمات onworks.net