يضع MacOS Catalina في صندوق متشرد.
تم اختصار بعض التسلسلات. وقت التشغيل الأصلي 14.5 دقيقة.
يدعم إنشاء مربعات إما في تنسيقات "VMware_Fusion" أو "VMware_Desktop" أو "أوجه أدوات" أو "VirtualBox".
البرنامج التالي مطلوب. قد تعمل إصدارات أخرى غير تلك المذكورة ، ولكن هذه هي أحدث الإصدارات التي تم اختبارها.
لتمهيد مربع تم إنشاؤه بواسطة macinbox ، ستحتاج إلى متشرد:
لإنشاء مربع ، ستحتاج إلى تطبيق تثبيت MacOS. إذا كنت تستخدم مضيف Catalina ، فيجب عليك استخدام مثبت Catalina:
لا يمكن لمضيفي Catalina استخدام مثبتات MacOS 10.14 Mojave) ، ولا يمكن لمضيفات Mojave استخدام مثبتات Catalina.
إذا كنت تستخدم مضيف Mojave ، فيجب عليك استخدام مثبت Mojave:
يوصى باستخدام نفس الإصدار للمضيف والمثبت ، ولكن قد تعمل الإصدارات السابقة من مثبت MacOS (على سبيل المثال MacOS 10.13 High Sierra) مع مضيف Mojave ، والعكس صحيح.
ملاحظة: إذا كانت لديك أسئلة حول مواجهة MacOS الافتراضية ، فقد ترغب في مراجعة الوثائق الخاصة ببرنامج المحاكاة الافتراضية التي تستخدمها واتفاقية ترخيص البرنامج لـ MacOS.
أحد تطبيقات المحاكاة الافتراضية التالية مطلوب:
لإنشاء مربع وتوليه في تنسيقات "VMware_Fusion" أو "VMware_Desktop" التي ستحتاجها:
لإنشاء مربع وتوليه في تنسيق "أوجهز" ستحتاج:
لإنشاء مربع وتوليه في تنسيق "VirtualBox" الذي ستحتاجه:
تثبيت الجوهرة:
$ sudo gem install macinbox
قم بتشغيل مع sudo وعدم وجود وسيطات ، ستنشئ أداة macinbox وإضافة مربع Vmware المتشرد يسمى "MacInbox" والذي يحضر شاشة كاملة على سطح المكتب للمستخدم "Vagrant":
$ sudo macinbox
يرجى التحلي بالصبر ، لأن هذا قد يستغرق بعض الوقت. (على 2.5 جيجا هرتز MacBookPro11،5 يستغرق حوالي 11 دقيقة و 30 ثانية.) بعد اكتمال الأداة ، يمكنك إنشاء بيئة متشردة جديدة مع المربع وبدءها:
$ vagrant init macinbox && vagrant up
بعد لحظات قليلة من تشغيل هذا الأمر ، سترى عرض جهاز الجهاز الظاهري يظهر ملء الشاشة. (اضغط على Command-Control-F للخروج من وضع ملء الشاشة.) بعد أن يكمل الجهاز الظاهري التمهيد (حوالي 1-2 دقيقة) سترى سطح المكتب للمستخدم "المتشرد" ويمكنه البدء في استخدام الجهاز الظاهري.
لإنشاء مربع سطح المكتب أوجه المتوازي ، تمرير خيار --box-format :
$ sudo macinbox --box-format parallels
لمشاهدة الخيارات المتقدمة ، تمرير خيار --help :
Usage: macinbox [options]
--box-format FORMAT Format of the box (default: vmware_desktop)
-n, --name NAME Name of the box (default: macinbox)
-d, --disk SIZE Size (GB) of the disk (default: 64)
-t, --fstype TYPE Type for disk format (default: APFS)
-m, --memory SIZE Size (MB) of the memory (default: 2048)
-c, --cpu COUNT Number of virtual cores (default: 2)
-s, --short NAME Short name of the user (default: vagrant)
-f, --full NAME Full name of the user (default: Vagrant)
-p, --password PASSWORD Password of the user (default: vagrant)
--installer PATH Path to the macOS installer app
--installer-dmg PATH Path to a macOS installer app disk image
--vmware PATH Path to the VMware Fusion app
--parallels PATH Path to the Parallels Desktop app
--user-script PATH Path to user script
--no-auto-login Disable auto login
--no-skip-mini-buddy Show the mini buddy on first login
--no-hidpi Disable HiDPI resolutions
--no-fullscreen Display the virtual machine GUI in a window
--no-gui Disable the GUI
--use-qemu Use qemu-img (vmware_desktop only)
--verbose Enable verbose mode
--debug Enable debug mode
-v, --version
-h, --help
يؤدي تمكين وضع التصحيح إلى الحفاظ على الملفات الوسيطة (صورة القرص ، و VMDK ، و Box) بعد خروج الأداة بدلاً من تنظيفها. تحذير!!! هذه الملفات الوسيطة كبيرة جدًا ويمكنك نفاد مساحة القرص بسرعة كبيرة عند استخدام هذا الخيار.
ينشئ هذا المثال المتقدم ويضيف مربعًا يسمى "MacInbox-Large-Nogui" مع 4 نوى و 8 جيجابايت أو ذاكرة الوصول العشوائي وقرص 128 جيجابايت ؛ إيقاف تشغيل تسجيل الدخول التلقائي ؛ ويمنع عرض واجهة المستخدم الرسومية VMware عند بدء تشغيل VM:
$ sudo macinbox -n macinbox-large-nogui -c 4 -m 8192 -d 128 --no-auto-login --no-gui
إذا كان لديك مجموعة متغير بيئة Vagrant_Home وتريد إضافة المربع الذي تم إنشاؤه إلى دليل "الصناديق" في هذا الموقع ، فستحتاج إلى إخبار Sudo بتمريره إلى MacInbox ، على سبيل المثال:
$ sudo "VAGRANT_HOME=${VAGRANT_HOME}" macinbox
بشكل افتراضي ، ستقوم macinbox بتكوين نظام التشغيل الضيف لتمكين قرارات HidPI ، وتكوين الجهاز الظاهري لاستخدام دقة العرض الأصلي. يمكنك تعطيل هذا السلوك باستخدام خيار --no-hidpi .
بشكل افتراضي ، سيقوم macinbox بإنشاء مربع متشرد بتنسيق "VMware_Desktop" مع تثبيت أدوات VMware مسبقًا.
عندما يتم ضبط تنسيق المربع على "أوازي" باستخدام خيار- --box-format ، يتم تثبيت أدوات المتوازيين بدلاً من ذلك.
عندما يتم ضبط تنسيق المربع على "VirtualBox" ، لا يتم تثبيت ملحقات الضيف. لاحظ أن بعض الميزات تتصرف بشكل مختلف مع VirtualBox. يتم ضبط دقة الشاشة على 1280 × 800 ولا يتم دعم قرارات HidPI. يتم تعيين عامل مقياس واجهة المستخدم الرسومية على 2.0 (بحيث يعرض VM بشكل صحيح على مضيف مع شاشة شبكية العين) ما لم يتم استخدام خيار-- --no-hidpi . أخيرًا ، يتم تمكين SSH Port-For-For-Foring بشكل افتراضي حتى يتمكن المضيف من الاتصال بالضيف.
إذا كان التخصيص الإضافي مطلوبًا ، فقد يتم تحديد برنامج نصي للمستخدم باستخدام خيار- --user-script . يتم تشغيل البرنامج النصي بعد تثبيت نظام التشغيل وسيتم تزويده بالمسار إلى موقع التثبيت كوسيطة أولى والوحيدة. يجب أن يكون البرنامج النصي قابلًا للتنفيذ والخروج باستخدام Code Zero أو سيتم إحباط إنشاء المربع.
يتيح لك خيار- --installer-dmg الإشارة إلى المسار إلى صورة القرص التي تحتوي على مثبت MacOS ، ويتجاوز خيار --installer . لا ينبغي بالفعل تثبيت صورة القرص المحددة ؛ سوف macinbox يركض وينفجرها حسب الحاجة. تتيح لك هذه الميزة استخدام صور قرص التثبيت التي تم إنشاؤها بواسطة installinstallMacos.py كجزء من سير عمل macinbox .
تنفذ هذه الأداة الإجراءات التالية:
يشتمل المربع الذي أنشأته هذه الأداة
لإعادة تمكين إعادة توجيه منفذ SSH الافتراضي ، يمكنك إضافة السطر التالي إلى VagrantFile في البيئة:
config.vm.network :forwarded_port, guest: 22, host: 2222, id: "ssh"
لإعادة تمكين المجلد المزامن الافتراضي ، يمكنك إضافة السطر التالي إلى VagrantFile في البيئة:
config.vm.synced_folder ".", "/vagrant"
تهدف هذه الأداة إلى القيام بكل ما يجب القيام به لتثبيت MacOS جديد قبل التمهيد الأول الذي يحوله إلى مربع متشرد يحمل MacOS مع تجربة مستخدم سلسة. ومع ذلك ، فإن هذه الأداة تهدف أيضًا إلى القيام بأقل قدر ممكن من التكوين. لم يتم تنفيذ أي شيء بدلاً من ذلك يمكن تأجيله إلى خطوة توفير في قالب Vagrantfile أو Packer.
استلهم هذا المشروع من العمل الرائع للآخرين:
يستلهم هذا المشروع مصدر إلهام من حلقة من السيد روبوت. في الحلقة ، يتم عرض Elliot بسرعة على تشغيل ما يبدو أنه جهاز افتراضي يعمل على بيئة سطح مكتب Linux جديدة ، من أجل فحص محتويات قرص مضغوط غير موثوق به. كما شاهدت فكرت ، "أريد أن أكون قادرًا على فعل هذا النوع من الأشياء مع MacOS!". من المؤكد أنني لست الشخص الوحيد الذي قام بتنزيل البرامج غير الموثوقة من الإنترنت ، وتمنى أن تكون هناك طريقة سهلة لتقييمها دون تعريض بيئة العمل الأساسية للخطر؟
يعد هذا المشروع خليفة مباشرًا لمشروع My Vagrant-Box-Macos ، والذي كان مستوحىًا بشدة من مشروع Tim Sutton OSX-VM-Templates.
مع إصدار MACOS 10.12.4 تم إعاقة التقنيات السائدة لتخصيص عمليات تثبيت MACOS بواسطة متطلبات تثبيت جديدة تتم توقيع جميع الحزم بواسطة Apple. بعد محاولة العديد من التقنيات للسماح vagrant-box-macos بدعم MacOS 10.13 High Sierra ، قررت أن هناك حاجة إلى نهج مختلف لإنشاء الصندوق ، ولدت macinbox .
ابدأ بتشغيل sudo gem install bundler وتثبيت bundle install .
لتشغيل macinbox مباشرة من جذر مساحة عمل GIT دون تثبيت GEM ، قم بتشغيل sudo bundle exec macinbox .
لتثبيت هذه الأحجار الكريمة على جهازك المحلي ، قم بتشغيل sudo bundle exec rake install .
يمكنك أيضًا تشغيل bin/console للحصول على مطالبة تفاعلية تتيح لك التجربة. على سبيل المثال:
opts = Macinbox::CLI::DEFAULT_OPTION_VALUES
opts[:collector] = Macinbox::Collector.new
opts[:full_name] = "Vagrant"
opts[:password] = "vagrant"
opts[:image_path] = "macinbox.sparseimage"
opts[:boxes_dir] = File.expand_path "~/.vagrant.d/boxes"
$debug = $verbose = true
include Macinbox::Actions
opts[:macos_version] = CheckMacosVersions.new(opts).run
CreateImageFromInstaller.new(opts).run
opts[:vmdk_path] = "macinbox.vmdk"
CreateVMDKFromImage.new(opts).run
opts[:box_format] = "vmware_desktop"
opts[:box_path] = "vmware_desktop.box"
CreateBoxFromVMDK.new(opts).run
InstallBox.new(opts).run
opts[:hdd_path] = "macinbox.hdd"
CreateHDDFromImage.new(opts).run
opts[:box_format] = "parallels"
opts[:box_path] = "parallels.box"
CreateBoxFromHDD.new(opts).run
InstallBox.new(opts).run
opts[:vdi_path] = "macinbox.vdi"
CreateVDIFromImage.new(opts).run
opts[:box_format] = "virtualbox"
opts[:box_path] = "virtualbox.box"
CreateBoxFromVDI.new(opts).run
InstallBox.new(opts).run
opts[:collector].cleanup!
لإصدار إصدار جديد ، قم بتحديث رقم الإصدار في version.rb ، ثم قم بتشغيل bundle exec rake release ، والذي سيقوم بإنشاء علامة GIT للإصدار ، و Push Git Commits و Tags ، ودفع ملف .gem إلى rubygems.org.
يتم الترحيب بتقارير الأخطاء وطلبات السحب على Github على https://github.com/bacongravy/macinbox.