يعد تثبيت التطبيقات خطوة أساسية لكل مستخدم لأي نظام تشغيل، وفي عالم توزيعات نظام لينكس – كما هو الحال مع كل نظام تشغيل- هناك أكثر من أسلوب أو طريقة لتثبيت التطبيقات، تتعلق بشكل الحزمة التي طور خلالها التطبيق، وطريقة تجميعه .وقد يقوم كل فريق تطوير بتسليم برامجه بطريقة مختلفة تبدو له الأفضل أثناء التطوير . في لينكس توجد عدة أشكال وطرق لتثبيت التطبيقات تعتمد على طريقة تطويرها وحزمها وتوفيرها من المطورين، لكن على اعتبار أن لينكس وأغلب تطبيقاته مفتوحة المصدر -توفر الكود البرمجي- يكون بالنتيجة تثبيت التطبيقات معتمداً على المصدر متاحاً في كل توزيعات لينكس، بل وفي أنظمة التشغيل الأخرى أيضاً، كويندوز وغيره.
في هذه المقالة سنشرح الطرق الأساسية لتثبيت تطبيقات لينكس بشكل حزم جاهزة، من مستودعات لينكس الأساسية، وأيضا بإعادة تجميعها من الكود المصدري لها .
ما هو مدير الحزم، ونظام إدارة الحزم؟
مدير الحزم هو تطبيق يدير وظيفة أتمتة عملية تثبيت البرامج وترقيتها وتكوينها وإزالتها في أنظمة لينكس، الحزمتان الأكثر شيوعًا من أنظمة الإدارة تتبعان توزيعتي RedHat أو Debian. أغلب توزيعات لينكس مبنية على احدي التوزيعتين الرئيسيتين السابقتين. يستخدم كل من RedHat و CentOS و Fedora ملفات rpm ، بينما تستخدم Debian و Ubuntu و Mint و جينتو (ملفات .deb).
يتمثل الاختلاف الأساسي بين هذه الأنظمة في كيفية تثبيت التطبيقات وصيانتها. قد تتساءل عما يوجد داخل ملف .rpm أو .deb أو .tar. في الحقيقة جميعها ليست أكثر من ملفات أرشيف قديمة عادية (مثل .zip) تحتوي على ملف كود التطبيق، وتعليمات حول كيفية تثبيته، والتبعيات (التطبيقات أو المكتبات الأخرى التي قد يفعلها أو يتطلبها)، ومكان وضع ملفات التكوين الخاصة به ضمن شجرة أدلة النظام. البرنامج الذي يقرأ وينفذ كل هذه التعليمات يسمى مدير الحزم.
مستودع البرامج ؟
لأكثر من عقد من الزمان، استخدم Linux مستودعات البرامج لتوزيع وتثبيت البرامج وتحديثاتها. يمكن توصيف وتعريف “المستودع” في هذا السياق بأنه خادم عام يستضيف حزم برامج قابلة للتثبيت، وعادة ما يكون بشكل واجهة رسومية تسمح باستعراض التطبيقات والبرامج المتاحة ومن ثم اختيار المحدد منها للتثبيت أو الإزالة، تكون هذه البرامج على خادم أو مجموعة خوادم موزعه متصلة بالإنترنت، يتم تحميل البرنامج من الخادم ويثبت على جهاز الكمبيوتر الخاص بك.
تمتلك حالياً كل توزيعة لينكس مستودعات افتراضية لتركيب البرامج مع دعم كامل -تم اختبارها-. إضافة لهذه المستودعات الافتراضية المخصصة من ناشر التوزيعة، هناك مستودعات أخرى خارجية يمكنك إضافتها إلى نظامك بنفسك حسب رغبتك وحاجاتك. بمجرد إضافة مستودع طرف ثالث، يمكن تثبيت أي حزمة برامج Linux موجودة داخل هذا المستودع على النظام بذات طريقة تثبيتها من المستودع الرسمي.
فكرة مستودع البرامج أصبحت شائعه لأنظمة التشغيل الأخرى بما فيها تلك المغلقة Windows,Apple إضافة إلى Android. وكل أنظمة التشغيل تستخدم اليوم مستودعات على شكل متاجر أو غيرها للتطبيقات والألعاب .
يتيح مستودع البرامج في لينكس تثبيت أي تطبيق إما من الواجهة الرسومية مباشرة أو من محرر الأوامر. سيتطلب التثبيت في الحالتين صلاحيات المستخدم الجذر، عبر الواجهة الرسومية سيطلب منك كلمة المرور، أو عبر محرر الأوامر باستخدام الأمر sudo عادة لإدخال كلمة المرور والحصول على صلاحيات الجذر.
بشكل عام لتنصيب تطبيق عبر محرر الأوامر لتطبيق متوفر في المستودع الشكل التالي :
$ sudo dnf install inkscape او $ sudo apt install inkscape
يعتمد الأمر الفعلي الذي تستخدمه على توزيعة Linux التي تستخدم فمثلا:
- Red Hat ، Fedora ، CentOS* يستخدم dnf.
- يستخدم OpenSUSE zypper.
- يستخدم Slackware التعليمة sbopkg .
- يستخدم NetBSD التعليمة spkgin .
في المثال أعلاه نطلب تنصيب برنامج رسومي inkscape عبر سطر ألأوامر , مرة بتوزيعة فيدورا والسطر الثاني في ديبيان أو ابونتو والتوزيعات المبنية عليهما.
يمكن التنصيب عبر الواجهة الرسومية دون استخدام محرر الأوامر, لنبحث مثلا عن تطبيقات math على سبيل المثال :
لتنصيب scilab cli (برنامج مفتوح المصدر ومجاني يشبه Matlab)، نختاره ونطلب تثبيته، سيطلب منا كلمة مرور المدير، ومن ثم يقوم بتحميل التطبيق وتنصيبه.
إدارة تثبيت وحذف التطبيقات من سطر الأوامر.
سنشرح أوامر التثبيت معتمدين توزيعتي ديبيان والتوزيعات المبنية عليها ,كما سنشرح أوامر التثبيت المقابلة على فيدورا أو ريدهات والتوزيعات المستندة عليها.
1- Debian و Ubuntu و Mint و Kali وغيرها.
تستخدم توزيعات Debian و Ubuntu و Mint والتوزيعات الأخرى المستندة إلى Debian ملفات .deb و dpkg في نظام إدارة الحزم،
هناك طريقتان لتثبيت التطبيقات,حيث يمكنك استخدام التطبيق المناسب للتثبيت من مستودع الحزم عبر apt ،أو يمكنك استخدام تطبيق dpkg لتثبيت التطبيقات من ملفات .deb. لتثبيت تطبيق عبر apt نستخدم صيغة الأمر التالي:
$ sudo apt install app_name
يعد إلغاء تثبيت تطبيق عبر apt أمرًا سهلاً للغاية وفق شكل التعلمية التالي:
$ sudo apt remove app_name
لترقية تطبيقاتك المثبتة ، ستحتاج أولاً إلى تحديث مستودع التطبيقات:
$ sudo apt update
بمجرد الانتهاء ، يمكنك ترقية أي تطبيقات تحتاج إلى التحديث بما يلي:
$ sudo apt upgrade
إذا كنت ترغب بتحديث تطبيق دون تحديث كل النظام – اختصارا للوقت – اتبع الشكل التالي للأمر:
$ sudo apt update app_name
لنفترض أن التطبيق الذي تريد تثبيته غير متوفر في مستودع دبيان، ولكنه متاح كملف .deb. للتحميل يمكنك تثبيته يدويًا باستخدام dpkg، إما بالنقر عليه مرتين من الواجهة الرسومية أو عبر سطر الأوامر كالتالي:
$ sudo dpkg -i app_name.deb
2-RHEL, CentOS, Fedora, Mageia, و OpenMandriva
التعليمة dnf تشبه apt بمعنى أن الآليات وطريقة الاستخدام والأهداف هي ذاتها .
لتثبيت تطبيق:
$ sudo dnf install app_name
إزالة التطبيقات غير المرغوب فيها بنفس السهولة:
$ sudo dnf remove app_name
تحديث التطبيقات:
$ sudo dnf upgrade --refresh
لتثبيت حزمة تطبيق يدويا بعد تحميلها من الإنترنت يمكن على سبيل المثال استخدام السطر التالي:
$ sudo dnf install ./app_name.rpm
تجميع البرامج وتثبيتها من المصدر
على الرغم من أن Linux بأغلب توزيعاته يوفر مدير حزم يجعل تثبيت البرامج أسهل بكثير، إلا أنك قد ترغب أحيانًا بإنشاء وتجميع وتثبيت حزمة من المصدر بنفسك.
إن أحد مزايا كون البرنامج مفتوح المصدر، هو قدرة المستخدم إصلاح خطأ Fix في حزمة برامج بنفسه طالما أنه يملك المعرفة الكافية. إصلاح خطأ ما-ثغرة- أو تعديل حزمة لتلبية احتياجاتك هذا ما يكسِب عالم المصادر المفتوحة تميزها وسمعتها عبر آلية تطويرها المبدعة هذه .
معظم حزم تطبيقات توزيعات Linux مجانية ومفتوحة المصدر، هذا يعني حرية تخصيص أو تعديل أي برنامج حسب رغبتك. بالإضافة إلى ذلك، أنت أيضًا حر في إلقاء نظرة على الكود المصدري لحزم Linux للتعلم والتطوير وربما تكوين مشاريع برمجية أخرى.
توفر كل تطبيقات المصدر المفتوح الكود البرمجي الذي يتيح تجميع Compile التطبيق أو تعديله وتطويره وفق الترخيص المحدد. يمكن تثبيت أي تطبيق عبر تجميع Compile اعتمادا على الملفات المصدرية في لينكس، والإجرائات تتألف من ثلاث خطوات أساسية:
$ ./configure $ make $ sudo make install
الخطوة الأولى: تثبيت الأدوات المطلوبة
إذا كانت المرة الأولى التي تقوم فيها بالتجميع Compile ,قد تحتاج خطوة تحضيرية لمرة واحدة لتثبيت ملف أوامر لبناء البرمجيات. على وجه التحديد ، أنت بحاجة إلى مترجم. تتم كتابة معظم برامج Linux بلغات البرمجة C أو C ++ ، لذلك ستحتاج إلى مترجم C أو C ++. على سبيل المثال ، GNU Compiler Collection (GCC) و CMake و LLVM لبناء الحزمة الخاصة بك.
من الجيد دائمًا إلقاء نظرة على ملفات README.md أو INSTALL لأنها تتضمن عادة معلومات حول كيفية تجميع الحزمة وتثبيتها نوع المترجم المناسب . توجد هذه الملفات عادةً في المجلد الجذر لشفرة المصدر،وبالنتيجة يحول شفرة المصدر التي تبدو كالتالي إلى لغة الآلة:
#include <isotream> using namespace std; int main() { cout << "hello world"; }
يمكنك الحصول على مترجم GNU C (GCC) ومترجم LLVM ،عبر الأمر التالي في توزيعات Fedora و CentOS و Mageia والتوزيعات المماثلة :
$ sudo dnf install @development clang
في توزيعات Debian و Ubuntu و Elementary و Mint والتوزيعات المعتمدة على .deb:
$ sudo apt install build-essential clang
من الجيد عادة توفر حزم أخرى مثل curl و gettext. اعتمادًا على توزيعة Linux الخاصة بك ، يمكنك تثبيت الأدوات المطلوبة في أمر واحد على النحو التالي:
في التوزيعات المستندة إلى Debian مثل Ubuntu:
$ sudo apt install libz-dev libssl-dev libcurl4-gnutls-dev libexpat1-dev gettext cmake gcc curl
في التوزيعات المستندة إلى مثل Fedora و RHEL وما إلى ذلك:
$ sudo dnf install dh-autoreconf curl-devel expat-devel gettext-devel openssl-devel perl-devel zlib-devel gcc curl cmake
الخطوة 2: تنزيل كود مصدر الحزمة
معظم الحزم التي يمكنك تجميعها تكون متاحة للتنزيل على الموقع الرسمي للحزمة المعنية. يمكنك تنزيل ملفات التعليمات البرمجية المصدر باستخدام أداة سطر الأوامر curl. بدلاً من ذلك ، يمكنك استخدام wget أو واجهة المستخدم الرسومية.
سنقوم في هذا الدليل، على سبيل المثال بتثبيت تطبيقين VLC برنامج الملتميديا الشهير، وحزمة Git التي تستخدم على نطاق واسع بين مهندسي ومطوري البرمجيات. سنقوم بتحميل VLC بشكل يدوي من المتصفح، بينما سنقوم بتحميل Git عبر سطر الأوامر كالتالي:
$ curl --output git.tar.gz https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.38.1.tar.xz
بعد اكتمال التنزيل، سيتوجب عليك فك الضغط في دليل ما تختاره، توجد عدة طرق لفك الضغط منها استخدام الأمر التالي :
$ tar -zxf git-2.38.1.tar.gz
الخطوة 3: تجميع شفرة المصدر
بعد استخراج الملفات المضغوطة، الخطوة التالية هي الانتقال إلى المجلد حيث تم فك الضغط,vlc-3.0.17.3 , و git-2.38.1, يمكننا الانتقال عبر سطر الأوامر التالي:
$ cd git-2.38.1
تبدأ عملية التجميع Compile. باستخدام الأوامر الثلاثة تباعا بالتتالي من ضمن المكتبة – الدليل- التي تم فك ضغط الملفات بها.
$ ./configure $ make $ sudo make install
الأمر الثاني make سينجز تجميع وبناء برنامج Git او VLC من شفرة المصدر.
يستخدم الأمر make ملف Makefile ، والذي يحتوي على إرشادات حول كيفية إنشاء حزمة البرامج. تستغرق عملية التجميع بعض الوقت اعتمادًا على قوة معالجة الكمبيوتر وحجم الحزمة.
الخطوة 4: تثبيت حزمة البرامج
هذه الخطوة الأخيرة، ستقوم بتثبيت حزمة برامج Git او VLC التي أنشأتها للتو من شفرة المصدر. يقوم هذا الأمر بتثبيت الحزمة المترجمة حديثًا عن طريق نسخ ملفات الإنشاء إلى المواقع الصحيحة على جهاز الكمبيوتر الخاص بك.
$ sudo make install
بعد اكتمال الأمر يفترض أن التثبيت تم بنجاح.
يمكن التحقق من إصدار Git أو VLC الذي قمت بتثبيته للتو باستخدام الأمر:
$ git --version $ vlc --version
هكذا يكون تم تثبيت التطبيقين المحددين من ملفات المصدر .