توفر معظم الأنظمة الشبيهة بيونكس آلية مركزية لإيجاد وتثبيت البرمجيات. تُوزَع البرمجيات عادة في شكل حزم، مُخزنة في مستودعات. التعامل مع الحزم يُعرَف بإدارة الحزم. توفر الحزم المكونات الأساسية لنظام التشغيل، مع المكتبات المشتركة، التطبيقات، الخدمات والوثائق.
يقوم نظام إدارة الحزم بأكثر من تثبيت البرمجيات لمرة واحدة. فهو يوفر أيضًا أدوات لترقية الحزم المثبتة حاليًا. تُساعد مستودعات الحزم على التأكد من أن الشيفرة فُحِصَت للاستخدام على نظامك، وأن المطورين والمشرفين وافقوا على نُسخ البرمجيات المُثبتة.
عند ضبط الخواديم أو بيئات التطوير، غالبًا ما يكون النظر لما وراء المستودعات الرسمية ضروريًا. فقد تكون الحزم في الإصدار المُستقر من التوزيعة قديمة، خصوصًا عندما تكون البرمجيات المعنية سريعة التغيُر. وبالرغم من هذا، فإن إدارة الحزم هي مهارة حيوية لمدراء الأنظمة والمطورين، ووفرة البرمجيات المُحزّمة للتوزيعات الرئيسية هي مورد هائل.
اُعد هذا الدّليل ليكون مرجعًا سريعًا لأساسيات إيجاد، تثبيت وترقية الحزم على مجموعة متنوعة من التوزيعات، وينبغي أن يساعدك على ترجمة هذه المعرفة بين الأنظمة.
أنظمة إدارة الحزم: لمحة موجزة
معظم أنظمة الحزم تُبنَى من مجموعات من ملفات الحزم. ملف الحزمة هو أرشيف يحتوي على ملفات ثُنائية مُترجمة ومصادر أخرى تُشكل البرنامج، مع سكربتات التثبيت. تحتوي الحزم أيضًا على بيانات وصفية قيّمة، تتضمن اعتمادياتها وقائمة من الحزم الأخرى المطلوبة لتثبيتها وتشغيلها.
على الرغم من تشابه وظائف وفوائد تنسيقات وأدوات التحزيم إلى حد بعيد، إلا أنها تختلف باختلاف المنصات:
نظام التشغيل | التنسيق | الأدوات |
---|---|---|
Debian | .deb | apt, apt-cache, apt-get, dpkg |
Ubuntu | .deb | apt, apt-cache, apt-get, dpkg |
CentOS | .rpm | yum |
Fedora | .rpm | dnf |
FreeBSD | Ports, .txz | make, pkg |
تنسيق الحزم في دبيان والأنظمة المبنية عليها مثل أوبنتو، لينكس منت وراسبيان يكون كملف .deb. تُوفر أداة الحزم المُتقدمة APT أوامر لمعظم العمليات الشائعة: البحث بالمستودعات، تثبيت مجموعات من الحزم واعتمادياتها وإدارة الترقيات. تعمل أوامر APT كواجهة أمامية للأداة منخفضة المستوى dpkg، والتي تقوم بتثبيت ملفات .deb الفردية على النظام محليًا، وأحيانًا تُستدعى مباشرةً.
تَستخدم CentOS، فيدورا والتوّزيعات الأخرى في عائلة Red Hat ملفات بتنسيق RPM. يُستخدم yum في CentOS للتفاعل مع ملفات الحزم الفردية والمستودعات.
في النُسخ الحديثة من فيدورا حل dnf محل yum، وهو مُشتق حديث يحتفظ بمعظم خصائص واجهة yum النصية.
يُدار نظام الحزم الثنائية في FreeBSD بالأمر pkg. ويوفر FreeBSD كذلك ما يُطلق عليه اسم Ports Collection، وهو هيكل مُجلدات محلية وأدوات تسمح للمُستَخدِم بجلب، تجميع وتثبيت الحزم مباشرة من المصدر باستخدام ملفاتMakefile. استخدام pkg مُريح غالبًا، ولكن أحيانًا لا تتوافر حزم مُترجمة مسبقًا، أو قد تُريد تغيير الخيارات بوقت الترجمة.
تحديث قوائم الحزم
تحتفظ معظم الأنظمة بقاعدة بيانات محلية للحزم المتوافرة بالمستودعات البعيدة. من الأفضل تحديث قاعدة البيانات قبل ترقية الحزم. وكاستثناء جزئي لهذا النمط، سيتحقق yum و dnf من وجود تحديثات قبل القيام ببعض العمليات، لكن يمكنك سؤالها عن توافر التحديثات بأي وقت.
النظام | الأمر |
---|---|
Debian / Ubuntu | sudo apt-get update |
CentOS | yum check-update |
Fedora | dnf check-update |
FreeBSD Packages | sudo pkg update |
FreeBSD Ports | sudo portsnap fetch update |
ترقية الحزم المثبتة
التأكد من حداثة البرمجيات المُثبتة على النظام ستكون مهمة ضخمة بدون نظام حزم. ستضطر أن تتتبع تغييرات المنبع والتنبيهات الأمنية لمئات من الحزم المختلفة. على الرغم من أن مدير الحزم لن يحل كل مشكلة ستقابلها عند ترقية البرمجيات، إلا أنه يُمَكِنُك من صيانة معظم مكونات النظام بأوامر قليلة.
ترقية الـ port المُثبتة على FreeBSD يمكن أن تُؤدي إلى إدخال أعطال أو تتطلب خطوات ضبط يدوية. من الأفضل أن تقرأ usr/ports/UPDATING/ قبل الترقية باستخدام portmaster.
النظام | الأمر | ملاحظات |
---|---|---|
Debian / Ubuntu | sudo apt-get upgrade | يُرقي الحزم الجديدة فقط، إن كان بالإمكان. |
sudo apt-get dist-upgrade | قد يُضيف أو يحذف حزم لتلبية الاعتماديات الجديدة. | |
CentOS | sudo yum update | |
Fedora | sudo dnf upgrade | |
FreeBSD Packages | sudo pkg upgrade | |
FreeBSD Ports | less /usr/ports/UPDATING |
يُستخدم الأمر less لعرض ملاحظات التحديث للمنافذ. استخدم مفاتيح الأسهم للانتقال، اضغط q للخروج. |
cd /usr/ports/ports-mgmt/portmaster && sudo make install && sudo portmaster -a |
يُثبت portmaster ويستخدمه لتحديث المنافذ المُثبتة. |
إيجاد حزمة
توفر معظم التوزيعات واجهة رسومية لمجموعات الحزم. هذه طريقة جيدة للتصفح بالفئة واكتشاف برمجيات جديدة. على الرغم من أنه غالبًا تكون الطريقة الأسرع والأكثر كفاءة لإيجاد حزمة هي البحث باستخدام أدوات سطر الأوامر.
النظام | الأوامر | ملاحظات |
---|---|---|
Debian / Ubuntu | apt-cache search search_string | |
CentOS | yum search search_string | |
yum search all search_string | يبحث بجميع الحقول، من ضمنها الوصف. | |
Fedora | dnf search search_string | |
dnf search all search_string | يبحث بجميع الحقول، من ضمنها الوصف. | |
FreeBSD Packages | pkg search search_string | يبحث بالاسم. |
pkg search -f search_string | يبحث بالاسم، ويُعيد وصف كامل. | |
pkg search -D search_string | يبحث بالوصف. | |
FreeBSD Ports |
cd /usr/ports && make search name=package |
يبحث بالاسم. |
cd /usr/ports && make search key=search_string |
يبحث في الأسماء، الأوصاف والاعتماديات. |
عرض معلومات عن حزمة محددة
من المفيد قراءة أوصاف تفصيلية عن الحزم التي قررت تثبيتها. إلى جانب نص قابل للقراءة، يتضمن غالبًا بيانات وصفية مثل أرقام النُسخ وقائمة من اعتماديات الحزم.
النظام | الأمر | ملاحظات |
---|---|---|
Debian / Ubuntu | apt-cache show package | يعرض المعلومات المُخزنة محليًا عن الحزمة package. |
dpkg -s package | يعرض حالة التثبيت الحالية للحزمة package. | |
CentOS | yum info package | |
yum deplist package | يسرد اعتماديات الحزمة package. | |
Fedora | dnf info package | |
dnf repoquery –requires package | يسرد اعتماديات الحزمة package. | |
FreeBSD Packages | pkg info package | يعرض معلومات عن الحزمة المُثبتة package. |
FreeBSD Ports |
cd /usr/ports/category/port && cat pkg-descr |
تثبيت حزمة من المستودعات
بمجرد معرفة اسم الحزمة، يمكن تثبيت الحزمة واعتمادياتها بأمر واحد. عمومًا، يمكنك طلب تثبيت حزم عديدة ببساطة عن طريق ذكرها جميعًا.
النظام | الأمر | ملاحظات |
---|---|---|
Debian / Ubuntu | sudo apt-get install package | |
sudo apt-get install package1 package2 … | يُثبت كل الحزم المذكورة package1 package2 … | |
sudo apt-get install -y package | يُجيب بنعم عندما يطلب apt الاستمرار. | |
CentOS | sudo yum install package | |
sudo yum install package1 package2 … | يُثبت كل الحزم المذكورة package1 package2 … | |
sudo yum install -y package | يُجيب بنعم عندما يطلب yum الاستمرار. | |
Fedora | sudo dnf install package | |
sudo dnf install package1 package2 … | يُثبت كل الحزم المذكورة package1 package2 … | |
sudo dnf install -y package | يُجيب بنعم عندما يطلب dnf الاستمرار. | |
FreeBSD Packages | sudo pkg install package | |
sudo pkg install package1 package2 … | يُثبت كل الحزم المذكورة package1 package2 … | |
FreeBSD Ports |
cd /usr/ports/category/port && sudo make install |
يبني ويُثبت منفذ من المصدر. |
تثبيت حزمة من نظام الملفات المحلي
أحيانًا، بالرغم من عدم تحزيم البرمجيات رسميًا لنظام معين، سيوفر المطور أو البائع ملفات الحزم للتحميل. يمكنك الحصول عليهم عبر المتصفح، أو من خلال curl على سطر الأوامر. بمجرد وجود الحزمة على النظام، يمكن عادة تثبيتها بأمر واحد.
يتعامل dpkg مع ملفات الحزم الفردية على الأنظمة الدبيانية. إذا كان هناك اعتماديات ناقصة لحزمة، فيمكن استخدام gdebi لجلب هذه الاعتماديات من المستودعات الرسمية.
يُستخدم yum و dnf على أنظمة فيدورا و CentOS لتثبيت ملفات الحزم الفردية، ومُعالجة الاعتماديات المطلوبة أيضًا.
النظام | الأمر | ملاحظات |
---|---|---|
Debian / Ubuntu | sudo dpkg -i package.deb | |
sudo apt-get install -y gdebi && sudo gdebi package.deb |
يُثبت ويستخدم gdebi لتثبيت الحزمة package.deb ويَحصُل على أي اعتماديات ناقصة. |
|
CentOS | sudo yum install package.rpm | |
Fedora | sudo dnf install package.rpm | |
FreeBSD Packages | sudo pkg add package.txz | |
sudo pkg add -f package.txz | يُثبت الحزمة package حتى وإن كانت مُثبتة. |
إزالة حزمة واحدة أو أكثر
بما أن مدير الحزم يعرف الملفات التي تأتي مع حزمة مُعينة، فيمكن إزالة هذه الملفات بشكل نظيف من النظام إذا لم يعد هناك حاجة لهذه الحزمة.
النظام | الأمر | ملاحظات |
---|---|---|
Debian / Ubuntu | sudo apt-get remove package | |
sudo apt-get autoremove | يُزيل الحزم غير الضرورية. | |
CentOS | sudo yum remove package | |
Fedora | sudo dnf erase package | |
FreeBSD Packages | sudo pkg delete package | |
sudo pkg autoremove | يُزيل الحزم غير الضرورية. | |
FreeBSD Ports | sudo pkg delete package | |
cd /usr/ports/path_to_port && make deinstall |
يلغي تثبيت منفذ مُثبت. |
الحصول على المساعدة
بالإضافة إلى التوثيقات المتوافرة على الشبكة، ضع في اعتبارك أن صفحات دليل يونكس (يُشار إليها بصفحات الدليل) متوافرة لمعظم الأوامر من الصدفة. استخدم man لقراءة صفحة page على النّحو التّالي:
$ man page
يمكنك الانتقال بمفاتيح الأسهم في man. اضغط / للبحث عن نص في الصفحة، و q للخروج.
النظام | الأمر | ملاحظات |
---|---|---|
Debian / Ubuntu | man apt-get | تحديث قاعدة البيانات المحلية والتعامل مع الحزم. |
man apt-cache | الاستعلام في قاعدة بيانات الحزم المحلية. | |
man dpkg | التعامل مع ملفات الحزم الفردية والاستعلام عن الحزم المُثبتة. | |
CentOS | man yum | |
Fedora | man dnf | |
FreeBSD Packages | man pkg | التعامل مع الحزم الثنائية المُترجمة مُسبقًا. |
FreeBSD Ports | man ports | التعامل مع مجموعات المنافذ. |
خاتمة ولمزيد من القراءة
عرضنا العمليات الأساسية التي يمكن استخدامها كمرجع بين الأنظمة، لكننا لم نتطرّق سوى إلى أساسيات الأمر. للحصول على مزيد من التفاصيل لنظام معين، راجع المصادر التالية:
- يُغطي هذا الدليل إدارة حزم دبيان وأوبنتو بالتفصيل.
- هناك دليل CentOS الرسمي لإدارة البرمجيات باستخدام yum.
- هناك صفحة wiki فيدورا عن dnf، ودليل dnf الرسمي.
- يُغطي هذا الدليل إدارة حزم FreeBSD باستخدام pkg.
- يحتوي دفتر FreeBSD على قسم لاستخدام مجموعات المنافذ.
ترجمة -وبتصرّف- للمقال Package Management Basics: apt, yum, dnf, pkg لصاحبه Brennen Bearnes.
- 2
- 1
أفضل التعليقات
لا توجد أية تعليقات بعد
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.