مقارنة بين الحزم الثنائية والحزم المصدرية: أيهما يجب أن تستخدم؟

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

مقارنة بين الحزم الثنائية والحزم المصدرية: أيهما يجب أن تستخدم؟ - لينكس

ما هي الحزم الثنائية؟

مقارنة بين الحزم الثنائية والحزم المصدرية: أيهما يجب أن تستخدم؟ - لينكس

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

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

كيف يُمكن قراءة الكود الثنائي

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

تعمل تنسيقات الحزم الأحدث والعالمية مثل Flatpak و Snap عبر توزيعات مُختلفة من Linux ، لكنها لا تزال تتكون من تطبيقات ثُنائية مُجمَّعة مُسبقًا. كلاهما يتطلب متجر تطبيقات رسومي أو مدير حزمة قائم على سطر الأوامر للتثبيت.

ما هو الكود المصدري؟

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

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

ما هو التثبيت “من المصدر”؟

مقارنة بين الحزم الثنائية والحزم المصدرية: أيهما يجب أن تستخدم؟ - لينكس

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

في معظم الأوقات ، يُمكنك تنزيل الكود المصدري للمشروع من خدمات الاستضافة مثل GitHub أو GitLab أو Bitbucket. قد تستضيف التطبيقات الأكبر حجمًا الكود المصدري على موقع ويب شخصي. عادةً ما يتم ضغط الكود بتنسيق أرشيف (يُعرف أيضًا باسم الحزمة المصدرية).

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

لكي تعمل هذه الأتمتة ، تُزوَّد التطبيقات بملف Makefile الذي يُخبرها بما يجب القيام به وطريقة الترجمة. في هذه الأيام ، عادةً ما يتم إنشاء ملف Makefile تلقائيًا بواسطة تطبيق خاص مثل CMake. هذا هو المكان الذي تتوفر عليه. من هنا ، يُمكنك تحديد الميزات التي تُريد تجميعها في تطبيقك بالضبط. تحقق من كيفية تثبيت وإعداد Snort IDS على Linux لتأمين شبكتك.

مثال على تجميع تطبيق “من المصدر”

على سبيل المثال ، يقوم الأمر أدناه بإنشاء ملف تكوين لـ Calligra Office Suite باستخدام CMake. يُخبر الملف الذي تم إنشاؤه أنَّ التطبيق يقوم فقط بترجمة مُكوِّن Writer من Calligra.

cmake -DPRODUCTSET=WORDS -DCMAKE_INSTALL_PREFIX=$HOME/kde/inst5 $HOME/kde/src/calligra

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

make

make install

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

فوائد استخدام الحزم الثنائية

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

1. الإصدارات الثنائية أسهل في إدارتها

مقارنة بين الحزم الثنائية والحزم المصدرية: أيهما يجب أن تستخدم؟ - لينكس

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

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

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

2. الإصدارات الثنائية قد حسنت الاستقرار

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

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

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

فوائد تجميع الحزم المصدرية

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

1. كود المصدر يُقدم أحدث التطبيقات

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

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

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

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

2. يُمكنك التحديد والاختيار

مقارنة بين الحزم الثنائية والحزم المصدرية: أيهما يجب أن تستخدم؟ - لينكس

فائدة أخرى لاستخدام الحزم المصدرية هي أنك تحصل على مزيد من التحكم في التطبيقات التي تقوم بتثبيتها. عند التثبيت من مستودع ثنائي ، فأنت مُقيَّد بالطرق التي يُمكنك من خلالها تخصيص حزمك.

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

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

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

لماذا لا تستخدم الحزم الثنائية والحزم المصدرية؟

بينما قد لا ترغب في تجميع الحزم على أساس يومي ، فمن المفيد أن تضعها في اعتبارك. ومع ذلك ، مع تنسيقات الحزم العامة الجديدة المُتاحة من مواقع مثل Snap Store و Flathub ، من غير المرجح أن تحتاج إلى البناء من المصدر للحصول على أحدث البرمجيات. يُمكنك الإطلاع الآن على كيفية تثبيت تطبيقات Snap في Arch Linux.

زر الذهاب إلى الأعلى