تخصيص RepairDisk: الطريق إلى LFS

في كثير من الأوقات ، كان علينا إصلاح نظام من قرص حي ، وفي مرحلة ما من العملية وجدنا أنفسنا نفتقر إلى أداة وعندما نريد تثبيتها ، يخبرنا نظام التشغيل LiveCD أنه نفد المساحة والثوم والماء ( أن تبتعد وتمسك).

لقد وصلتني هذه المشكلة حقًا بسبب الدخول في LFS (لينكسفروم سكراتش) ، وهو دليل (وليس توزيعة بحد ذاتها) لتثبيت Linux مخصص. الهدف من هذا "التوزيع" هو أنه من أي قرص حي ، وباستخدام الأدوات المناسبة ، يمكنك تنزيل كود النواة والأدوات الأخرى لبناء نظامك الخاص (تجميع كل شيء شيئًا فشيئًا). إذا كنت ترغب في اتباع الدليل التفصيلي خطوة بخطوة ، فأنت بحاجة إلى العديد من الأدوات والمجمعات ، ولا يوجد قرص حي مع كل شيء ، لذلك عليك تخصيص واحد.

لنفعلها. سوف نستخدم ملف SystemRescueCD، والتي توفر بيئة شاملة تعتمد على Gentoo.

في مثالنا (تثبيت Linux من نقطة الصفر باتباع كتاب Linux From Scratch) نفقد برامج Bison و Makeinfo ، لذلك سنقوم بإنشاء صورة ISO جديدة لهذا القرص ولكن باستخدام الأدوات الجديدة.

إشعار: Gentoo هي توزيعة تجمع فى الموقع جميع الحزم المراد تثبيتها ، وبالتالي فإن عملية إضافة البرامج وتحديثها تكون بطيئة.

على الرغم من استخدام مدير الحزم (مثل apt-get في دبيان) ، فبدلاً من تنزيل الحزم ، يتم تنزيل الكود المصدري لتجميعه على جهازك.

بالنسبة للعملية ، ستحتاج إلى قسم Linux (ext4 على سبيل المثال) مع 1.5G على الأقل مجانًا ، على الرغم من أنه يوصى بالمزيد. إذا كنت لا تريد العبث بأقسامك ، فاستخدم جهازًا افتراضيًا. بالطبع ، من المستحسن أن يكون للقسم عدة غيغا بايت لأنه أثناء التجميع والتثبيت ومزامنة عمليات المستودعات ... هناك حاجة إلى مساحة مؤقتة ؛ أنصح باستخدام قسم مبادلة 8G + 2G (مع 4G + 1G يجب أن يكون كافيًا ، لكننا نؤكد أنه إذا كانت ذاكرة الوصول العشوائي / المبادلة مفقودة ، فستكون العملية أبطأ).

بافتراض أنك أنشأت جهازًا افتراضيًا بقرص 10 جيجا ، يمكنك تشغيله بإخباره بالتمهيد من SystemRescueCd الذي تم تنزيله للتو. بمجرد الدخول إلى الداخل ، نقوم بالتقسيم باستخدام fdisk (إذا كنت قد بدأت الجلسة الرسومية ، فيمكنك القيام بذلك باستخدام gparted ، لكن الغرض من هذا المنشور هو تعليم استخدام الأدوات الأساسية). fdisk هو أمر تفاعلي:

  • باستخدام الخيار "n" نقوم بإنشاء قسم جديد
  • باستخدام الخيار "t" نقوم بتغيير نوع نظام الملفات الذي سيتم إدخاله في القسم
  • مع خيار «ث» نكتب على القرص
  • مع خيار «q» نغادر دون كتابة التغييرات

عندما نستخدم الخيار "n" ، فإنه سيمنحنا العديد من الخيارات ، سنستخدم الخيار الافتراضي طوال الوقت ، إلا عند تعيين المقطع الأخير في القسم الأول ، والذي سيتعين علينا كتابة "+ 8G" ، مما يشير إلى البرنامج الذي نريده تشغل 8 جيجابايت.

عند إنشاء القسم الثاني ، سنستخدم الخيارات الافتراضية حيث سيتم شغل باقي المساحة. أيضًا ، لإخبار fdisk أن القسم الثاني سيكون من النوع swap ، استخدم الخيار "t" (الكود السداسي للمبادلة هو 82). تبدو الواجهة كما يلي:

أمر٪ fdisk / dev / sda (m للمساعدة):

بمجرد الانتهاء من كل شيء ، نستخدم خيار "w" لكتابة التغييرات على القرص والخروج.
حان الوقت الآن لتنسيق الأقسام. سنبدأ بالمبادلة من أجل الاستفادة منها على الفور:

٪ mkswap / dev / sda2٪ swapon / dev / sda2

لدينا بالفعل قسم المبادلة مهيأ ، ومع الأمر سوابون لقد بدأنا في استخدامه. نقوم الآن بتنسيق القسم الأول في ext4:

% mkfs.ext4 /dev/sda1

يمكننا البدء في اتباع الخطوات الموضحة في http://www.sysresccd.org/Sysresccd-manual-en_How_to_personalize_SystemRescueCd، هنا أترجمها / أصفها مع التعليق التوضيحي الفردي.

نقوم بتركيب القسم في مكانه (يأتي القرص الحي مُجهزًا بالفعل بمجلد / mnt / مخصص حيث يجب تثبيت القسم الذي سنقوم فيه بإجراء التغييرات المناسبة). أيضًا بعد التثبيت ، سيتعين علينا استخراج الملفات من القرص ، ويتم تحقيق ذلك باستخدام برنامج نصي تم إعداده بالفعل. سيستغرق النص بعض الوقت (نظرًا لأنه يفرغ مئات الميغابايت من الذاكرة) ، إذا كنت تريد التحقق من أنه يعمل بالفعل ، فانتقل إلى محطة أخرى (باستخدام Alt + F4 على سبيل المثال) وقم بإجراء مدافع -h.

٪ mount / dev / sda2 / mnt / custom٪ / usr / sbin / sysresccd-custom extract

إذا كنت تتنقل الآن في الداخل / mnt / مخصص / customcd، سترى عدة مجلدات. في / mnt / custom / customcd / ملفات تم العثور على نظام ملفات الجذر. حان الوقت الآن لتحديد جذور النظام الجديد المستقبلي. هنا سأضع الأوامر ، لمزيد من المعلومات حول chroot يمكنك رؤيتها هذا البرنامج التعليمي كتبته قبل شهر

٪ mount -o bind / proc / mnt / custom / customcd / files / proc٪ mount -o bind / dev / mnt / custom / customcd / files / dev٪ mount -o bind / sys / mnt / custom / customcd / files / sys٪ chroot / mnt / custom / customcd / files / bin / bash # gcc-config $ (gcc-config -c)

نحن بالفعل في نظام chrooted ، والذي سيكون نظام LiveCD بمجرد تشغيله. سنقوم بتثبيت الحزم المفقودة (bison و texinfo) باستخدام الأمر الظهور (الذي يتولى طرد حمل من gentoo).

أولاً نقوم بمزامنة شجرة النقل (ما يعادل الرابطة بين الحصول على التحديث)
# emerge-webrsync ملاحظة: نستخدم هذا الأمر بدلاً من "ظهور - مزامنة" لأنه أسرع ، حيث يقوم بتنزيل حزمة tar من الويب. هذه الخطوة ضرورية ، لأنها إذا لم تظهر فإنها ستظهر تلقائيًا - متزامنة ، متباطئة.

بعد مزامنة شجرة النقل يمكننا المتابعة لتثبيت الحزم:

# تظهر sys-devel / bison # تظهر sys-devel / texinfo
سيستغرق تجميع البيسون بعض الوقت ، وتحلى بالصبر

نترك chroot:# exit

نقوم بإلغاء تحميل "/ proc" بحيث يتم تخزين الحزم المثبتة الجديدة في سكواش. نقوم أيضًا بإلغاء تحميل "/ dev" و "/ sys" حتى لا ننسى لاحقًا
% umount /mnt/custom/customcd/files/proc
% umount /mnt/custom/customcd/files/dev
% umount /mnt/custom/customcd/files/sys

نظرًا لأن نظام ملفات الاسكواش الجديد جاهز بالفعل ، فقد أنشأناه بالأمر التالي
% /usr/sbin/sysresccd-custom squashfs
إذا أردنا إضافة ملف في صورة ISO لكننا نريده أن يكون خارج الاسكواشف ، يجب أن نضعه في المجلد «/ mnt / custom / customcd / isoroot»

% cp -a my-files /mnt/custom/customcd/isoroot

في هذه المرحلة ، يخبرك الدليل الرسمي أنه يمكنك تعيين خريطة المفاتيح للتمهيد باستخدام لوحة مفاتيح افتراضية (على سبيل المثال "es" للوحات المفاتيح الإسبانية). ولكن عند إجراء العديد من الاختبارات ، فإن البرنامج النصي الذي يستخدمونه من أجلي لم ينجح ونتج عنه خطأ عند تحميل النواة ، لذلك سأتخطى هذه الخطوة.

حانت اللحظة المجيدة ، يمكننا الآن إنشاء صورة ISO جديدة باستخدام نظامنا المخصص!
% /usr/sbin/sysresccd-custom isogen my_srcd
"My_srcd" هو الاسم الذي نطلقه على وحدة التخزين ، يمكنك تسميتها كما تريد. يتم حفظ الصورة في «/ mnt / custom / customcd / isofile» ، بالإضافة إلى إنشاء ملف .md5 أيضًا also

إذا كنت تعمل على قرص افتراضي ، تظل الخطوة الحاسمة: استخراج صورة ISO للنظام الظاهري. هناك عدة طرق للقيام بذلك ، سأشرح طريقة بسيطة (في VirtualBox) لتجنب الاضطرار إلى تثبيت "إضافات الضيف" أو أي شيء من هذا القبيل.
سوف نستخدم العميل للحصول على الملف من خلال نفق ssh. للقيام بذلك ، يجب علينا أولاً تكوين نظام الضيف بكلمة مرور جذر. يبدأ خادم ssh تلقائيًا ، وما زلنا نعيد تشغيله في حالة حدوث ذلك.
% passwd
% /etc/init.d/sshd restart

علينا تكوين منفذ إعادة توجيه الجهاز الظاهري. في VirtualBox يتم ذلك على النحو التالي:

  1. يمكنك الوصول إلى تكوين الجهاز الظاهري
  2. في قسم الشبكة ، قمت بالفعل بتكوين محول في NAT
  3. ابحث عن خيار إعادة توجيه المنفذ
  4. يمكنك إضافة قاعدة جديدة ، مع المعلمات فقط "منفذ المضيف" و "منفذ الضيف"
  5. المضيف = 3022 والضيف = 22

بهذا حققنا أن المنفذ 3022 لجهاز الكمبيوتر الخاص بنا هو 22 من الجهاز الظاهري. نبدأ عميل Filezilla:

  1. في معلمة الخادم نكتب: sftp: // localhost
  2. في معلمة اسم المستخدم نكتب: root
  3. في معامل كلمة المرور نضع المعامل الذي نستخدمه في «passwd»
  4. في معلمة المنفذ نكتب: 3022
  5. اضغط على «اتصال سريع»

إذا سارت الأمور على ما يرام إلى اليسار ، فيمكننا التنقل على جهاز الكمبيوتر الخاص بنا وإلى اليمين في الجهاز الظاهري. يكفي الوصول (في الجهاز الظاهري) إلى المجلد «/ mnt / custom / customcd / isofile» وسحب صورة ISO إلى المكان الذي نريده على جهاز الكمبيوتر الخاص بنا.

!! تهانينا!! إذا سارت الأمور على ما يرام ، فستكون لديك صورة ISO جاهزة مع قرص SystemRescueCD مخصص وجاهز للتمهيد من قرص مضغوط أو USB ...


اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: ميغيل أنخيل جاتون
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.

  1.   الأسد قال

    يا له من دليل جيد ، معقد إلى حد ما ولكنه مفيد للغاية.
    مساهمة جيدة.

  2.   Leper_Ivan قال

    ثم بعد ذلك بقليل من الوقت ، وبدون الكثير من الانزعاج في العيون ، سأقرأها جيدًا. يبدو مفيدًا جدًا وشيقًا ..

  3.   كارلوس سانشيز قال

    مرحبا woqer ، منشور جيد جدا!

    لقد عملت مع LFS منذ عدة سنوات وقمت بإنشاء iso الخاص بي الذي يمكنه خدمتك ، فهو يحتوي على كل ما تحتاجه لتجميعه لأنه LFS. 😀 أتمنى أن تكون مفيدة لك

    http://vegnux.org.ve/files/isos/neonatox-06.2rc6.linux-i686-xfce4.iso