لينكس في ذاكرة الوصول العشوائي: طريقة debirf
هل تريد الحصول على سرعة قرص مطلقة في الوقت الحاضر ، أليس كذلك؟ دعونا نراجع كيف يمكن القيام به مع الإصدار والأتمتة في 2018.
من المنسق: جاءت إلينا مقالة باللغة الإنجليزية في Sandbox. قرأناه وقررنا نشره كتجربة يوم الجمعة. لا تحكموا بصرامة على الجميع والسلام يوم الجمعة السعيدة! لنأتي معا! باختصار ، من قاع Aua Hearts.
التغيير:
- يتم تصحيح لغة المقال باللغة الإنجليزية
- قدم عينة مستودع في جيثب
- معلمات الاختبار المضافة
- وأضاف asciicast
يجب أن تعرف قبل تشغيل هذا البرنامج التعليمي:
- لينكس ضروري
- الفرق الرئيسي بين باش وشي (debirf مكتوب على sh ، لذلك أوصي باتباع النمط)
- كيفية تنسيق مفتاح USB (بأي شكل من الأشكال)
- ما هي برامج التشغيل المطلوبة لجهازك (أو يمكنك تصحيحها عبر dmesg | lspci)
- كيفية الحصول على أغراض مهمتك من خلال البرمجة النصية
يمكنك استبدال:
- حرف USB من
/dev/sdb
إلى أي شخص آخر ( /dev/sdd
) - دليل العمل من
/root/Projects/debirf/
إلى اختيارك ( /home/username/Documents/debirf
) - mountpoint from
/media/root/8B46-1189
to /media/username/myflashdrive
خطوات التحضير
فهي (اختيارية) تمكن المكونات غير الحرة للتثبيت الأساسي. بالإضافة إلى ذلك ، أعتقد أنك ستحتاج إلى المستودع غير المجاني.
- الخط المفتوح رقم 107 من الملف
/usr/bin/debirf
مثل nano +107 $(which debirf)
- البحث عن وظيفة
create_debootstrap
- إيجاد خط مثل
local OPTS="
- إضافة -
--components main,contrib,non-free
بين قوسين
للبدء:
دعونا نتخيل ، محرك أقراص فلاش لدينا:
- يجب أن يكون سريعًا ، لذلك يوصى باستخدام 8+ فئة ، أو يستغرق التمهيد وقتًا كافيًا
- / dev / sdb
- شكلت
- تم تركيبه في
/media/root/8B46-1189
. - دليل العمل لدينا
/root/Projects/debirf/
قم بتثبيت debirf
apt-get install -yq debirf mtools genisoimage
- mtools اللازمة لإنشاء iso عبر debirf (لا تعمل ، لكنها ضرورية)
- genisoimage اللازمة لإنشاء iso العمل الحقيقي (اختياري)
إعداد دليل عمل debirf
mkdir -p /root/Projects/debirf tar xzf /usr/share/doc/debirf/example-profiles/rescue.tgz -C /root/Projects/debirf cd /root/Projects/debirf/rescue
DEBIRF_LABEL="debirf-rescue" DEBIRF_SUITE=stretch DEBIRF_DISTRO=debian DEBIRF_MIRROR=http://ftp.ru.debian.org/debian/
إنشاء LiR
debirf make .
وتذهب بعيدا. تحتاج إلى الكثير من الوقت ، بحد أدنى 15 دقيقة على أعلى الأجهزة.- قم بتشغيل
debirf makeiso .
لإنشاء لا يعمل ISO (مطلوب لملف grub.cfg)
اختبره
- تثبيت qemu
- لينكس:
apt-get install -yq qemu
- لنظام التشغيل macos:
brew install qemu
- تحديد الموارد التي سيتم تخصيصها لـ VM
-smp 1
1 نواة حقيقية-m 1G
ذاكرة 1G 1G
- إضافية
-nographic
سيطلق VM في النافذة النهائية الحالية--enable-kvm
تمكين- kvm يمكّن تسريع الأجهزة-kernel vmlinuz-*
تصريح تمرير نواة مباشرة-initrd *.cgz
الوصول المباشر إلى ملف .cgz مع initramfs-append
يسمح بتجاوز معلمات kernel ، وهنا المعلمات للتشغيل بدون غلاف رسومي
الأمر لبدء تشغيل الجهاز الظاهري:
qemu-system-x86_64 --enable-kvm -kernel vmlinuz-* -initrd *.cgz -append "console=tty0 console=ttyS0,115200n8" -m 1G -smp 1 -net nic,vlan=0 -net user -nographic
عينة الاختبار

قم بتثبيت grub إلى محرك أقراص محمول ونسخ LiR عليه
أوصي باستخدام التمهيد bios legacy وحزم grub-pc. لم يتم اختباره مع UEFI ، ولكن يجب أن يعمل. سيتم تنفيذ الأسطر التالية:
- إنشاء نقطة تحميل (على الأنظمة التي تعمل بواجهة المستخدم الرسومية تمكين التثبيت التلقائي ، لا حاجة)
- تحميل مفتاح USB لنقطة التحميل (على الأنظمة التي تعمل بواجهة المستخدم الرسومية ، يتم تمكين التثبيت التلقائي ، فلا حاجة)
- تثبيت اليرقة
- نسخ ملف اليرقة
- نسخ initramfs (النظام)
- نسخ vmlinuz (نواة)
- إلغاء تحميل مفتاح USB
- إزالة نقطة التثبيت
mkdir -p /media/root/8B46-1189 mount /dev/sdb1 /media/root/8B46-1189 grub-install --boot-directory=/media/root/8B46-1189/boot /dev/sdb cp /root/Projects/debirf/rescue/iso/boot/grub/grub.cfg /media/root/8B46-1189/boot/grub/ cp /root/Projects/debirf/rescue/*.cgz /media/root/8B46-1189 cp /root/Projects/debirf/rescue/vmlinuz-* /media/root/8B46-1189 umount /media/root/8B46-1189 rm -rf /media/root/8B46-1189
إنشاء iso قابل للتمهيد (اختياري)
- تحميل المعزول
- إنشاء ملف التكوين المعزول
- إنشاء ايزو
mkdir -p rescue/iso/isolinux/ wget -O rescue/iso/isolinux/isolinux.bin 'http://mirror.yandex.ru/centos/7/os/x86_64/isolinux/isolinux.bin' cat << EOF > rescue/iso/isolinux/isolinux.cfg TIMEOUT 5 DEFAULT lir LABEL lir LINUX /vmlinuz-4.9.0-7-amd64 INITRD /debirf-rescue_stretch_4.9.0-7-amd64.cgz EOF genisoimage -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -l -input-charset default -V LiR -A "Linux in RAM" -o rescue/rescue.iso rescue/iso/
تحقق من النتيجة
- تثبيت QEMU hypervisor
apt-get install -yq qemu
- قم بتشغيل
qemu-system-x86_64 -enable-kvm -m 512 -hda /dev/sdb
- إذا فشل الأمر السابق ، قم بإزالة
-enable-kvm
- سيتم بدء تشغيل VM ، تمهيده من مفتاح USB
- يجب أن تشاهد عنصرين في القائمة ، الفرق في النهاية: وحدة التحكم والتسلسل. حدد الإدخال الأول.
- في دقيقة ~ سترى العديد من الخطوط. بعد أن تنتهي - اضغط على Enter لرؤية رسالة الترحيب
- تسجيل الدخول: الجذر ، لا كلمة مرور
تخصيصه: إنشاء وحدة مخصصة debirf
الوحدة - سكربت تنفيذي للتشغيل أثناء إنشاء LiR
- إنشاء ملف الوحدة النمطية
- ترتيب أسماء الملفات مهم. في
network
الملفات ، سيتم تغيير الملف الذي تم حله إلى حل النظام ، ولا يمكنك العمل مع الشبكة ؛ - يجب أن تكون الأسطر من 1 إلى 3 موجودة ، ويجب أن يقدم السطر 3 اسم الملف
- إذا كنت تريد تثبيت الحزمة - استخدم البناء
#DEBIRF_PACKAGE>+
- إذا كنت تريد العمل مع rootfs - استخدم
$DEBIRF_ROOT
- إذا كنت تريد تشغيل الأمر في fakeroot - استخدم
debirf_exec
العينة:
cat <<< EOF > rescue/modules/mi
واستبدال الخط resolved
في ملف الإنقاذ / وحدات / شبكة مع debirf_exec systemctl enable wpa_supplicant@wlp1s0.service systemd-networkd.service systemd-resolved.service
المكافأة: lxc على LiR
وحدة الانقاذ / وحدات / lxc