التجميع على لينكس: 3 خطوات لإنشاء الملفات الثنائية 🔥
الملخص الرئيسي
- تتبع معظم البرامج عملية مكونة من 3 خطوات للتجميع من الكود المصدر:
./configure && make && make install
. - النص تكوين التحقق من التبعيات، يصنع يُنشئ الملف القابل للتنفيذ، وأدوات مثل autoconf/automake أتمتة هذه العملية.
- عادةً ما يكون التثبيت اختياريًا، مما يجعل من الأسهل تشغيل الأوامر المنسوخة في الدلائل الموجودة في
طريق
من النظام.
قد يبدو التجميع من الكود المصدر أمرًا مخيفًا مقارنة باستخدام مديري الحزم، ولكن باستخدام ثلاثة أوامر أساسية، تكون العملية بسيطة ومباشرة. 🚀
ما هو التجميع من الكود المصدر؟
البرامج التي تستخدمها قابلة للتفسير أو التجميع. البرامج المُفسَّرة هي ملفات نصية تحتوي على شيفرة برمجية ينفذها برنامج آخر (المفسِّر) آنيًا. أما البرامج المُجمَّعة، فهي ملفات ثنائية تحتوي على شيفرة آلية جاهزة للتنفيذ.
الملفات التنفيذية المُجمّعة شائعة جدًا، خاصةً في البرامج الكبيرة. عند التجميع من الكود المصدر،sas مترجم مثل مجلس التعاون الخليجي
تحويل الكود إلى برنامج قابل للتنفيذ، والذي يتم توزيعه عادةً عبر ملفات متعددة.

يمكن أن تكون عملية التجميع واسعة النطاق ومعقدة، ولهذا السبب يتم أتمتتها عادةً باستخدام برامج مثل يصنع
. الملفات ملفات Makefiles التحكم في كيفية بناء الملف التنفيذي النهائي.
في المشاريع الكبيرة، هذه ملفات Makefiles يمكن أن تكون معقدة للغاية بحيث يتم إنشاؤها تلقائيًا باستخدام أدوات مثل التثبيت التلقائي و صناعة السيارات لضمان التوافق بين مختلف المعماريات. 🛠️
عملية البناء المكونة من 3 خطوات: التكوين، الإنشاء، التثبيت
تستخدم معظم البرامج هذا النمط الأساسي للتجميع من الكود المصدر:
./configure && make && make install
تستخدم البرامج الشائعة مثل Apache هذا التسلسل (أو بعض المتغيرات)، مثل يشرح ملفه ثَبَّتَ:

يتبع Node.js أيضًا هذا الهيكل، كما هو موضح في ملف BUILDING.md الخاص به:

قد يحتوي كل مشروع على اختلافات طفيفة عن سلسلة الأوامر هذه. استخدم عامل AND المنطقي (&&
) يوقف العملية إذا فشلت أي خطوة:
./configure && make && make install
أو يمكنك تشغيل كل أمر على حدة على سطر واحد باستخدام فاصلة منقوطة، على الرغم من أن هذا سيؤدي إلى تشغيل جميع الأوامر دون توقف في حالة فشل أي منها:
./configure; make; make install
يمكنك أيضًا القيام بالخطوط الثلاثة بشكل منفصل:
./configure make make install
إذا كنت تريد فقط تجربة البرنامج دون تثبيته، يمكنك تخطيه قم بالتثبيت
وتشغيله من مجلده.
تكوين
جاهز، بينما تتطلب أدوات أخرى (مثل grep) تشغيل نص برمجي آخر أولًا لتوليده. ارجع دائمًا إلى ملف التثبيت، أو البناء، أو القراءة (README) لاتباع توصيات المشروع. 📋كيف يبدأ ./configure العملية
النص تكوين
إنها نقطة البداية لعملية التجميع، وتكييف المشروع مع بيئتك.
يتحقق هذا البرنامج النصي من التبعيات المطلوبة للمشروع، ويتحقق من الإصدارات والتوافر. عند اكتماله، يُنشئ ملفًا باسم ملف Makefile
للمرحلة القادمة.
النص تكوين
يقدم العديد من الخيارات القابلة للتكوين مع ./configure --help
، مما يسمح لك بتخصيص تفاصيل البناء.
تكوين
مثل يصنع
توليد الكثير من المخرجات على الشاشة. استخدم الخيار --هادئ
إذا كنت تريد تشغيل هذه الأوامر دون إظهار الكثير من التفاصيل. 🤫إذا كان النص مفقودًا تكوين
تتضمن بعض المشاريع نصًا مثل autogen.sh
لتوليده. على سبيل المثال، يستخدمه htop:

قد لا تحتوي المشاريع البسيطة جدًا أو المشاريع المكتوبة بلغات أخرى على تكوين
. هناك تتم العملية في خطوتين: جعل && جعل التثبيت
.
النص تكوين
كما أنه يتحكم في تفاصيل التثبيت، مثل المعلمة --بادئة
، الذي يحدد دليل جذر التثبيت. افتراضيًا، يكون /usr/local
، ولكن يمكنك تغييره لتنظيم ملفاتك بشكل أفضل.
يجعل معظم العمل
بعد تكوين
يولد ملف Makefile
يبدأ التجميع الفعلي للبرنامج بـ يصنع
.
يقوم هذا البرنامج بقراءة ملف Makefile
ويتبع القواعد لتحديد الملفات التي سيتم إنشاؤها أو تحديثها. ملفات Makefiles
تعتبر النصوص المكتوبة بخط اليد سهلة الفهم بالنسبة لأولئك الذين يعرفون قواعد النحو.
على سبيل المثال هذا واحد ملف Makefile
يقوم البرنامج البسيط بتجميع برنامج يعتمد على الملف برنامج ج
:
البرنامج: program.c gcc -o program program.c
يصنع
التحقق مما إذا كان برنامج ج
تغيرت منذ آخر تجميع. إذا لم تتغير، فلا تفعل شيئًا؛ إذا تغيرت، فقم بالتجميع باستخدام مجلس التعاون الخليجي
.

ال ملفات Makefiles
عادةً ما تكون البيانات المُولَّدة تلقائيًا أكثر تعقيدًا. على سبيل المثال، ملف Makefile
يحتوي htop على 2,440 سطرًا:

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

يعد هذا مفيدًا للاختبار، ولكن على المدى الطويل، ستحتاج إلى تثبيته في مكان يسهل الوصول إليه.
الهدف ثَبَّتَ
الذي يحدد ملف Makefile
انسخ الملفات المطلوبة واضبط الأذونات. الموقع الافتراضي هو /usr/local/bin
على الرغم من أنه يمكنك تغييره باستخدام --بادئة
.
إذا لم يكن لديك أذونات لهذا المجلد، قم بتشغيل sudo make install
ويوفر كلمة مرور المسؤول.
يجب تضمين دليل التثبيت في المتغير الخاص بك طريق
لكي تتمكن من تشغيل البرنامج بمجرد اسمه، دون تحديد المسار الكامل.