برنامج نصي لما بعد تثبيت نظام لينكس: كيفية أتمتة نظامك بعد التهيئة

  • تتيح لك سكربتات ما بعد التثبيت الجيدة في Bash أتمتة التحديثات وتثبيت البرامج والإعدادات الرئيسية بعد إعادة تثبيت Linux.
  • تتطلب كل عائلة من التوزيعات أوامر تحديث وتثبيت محددة، لذلك يُنصح بالاحتفاظ ببرامج نصية منفصلة لكل توزيعة.
  • بالنسبة لعمليات النشر المتقدمة أو الضخمة، يمكن استخدام أدوات مثل Kickstart أو Ansible أو حتى أساليب من نوع Linux From Scratch.
  • يمكن أن يتراوح مستوى التعقيد من ملف install.sh بسيط قابل لإعادة الاستخدام إلى البناء الكامل لنظام Linux مخصص.

برنامج نصي لما بعد تثبيت نظام لينكس

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

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

ما هو برنامج نصي لما بعد التثبيت في نظام لينكس، وما الغرض منه؟

برنامج ما بعد التثبيت ليس أكثر من ملف نصي قابل للتنفيذ باستخدام أوامر Bash التي تُنفّذ بالتسلسل كل ما كنت ستفعله يدويًا بعد تثبيت Linux مباشرةً. فبدلاً من كتابة "sudo apt install this" و"sudo apt install that" وتعديل جدار الحماية وتثبيت حزم snap وغيرها، تكتب الأمر مرة واحدة وتعيد استخدامه كما تشاء.

هذا النوع من البرامج النصية مسؤول عادةً عن مهام الإعداد النموذجية: تحديث التوزيعة، وتثبيت البرامج الأساسية (المتصفح، حزمة المكتب، أدوات الأمان، الوسائط المتعددة)، وتفعيل جدار الحماية وتكوينه، وضبط بعض سلوكيات البيئة الرسومية (على سبيل المثال، شريط GNOME)، وإذا أردت، تشغيل برامج نصية أخرى تجلب ملفاتك المخفية، وتكوينات Vim، وطرفيتك أو أي شيء تستخدمه بشكل يومي.

أنشئ برنامج نصي أساسي مكتوب بلغة باش بعد التثبيت

لنبدأ بالنهج الأكثر مباشرة: برنامج نصي Bash في منزلك يمكنك نسخ هذا النص ولصقه في أي تثبيت جديد. يُعدّ هذا مفيدًا لمن يُغيّرون توزيعات لينكس باستمرار، أو لمن يُعيدون تثبيت نفس التوزيعة بشكل متكرر، أو للحصول على نص برمجي قابل للتكرار عند بناء أنظمة للآخرين.

كيفية استخدام برنامج Ventoy لإصلاح USB
المادة ذات الصلة:
خطوات إنشاء قرص USB متعدد الإقلاع قابل للتشغيل باستخدام Ventoy

أولاً، قم بإنشاء ملف البرنامج النصي، على سبيل المثال تثبيت:

touch install.sh

ثم اجعله قابلاً للتنفيذ، حتى تتمكن من تشغيله باستخدام ./install.shيُستخدم هنا بشكل شائع شمود مع منح الصلاحيات لجميع المستخدمين، وغالبًا ما يتم استخدام الأمر sudo إذا كان الملف موجودًا في موقع يتطلب صلاحيات مرتفعة:

sudo chmod a+x install.sh

الآن، قم بتحرير الملف باستخدام محرر النصوص الذي تفضله. يمكنك استخدام Vim، Nano، Emacs، Gedit، Kate أو أي شيء متوفر لديك بسهولة. مثال كلاسيكي باستخدام محرر النصوص Vim هو:

sudo vim install.sh

يوجد في بداية الملف سطران شبه إلزاميّين. يشير السطر الأول إلى المفسّر الذي يجب أن ينفّذ البرنامج النصي (سطر "shebang"):

#!/bin/bash

يُستخدم السطر الثاني عادةً للإشارة إلى الترميزهذا مفيد إذا كنت ستستخدم علامات التشكيل أو حرف "ñ" أو غيرها من الأحرف الخاصة في التعليقات أو الرسائل:

# -*- ENCODING: UTF-8 -*-

قم بتحديث النظام وفقًا للتوزيع

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

بالنسبة لتوزيعات النمط ديبيان، أوبونتو ومشتقاتهاقد يكون التسلسل النموذجي كالتالي:

sudo apt update && sudo apt -y upgrade

تختلف الأمور في التوزيعات الأخرى. على سبيل المثال، في CentOS و Red Hat "متشابهان" وقد تم استخدامه تقليديا يم:

sudo yum update

ظهرت في الإصدارات الأحدث من فيدورا DNF باعتبارها تطوراً لكلمة yum، مع بنية نحوية مشابهة جداً. وبالتالي، بالنسبة لـ فيدورا يمكنك استخدام:

sudo dnf update

في حالة زحمةتتم إدارة نظام الحزم عادةً بواسطة zypper ويتم التحديث العام باستخدام:

sudo zypper update

في العالم آرتش لينكس، مانجارو، أنتركوس، كاوس وغيرها من الألعاب المستوحاة من لعبة باك مان، سيكون المكافئ لها كالتالي:

sudo pacman -Syu

إذا كنت تستخدم أيضًا أدوات خارجية مثل yaourt (التي تم استبدالها الآن بـ yay وغيرها من أدوات المساعدة الخاصة بـ AUR)، ففي بعض البيئات كان الأمر يبدو كالتالي:

yaourt -Syua

آخرون يحبون جنتو أو سلاكوير لديهم أدوات إدارة التحديثات والأوامر الخاصة بهم. في هذه الحالة، سيتم تعديل البرنامج النصي الخاص بك ليتناسب مع ما تستخدمه (مثل emerge أو slapt-get)، لكن الفكرة تبقى نفسها دائمًا: حافظ على تحديث قاعدة بيانات النظام بمجرد بدء عملية ما بعد التثبيت.

قم بتنظيم تثبيت البرنامج حسب الفئة

بمجرد تحديث النظام، فقد حان الوقت لـ قم بتثبيت جميع البرامج التي تحتاجهالتجنب فوضى البرنامج النصي، يُنصح بتصنيف الحزم إلى مجموعات منطقية وكتابة تعليقات واضحة. قد يتضمن المخطط النموذجي فئات مثل هذه:

  • خدماتأدوات النظام، والضواغط، والشاشات، وما إلى ذلك.
  • الإنترنتالمتصفحات، وبرامج البريد الإلكتروني، والرسائل.
  • ألعابستيم، لوتريس، الألعاب الأصلية، إلخ.
  • من / المكاتب: البيئات الرسومية والمكونات الإضافية.
  • Multimediaمشغلات الفيديو والصوت، وبرامج تحرير الصور.
  • إنتاجيةبرامج مكتبية، تطبيقات لتدوين الملاحظات، برامج إدارة المهام.
  • تنمية: المترجمات، بيئات التطوير المتكاملة، أدوات تصحيح الأخطاء.

يمكنك إضافة تعليقات إلى هذه الأقسام في البرنامج النصي، مما يسهل تحديد موقع كل قسم. شيء من هذا القبيل:

# Utilidades
# Desarrollo
# Internet
# Juegos
# DE's y WM's
# Multimedia
# Productividad

أسفل كل قسم مُعلّق، أضف أوامر التثبيت المناسبة لتوزيعتك. على نظام يعتمد على قوس لينكسيمكنك الحصول على شيء كهذا:

sudo pacman -S chromium
sudo pacman -S steam
sudo pacman -S gnome-shell gnome-extra

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

قم بتشغيل البرنامج النصي واتبع أفضل الممارسات

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

cd /ruta/del/script && ./install.sh

خيار آخر بسيط للغاية لمستخدمي أوبونتو أو ديبيان هو استدعاء باش مباشرة حول الملف:

bash nombre-script.sh

لتجنب الحاجة إلى انتظار التأكيدات، تستخدم العديد من أوامر التثبيت المعلمة -y (أو ما يعادله) الذي يقبل السؤال "هل تريد المتابعة؟" افتراضيًا. بهذه الطريقة يمكن للبرنامج النصي يُنفذ من البداية إلى النهاية دون تدخلوهذا أمر مريح عندما تقوم بتشغيله مباشرة بعد تثبيت النظام وتتركه يقوم بالتحديثات والتثبيتات والتنظيف أثناء قيامك بشيء آخر.

مثال عملي لبرنامج نصي لما بعد التثبيت في أوبونتو

برنامج نصي لما بعد التثبيت في أوبونتو

في سيناريو نموذجي مع أوبونتو 22.04 LTS أو أحدثمن المنطقي إنشاء برنامج نصي يجمع بين APT و Snap، لأن بعض التطبيقات لا تتوفر إلا كحزم Snap. مثال على سير العمل: التحديث، تثبيت الحزم القياسية، تنظيف النظام، تثبيت حزم Snap الرئيسية، تفعيل جدار الحماية، وتطبيق بعض التحسينات على سطح المكتب.

قد يحتوي الهيكل الأساسي البسيط لهذا النوع من البرامج النصية على كتل مثل هذه:

#!/bin/bash

تحديث قائمة الحزم
تحديث sudo apt

سيتم تثبيت التحديثات المتاحة دون طلب ذلك
sudo apt -y الترقية

# إزالة الحزم التي لم تعد مطلوبة وتنظيف النظام
sudo apt -y autoremove
sudo apt autoclean

# تثبيت التطبيقات الشائعة عبر APT
sudo apt -y install vlc gimp clamav chkrootkit lynis

# قم بتثبيت التطبيقات الشائعة مثل سناب شات
sudo snap install chromium brave

# تفعيل جدار الحماية UFW (جدار حماية نواة لينكس)
sudo ufw تمكين

اضبط سلوك شريط أدوات جنوم
gsettings set org.gnome.shell.extensions.dash-to-dock click-action 'minimize'

مع شيء صغير الحجم لدرجة أنك تغطي تحديثات، وتنظيف، وبرامج أساسية، وأمان، وتحسينات طفيفة في سهولة الاستخدامبالطبع، يمكنك توسيع هذا البرنامج النصي حسب رغبتك: إضافة تثبيت أدوات التطوير، وتكوين النسخ الاحتياطي، والبرامج النصية التي تقوم بتنزيل ملفاتك المخفية من Git، وما إلى ذلك.

استخدم أدوات متقدمة مثل: Ansible و Chef وما شابهها

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

يلجأ بعض المستخدمين الذين سئموا من القيام بنفس عملية التكوين بعد التثبيت في أوبونتو إلى أنظمة إدارة التكوين هذه أو المشاريع الجاهزة. خدمات ما بعد التثبيت الخاصةومن الأمثلة الواقعية على ذلك مستودع مخصص لأتمتة ما بعد التثبيت في أوبونتو، حيث يتم دمج نصوص باش مع تعريفات الحزم والسمات والخطوط والتفضيلات الأخرى.

ومع ذلك، يظل الحل الأكثر عملية بالنسبة للعديد من صناديق أجهزة الكمبيوتر المكتبية هو سكربت باش بدون تبعيات خارجيةخاصة إذا كنت تبحث عن شيء يسهل نقله على محرك أقراص USB أو يمكنك نسخه إلى جهاز مثبت حديثًا دون الحاجة إلى إعداد بنية تحتية إضافية.

التشغيل الآلي من داخل برنامج التثبيت نفسه: نصوص %post و Kickstart

في عالم توزيعات الأنواع ريد هات، سنت أو إس، روكي والمشتقات، من الشائع جدًا استخدامها ركلة البداية للتثبيتات غير المراقبة. يمكن تحديد قسم داخل ملف Kickstart. %post والذي يتم تشغيله تلقائيًا عند اكتمال تثبيت النظام الأساسي.

الفكرة هي أنه إذا كنت قد حددت إعدادات الشبكة في برنامج Kickstart نفسه، عند دخولك قسم ما بعد التثبيت، ستجد الشبكة جاهزة للعمل. هناك يمكنك إدخال أي أمر ترغب في أتمتته: تثبيت حزم إضافية، تعديل الإعدادات، تنزيل البرامج النصية، تغيير رسائل النظام، إلخ.

كمثال بسيط، يمكن للمرء أن يغير رسالة اليوم (MOTD) من النظام المثبت حديثًا عن طريق وضعه في القسم %post شيء مماثل لما يلي:

%post
echo "Bienvenido a tu nuevo servidor" > /etc/motd
%end

هذا النهج المتمثل في تضمين برنامج نصي لما بعد التثبيت في برنامج التثبيت هو فعال للغاية لعمليات النشر واسعة النطاقبما أن العملية بأكملها تلقائية بنسبة 100٪: يبدأ التثبيت، ويتم تطبيق الأقسام والحزم الأساسية، ويتم تنفيذ البرامج النصية لما بعد التثبيت، ويكون النظام جاهزًا للاستخدام.

القيود عند تكرار عمليات التثبيت بين توزيعات غير متجانسة

عندما تحاول استخدام آلية عامة واحدة لما بعد التثبيت لـ توزيعات مختلفة للغايةوهنا تبدأ المشاكل. فليس جميعهم يديرون التحديثات والتبعيات والتصحيحات بنفس الطريقة، كما أنهم لا يقدمون نفس إصدارات البرامج في مستودعاتهم.

يجب أن نميز، من جهة، نصًا يقتصر على تعداد حزم للتثبيت ويتيح ذلك لمدير تبعيات التوزيعة حل التبعيات (مثل apt-get أو أدوات مثل zypper وdnf وurpmi)، ومن ناحية أخرى، نظام يهدف أيضًا إلى التعامل مع تحديثات الأمان، والإصدارات القديمة، والإصدارات الجديدة من البرامج التي لا توفرها النسخة الأصلية من التوزيعة.

في توزيعة مثل ديبيانمع وجود آلاف الحزم ونظام بيئي واسع، يتولى برنامج التثبيت وأدوات مثل apt إدارة تبعيات البرامج التي تُديرها التوزيعة نفسها. أما في التوزيعات الأخرى، وخاصة التجارية منها، فالفلسفة مختلفة: إذ تُقدم لك مجموعة الحزم والتحديثات التي اختارت دعمها، وما عدا ذلك، تدخل عالمًا حيث... لا يُضمن حل التبعيات والتحديثات.

مثال توضيحي: في SuSE 8.2 في السابق، إذا أردتَ تحديث PostgreSQL باستخدام apt إلى إصدار أحدث من الإصدار الأصلي للتوزيعة، ستجد أن apt سيطلب منك أولاً الإصدار الموجود على الأقراص المدمجة الرسمية. كان عليك الدخول إلى YaST، واختيار الحزمة الأصلية للتثبيت من القرص المدمج المناسب، وعندها فقط سيقبل apt التحديث الإضافي من مستودعاته. هذه الأنواع من المشاكل تجعل من الصعب الحصول على أداة واحدة تعمل دون تدخل في جميع الحالات.

تثبيت تطبيقات لينكس على نظام ويندوز 11 باستخدام WSL2
المادة ذات الصلة:
كيفية تثبيت وتكوين نظام ويندوز الفرعي لنظام لينكس 2 (WSL2)

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

بالإضافة إلى ذلك، نتحدث عن مزارع الآلات غير المتجانسةمع اختلاف مواصفات الأجهزة والبرامج، يزداد التعقيد بشكل كبير. لكي تعمل أداة النسخ المتماثل العامة بعد التثبيت بشكل جيد عبر توزيعات مختلفة، أو أنت تقوم بتجميع وصيانة جميع الملفات الثنائية والتصحيحات والتبعيات لكل توزيعة بنفسك.أو تحتاج إلى أن توفر التوزيعات نفسها دعمًا رسميًا لهذا النظام الموحد، وهو أمر غير مرجح في السياق التجاري الحالي.

البرامج النصية لما بعد التثبيت في البيئات المخصصة و LFS

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

اتباع دليل LFS مفصل أو اتباع منهج تعليمي أكثر تفصيلاً سيساعدك على فهم النظام من أدنى طبقاته: المترجمات، والروابط، ومكتبات لغة C، والصدفة، والأدوات الأساسية، وصولاً إلى النواة وعملية الإقلاع باستخدام GRUB. قد تستغرق هذه العملية وقتاً طويلاً. عدة أيام (بين 3 و 5 أيام بسهولة)يتطلب الأمر الصبر ومستوى معيناً من إدارة أنظمة يونكس، ولكنه في المقابل يمنحك تحكم كامل في ما يتم تركيبه وكيفية تجميع النظام.

في حالة واقعية باستخدام دبيان كنظام مضيف داخل جهاز افتراضي في فيرتثلبوإكستبدأ العملية بإنشاء جهاز افتراضي بقرص بسعة 30 جيجابايت على سبيل المثال، وتثبيت نظام التشغيل Debian 10 كأساس، وضبط المستودعات بدقة في /etc/apt/sources.list للوصول إلى حزم البناء (build-essential, linux-headers-amd64إلخ.) ثم قم بتثبيت إضافات VBoxLinux لتحقيق التكامل الكامل مع المضيف.

بمجرد أن يصبح النظام الأساسي مريحًا للعمل معه (وضع ملء الشاشة، وحل تبعيات التجميع)، محرك الأقراص الظاهري الثانيسيتم تثبيت نظام لينكس الجديد المخصص على هذا القرص الثاني، ذي الحجم الثابت أيضاً. هذا القرص الثاني مُقسّم من نظام ديبيان (على سبيل المثال). /dev/sdb) باستخدام أدوات مثل افترقنايتم تعريف جدول تقسيم من نوع msdos ويتم إنشاء الأقسام الأساسية والمنطقية (الجذر، التبديل، /home) باتباع مخطط مشابه لمخطط القرص الأول.

ثم يتم تهيئة هذه الأقسام باستخدام أنظمة الملفات المناسبة، ويتم الحصول على محتوياتها. UUID مع المرافق مثل blkid وتتم إضافة الإدخالات إلى /etc/fstab من النظام المضيف لتثبيتها في نقاط مثل /mnt/lfs, /mnt/lfs/home وتمكين مقايضةومن هناك، يتم بناء الهيكل الأساسي، ودلائل مثل $LFS/sources y $LFS/toolsيتم تنزيل قائمة طويلة من الحزم مع wget باستخدام ملف wget-list ويتم إنشاء مستخدم مخصص، على سبيل المثال lfs، معه .bash_profile y .bashrc مُكيَّف مع بيئة التجميع.

وتستمر العملية بـ فاحص (برنامج نصي للتحكم في الإصدارات) يتحقق من وجود جميع الأدوات اللازمة (Bash، Binutils، GCC، إلخ)، وفي كثير من الحالات يقوم بتثبيت كل من الحزمة الرئيسية وإصدار التطوير الخاص بها (ديف o - المستوىكما يتم إنشاء روابط رمزية رئيسية، مثل صنع /bin/sh قم بتوجيهه إلى Bash، وسيتم تجميع الحزم مثل هذه واحدة تلو الأخرى. binutils، gcc، glibc، tcl، expect، dejagnu، m4، ncurses، bison، bzip2، coreutils، diffutils، file، findutils، gawk، gettext، grep، gzip، make، patch، perl، Python، sed، tar، texinfo، xz وغيرها الكثير، في جولتين (سلسلة أدوات مؤقتة وسلسلة أدوات نهائية داخل chroot).

عادةً ما يتم تنظيف المسار رموز تصحيح الأخطاء تُزال المكتبات غير الضرورية لتوفير المساحة، وتُحذف المكتبات الثابتة غير الأساسية، ويتم تعديل سلسلة الأدوات بحيث تستخدم جميع الإصدارات الجديدة المكتبات المثبتة حديثًا، ويتم الدخول إلى بيئة التشغيل. الاستجذار خطة /dev, /proc, /sys, /run وإنشاء عقد مثل /dev/console y /dev/null.

يتم إنشاء شجرة الدليل القياسية داخل بيئة chroot (/bin, /sbin, /usr, /var, /etc...)، يتم إنشاء روابط رمزية مؤقتة للبرامج غير الموجودة بعد، ويتم تهيئتها. / الخ / باسود y / etc / group باستخدام مستخدم جذر بسيط، ويتم إعداد ملفات السجل في /var/log مع منح الصلاحيات الصحيحة. تم أيضًا تكوين ما يلي: محلي بأدوات مثل locale-gen أو ما يعادلها، يتم تحديد المنطقة الزمنية باستخدام tzselect ويتم إنشاء رابط من /etc/localtime إلى المنطقة المختارة في /usr/share/zoneinfo.

ومن العناصر الحاسمة الأخرى تكوين nsswitch.conf بحيث تعمل خدمات تحليل أسماء النطاقات وغيرها من الخدمات بشكل جيد على الشبكة، و ld.so.conf زمرة من ldconfig لتسجيل مسارات المكتبات الديناميكية الجديدة. ثم، باستخدام مكتبة glibc والمترجمات النهائية، تُعاد ترجمة الحزم الرئيسية لضمان ربط كل شيء بشكل صحيح.

بالتوازي مع ذلك، يتم تكوين الوصول إلى الشبكة على النظام الجديد: يتم إنشاء الملفات. /etc/sysconfig/ifconfig.eth0 (أو اسم الواجهة المقابل)، يتم تحديد عنوان IP والبوابة والقناع، ويتم إنشاء ما يلي: / الخ / resolv.conf مع خوادم نظام أسماء النطاقات المناسبة، وقد تم إصلاحها. اسم المضيف y / الخ / المضيفين مع معلومات الجهاز.

يتم أيضًا تكوين البرامج النصية وملفات التمهيد على النحو التالي: / الخ / inittab, / etc / sysconfig / clock, / etc / sysconfig / console y /etc/sysconfig/rc.siteحيث يتم تعديل تفاصيل مثل مستوى التشغيل الافتراضي، ومعالجة سجل النظام، ولغة وحدة التحكم، وتخطيط لوحة المفاتيح، وسلوك الخدمة عند بدء التشغيل.

تجربة شل مصممة خصيصًا / etc / profile وملفات من النوع ~ / .bash_profile y ~ / .bashrc، بالإضافة إلى / الخ / المدخلات لمكتبة Readline (التحكم في اختصارات لوحة المفاتيح، وسلوك سجل الأوامر، وما إلى ذلك). أ / الخ / قذائف مع قائمة الأصداف الصالحة و / الخ / fstab تم تكييفها مع الأقسام الجديدة (الجذر، المنزل، التبديل، /boot إذا كان موجودًا).

الخطوة التالية هي تجميع نواة لينكسيتم فك ضغط النسخة المختارة (على سبيل المثال، أ) linux-5.x.y)، بدءًا من ملف التكوين الأساسي، تتم مراجعة الخيارات الرئيسية مثل CONFIG_DEVTMPFS وغيرها من الأمور المتعلقة بـ udev وأجهزة الجهاز الظاهري، تدخل إلى قائمة التكوين (make menuconfig) لتعديل اسم المضيف الافتراضي والعديد من الميزات، وأخيراً يتم تجميعه (make, make modules_install) ويتم تثبيت النواة ومكوناتها في /boot.

تتمثل الخطوة الأخيرة عادةً في التثبيت والتكوين GRUB كبرنامج تحميل الإقلاع. يتم تنفيذ الأوامر لكتابة GRUB إلى سجل الإقلاع الرئيسي (MBR) للقرص الصحيح، مما يؤدي إلى إنشاء grub.cfg مع إدخالات النواة الجديدة، وإذا أمكن، للأنظمة الأخرى الموجودة. في هذا السياق تحديدًا، نظرًا لأن توزيعة دبيان المضيفة استُخدمت فقط كـ"هيكل"، فسيتم إزالة قرصها الظاهري في النهاية من الجهاز، بحيث يصبح القرص الذي كان موجودًا في البداية /dev/sdb يحدث أن تكون / ديف / حزب العمل الديمقراطي ويتم تشغيل نظام لينكس الجديد تلقائيًا.

عندما يتم تجهيز كل شيء، يتم إنشاء ملفات تعريفية مثل: /etc/lsb-release y / etc / os-release مع اسم التوزيعة الجديدة (على سبيل المثال "S4viOS")، باشرك مريح للمستخدمين الجذر والمستخدمين المستقبليين، ويتم إجراء عملية فصل نهائية لنظام الملفات قبل اللحظة الحاسمة: إعادة تشغيل الجهاز الظاهري، واختيار الإدخال المقابل في GRUB، ورؤية كيفية تشغيل نظام لينكس الذي قمت ببنائه من الصفر لأول مرة.

متى يكون الأمر يستحق بذل كل هذا الجهد، ومتى يكون نص بسيط كافياً؟

كيفية استخدام برنامج Ventoy لإصلاح USB
المادة ذات الصلة:
خطوات إنشاء قرص USB متعدد الإقلاع قابل للتشغيل باستخدام Ventoy

هذه الرحلة بأكملها، من برنامج نصي بسيط لـ APT أو pacman حتى عند إعداد نظام LFS باستخدام نواة مخصصة وGRUB، فإنه يوضح بوضوح نطاق الإمكانيات المتاحة لديك في Linux عندما يتعلق الأمر بأتمتة ما بعد التثبيت.

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


أضف كمصدر مفضل