ubuntu server guide إدارة الحزم على نسخة الخواديم من أوبنتو


عبد اللطيف ايمش

توفر أوبنتو نظام إدارةَ حزمٍ شاملٍ للتثبيت والترقية والضبط وإزالة البرمجيات، بالإضافة إلى توفير الوصول إلى أكثر من 35000 حزمة برمجيات منظَّمة؛ وأيضًا من ميزات نظام إدارة الحزم حل مشاكل الاعتماديات، والتحقق من وجود تحديثات للبرمجيات.

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

ubuntu-server-package-managment.thumb.pn

مقدمة

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

تكون لملفات حزم دبيان عادةً اللاحقة «‎.deb»، وتتواجد غالبًا في «مستودعات» (repositories)، التي هي مجموعات من الحزم الموجودة في وسائط مختلفة، كأقراص CD-ROM، أو على الإنترنت؛ تلك الحزم مُصرَّفة (compiled) مسبقًا إلى صيغة ثنائية في غالب الأحيان، لذلك يكون تثبيتها سريعًا، وبالتالي لا تحتاج لبناء البرمجية من المصدر.

تَستخدم حزمٌ عديدةٌ معقدةٌ المصطلحَ «الاعتماديات» (dependencies)؛ الاعتماديات هي الحزم الإضافية التي تتطلبها حزمة رئيسية ﻷداة الوظيفة المطلوبة أداءً سليمًا؛ على سبيل المثال، حزمة تركيب الكلام المسماة festival تعتمد على حزمة libasound2، التي توفر مكتبة الصوت ALSA الضرورية لتشغيل الصوت، ولكي يعمل festival عملًا صحيحًا، يجب أن يُثبَّت هو وجميع اعتمادياته؛ حيث تُجري أدوات إدارة البرمجيات في أوبنتو ذلك تلقائيًا.

الأداة dpkg

dpkg هو مدير حزم للأنظمة المبينة على دبيان؛ حيث يمكنه تثبيت، وحذف، وبناء الحزم، ولكن على النقيض من بقية أنظمة إدارة الحزم، لا يمكنه أن يُنزِّل ويُثبِّت الحزم أو اعتمادياتها تلقائيًا؛ سيغطي هذا القسم استخدام dpkg لإدارة الحزم المثبتة محليًا:

  • اكتب الأمر الآتي في الطرفية لعرض كل الحزم المثبتة على النظام:

dpkg -l
  • وبالاعتماد على عدد الحزم المثبتة على نظامك، يمكن أن يُولِّد الأمر السابق ناتجًا ضخمًا من البيانات؛ تستطيع تمرير الناتج عبر أنبوب للأداة grep لمعرفة فيما إذا كانت حزمة معينة قد ثُبِّتَت على النظام:

dpkg -l | grep apache2

استبدل اسم الحزم التي تريد البحث عنها، أو جزءًا منه، أو تعبيرًا نمطيًا (regular expression)، باسم الحزمة apache2.

  • لعرض الملفات المثبتة بواسطة حزمة ما، في هذه الحالة حزمة ufw، فأدخِل الأمر:

dpkg -L ufw
  • إذا لم تكن متأكدًا أيّة حزمة قد ثبتت ملفًا ما، فالأمر dpkg -S سيخبرك ذلك، على سبيل المثال:

dpkg -S /etc/host.conf
base-files: /etc/host.conf

تُظهِر المخرجات أنَّ الملف ‎/etc/host.conf ينتمي إلى الحزمة base-files.

ملاحظة: العديد من الملفات تولَّد تلقائيًا أثناء عملية تثبيت الحزمة، وعلى الرغم من أن تلك الملفات موجودة في نظام الملفات، فقد لا يعلم dpkg -S أيّة حزمة تنتمي إليها تلك الملفات.

  • بإمكانك تثبيت ملف حزمة ‎.deb بالأمر الآتي:

sudo dpkg -i zip_3.0-4_i386.deb

ضع اسم ملف الحزمة التي تريد تثبيتها عندك بدلًا من zip_3.0-4_i386.deb.

  • يمكن إلغاء تثبيت حزمة معينة باﻷمر:

sudo dpkg -r zip

تحذير: ليس من المستحسن في معظم الحالات إلغاء تثبيت الحزم باستخدام dpkg، من الأفضل استخدام مدير حزم يستطيع حل مشاكل الاعتماديات للتأكد من أن النظام في حالة «متينة»، فعلى سبيل المثال، استخدام dpkg -r zip سيحذف حزمة zip، لكن أيّة حزم تعتمد عليها ستبقى مثبتةً ولكنها لن تعمل بصورة صحيحة.

للمزيد من خيارات dpkg، راجع صفحة الدليل man dpkg.

الأداة Apt-Get

إن الأداة apt-get هي أداة سطر أوامر مفيدة جدًا، إذ تتعامل مع «أداة التحزيم المتقدمة» (Advanced Packaging Tool‏ [APT])، وتُنفِّذ مهامًا كتثبيت حزم البرمجيات الجديدة، وترقية الحزم البرمجية الموجودة، وتحديث فهرس قائمة الحزم، وحتى ترقية كامل نظام أوبنتو.

كون هذه الأداة أداةً سطرية (أي تعمل من سطر الأوامر)، فإن للأداة apt-get مزايا كثيرةً تتميز بها عن غيرها من أدوات إدارة الحزم المتوفرة في أوبنتو لمدراء الخواديم، إحدى تلك المزايا هي سهولة الاستخدام في جلسات الطرفية البسيطة (عبر SSH)، وقابلية الاستخدام في سكربتات إدارة الأنظمة، التي يمكن أن تؤتمت باستخدام أداة جدولة المهام cron.

بعض الأمثلة للاستخدامات الشائعة للأداة apt-get:

تثبيت حزمة

عملية تثبيت الحزم باستخدام أداة apt-get هي عمليةٌ سهلةٌ جدًا؛ فعلى سبيل المثال، اكتب الأمر الآتي لتثبيت حزمة ماسح الشبكة nmap:

sudo apt-get install nmap

حذف حزمة

أيضًا عملية حذف حزمة (أو حزم) هي عملية مباشرة جدًا؛ فلحذف الحزمة التي ثبتناها في المثال السابق، فإننا نستخدم الأمر الآتي:

sudo apt-get remove nmap

تلميح: يمكنك تحديد أكثر من حزمة لتثبَّت أو تحذف، وذلك بتمرير أسماء تلك الحزم كوسائط للأمر apt-get مفصولةً بفراغات.

إن إضافة الخيار ‎--purge إلى الأمر apt-get remove سيجعل apt-get يحذف ملفات إعدادات الحزمة أيضًا، ربما يكون -أو لا يكون- هذا ما تريده؛ استخدم هذا الخيار بعد أخذ الحيطة والحذر.

تحديث فهرس قائمة الحزم

إن فهرس حزم APT هو قاعدة بيانات للحزم المتوفرة في المستودعات المعرَّفة في ملف ‎/etc/apt/sources.list وفي مجلد ‎/etc/apt/sources.list.d؛ فلتحديث فهرس الحزم المحلي والحصول على آخر التعديلات التي أُجريَت على المستودعات، فعليك تنفيذ الأمر الآتي:

sudo apt-get update

العمليات التي أجريت بواسطة الأداة apt-get، كتثبيت وحذف الحزم، ستُسجَّل في ملف السجل ‎/var/log‎/dpkg.log.

للمزيد من المعلومات حول استخدام APT، راجع «دليل مستخدم APT في دبيان»، أو اكتب:

apt-get help

الأداة Aptitude

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

يعمل Aptitude جيدًا في البيئات النصية التي تكون طرفياتٍ دون واجهة رسومية، لعدم حدوث تضارب في أزرار الأوامر؛ يمكنك بدء واجهة ذات قوائم من Aptitude بكتابة الأمر الآتي في مِحَث الطرفية:

sudo aptitude

ستشاهد شريط القائمة في أعلى الشاشة عندما يبدأ Aptitude، وجزأين تحته، يحتوي الجزء العلوي على تصنيفات الحزم، كالحزم الجديدة، والحزم غير المثبتة؛ وأما الجزء السفلي فيحتوي على معلومات تتعلق بالحزم وتصنيفاتها.

عملية استخدام Aptitude لإدارة الحزم هي عملية مباشرة إلى حدٍ ما؛ وتجعلُ واجهةُ المستخدمِ من المهام الشائعة أمرًا هينًا ليقام به؛ ما يلي أمثلةٌ عن كيفية تنفيذ وظائف إدارة الحزم الأساسية في Aptitude:

تثبيت الحزم

لتثبيت حزمة ما، حدِّد الحزمة في تصنيف «الحزم غير المثبتة»، وذلك باستخدام أزرار الأسهم في الحاسوب وزر Enter، علِّم على الحزم المُراد تثبيتها ثم اضغط على زر +، حيث سيتبدَّل لون مدخلة الحزمة إلى اللون الأخضر، مما يشير إلى أنها قد حُدِّدَت للتثبيت؛ اضغط الآن على الزر g لإظهار ملخص عن الأفعال التي ستُجرى على الحزم، اضغط على g مرةً أخرى، وسيُطلَب منك أن تصبح جذرًا لإكمال التثبيت، اضغط على Enter، وسيُطلَب منك إدخال كلمة المرور، أدخل كلمة المرور لتصبح جذرًا؛ في النهاية، اضغط على g مرةً أخرى، فستُسأل عن تنزيل تلك الحزمة اضغط على Enter للمتابعة، ثم ستُجرى عملية تنزيل وتثبيت الحزمة.

حذف الحزم

لحذف حزمة ما، حدد الحزمة في تصنيف «الحزم المثبتة»، وذلك باستخدام أزرار الأسهم في الحاسوب وزر Enter، علِّم على الحزم المُراد حذفها ثم اضغط على زر -، حيث سيتبدَّل لون مدخلة الحزمة إلى اللون الوردي، مما يشير إلى أنها قد حُدِّدَت للحذف؛ اضغط الآن على الزر g لإظهار ملخص عن الأفعال التي ستُجرى على الحزم، اضغط على g مرةً أخرى، وسيطلب منك أن تصبح جذرًا لإكمال التثبيت، اضغط على Enter، وسيُطلب منك إدخال كلمة المرور، أدخل كلمة المرور لتصبح جذرًا؛ في النهاية، اضغط على g مرةً أخرى، واضغط على Enter للمتابعة، ثم ستُجرى عملية إزالة الحزمة.

تحديث فهرس الحزم

لتحديث فهرس الحزم، اضغط ببساطة على الزر u، وستُسأل عمّا إذا كنت تريد أن تصبح جذرًا وتكمل التحديث، اضغط على Enter، وستُطالب بكلمة المرور، أدخل كلمة المرور لتصبح جذرًا، وسيبدأ تحديث فهرس الحزم؛ اضغط على Enter على زر OK في مربع الحوار الذي سيظهر عندما تنتهي عملية التنزيل.

ترقية الحزم

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

العمود الأول من المعلومات الظاهر في الجزء العلوي في قائمة الحزم يعرض حالة الحزمة، المفاتيح الآتية تصف حالة الحزمة:

  • i: الحزمة مثبتة.
  • c: الحزمة غير مثبتة، لكن إعدادات الحزمة ما زالت باقيةً على النظام.
  • p: حذفت الحزمة حذفًا كاملًا من النظام (هي وإعداداتها).
  • v: حزمة ظاهرية (Virtual package).
  • B: حزمة محطمة (Broken package).
  • u: ملفات الحزمة قد فُكَّ ضغطها، لكن الحزمة لم تُعَدّ بعد.
  • C: الحزمة نصف مضبوطة، أي أن الضبط قد فشل، ويلزمه إصلاح.
  • H: الحزمة نصف مثبتة، فشل الحذف، ويلزمه إصلاح.

للخروج من Aptitude، اضغط على حرف q، ووافق أنك تريد الخروج؛ يمكن الوصول لوظائف عديدة من وظائف Aptitude بالضغط على زر F10.

استخدام Aptitude في سطر الأوامر

يمكنك استخدام Aptitude كأداةٍ سطرية (تعمل من سطر الأوامر) استخدامًا شبيهًا باستخدام apt-get؛ فلتثبيت حزمة nmap مع جميع الاعتماديات اللازمة، كما في مثال apt-get، فسنستخدم الأمر الآتي:

sudo aptitude install nmap

ولحذف نفس الحزمة، سنستخدم الأمر:

sudo aptitude remove nmap

راجع صفحات الدليل man لمزيد من المعلومات حول الخيارات السطرية للأداة aptitude.

التحديثات التلقائية

يمكن استخدام الحزمة unattended-upgrades لتثبيت تحديثات الحزم تلقائيًا، ويمكن ضبطها لتحديث كل الحزم، أو تثبيت التحديثات الأمنية فقط؛ لكن أولًا يجب تثبيت الحزمة بإدخال الأمر الآتي في الطرفية:

sudo apt-get install unattended-upgrades

لضبط unattended-upgrades، عدِّل مما يلي في ملف ‎ /etc/apt/apt.conf.d/50unattended-upgrades ليوافق ما تحتاج:

Unattended-Upgrade::Allowed-Origins {
    "Ubuntu trusty-security";
//  "Ubuntu trusty-updates";
};

ويمكن أيضًا وضع بعض الحزم في «القائمة السوداء» مما يؤدي إلى عدم تحديثها تلقائيًّا؛ لإضافة حزمة ما إلى القائمة السوداء:

Unattended-Upgrade::Package-Blacklist {
// "vim";
// "libc6";
// "libc6-dev";
// "libc6-i686";
};

ملاحظة: الإشارة «//» تعمل كتعليق (comment)، أي أن كل ما يتبع // لن يُفسَّر.

لتفعيل التحديثات التلقائية، عدِّل ملف ‎/etc/apt/apt.conf.d/10periodic واضبط إعدادات apt المناسبة:

APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Download-Upgradeable-Packages "1";
APT::Periodic::AutocleanInterval "7";
APT::Periodic::Unattended-Upgrade "1";

الضبط السابق يُحدِّث فهرس الحزم ويُنزِّل ويُثبِّت جميع الترقيات المتوفرة كل يوم و«يُنظِّف» أرشيف التنزيل المحلي كل أسبوع.

ملاحظة: يمكنك قراءة المزيد عن خيارات ضبط apt الزمنية في ترويسة سكربت ‎/etc/cron.daily ‎/apt.

سيُسجَّل ناتج unattended-upgrades إلى ملف ‎/var/log/unattended-upgrades.

الإشعارات

ضبط المتغير Unattended-Upgrade::Mail في ملف ‎/etc/apt/apt.conf.d/50unattended-upgrades سيجعل unattended-upgrades يرسل بريدًا إلكترونيًا إلى مدير النظام يُفصِّل فيه الحزم التي تحتاج إلى ترقية، أو التي تتعرض لمشاكل.

حزمة أخرى مفيدة هي apticron، التي تضبط عملًا مجدولًا (cron) لإرسال بريد إلكتروني لمدير النظام، يحتوي على معلومات حول أيّة حزم في النظام لها تحديثات متوفرة، وملخص عن التغيرات في كل حزمة.

أدخِل الأمر الآتي في سطر الأوامر لتثبيت حزمة apticron:

sudo apt-get install apticron

بعد انتهاء تثبيت الحزمة، عدِّل الملف ‎/etc/apticron/apticron.conf لضبط عنوان البريد الإلكتروني والخيارات الأخرى:

EMAIL="root@example.com"

الضبط

الضبط الخاص بمستودعات أداة التحزيم المتقدمة (APT) مُخزَّنٌ في ملف etc/apt/sources.list/ ومجلد ‎/etc/apt/sources.list.d، ستُذكَر معلومات عن طريقة إضافة أو إزالة المستودعات من الملف في هذا القسم.

بإمكانك تعديل الملف لتفعيل المستودعات أو تعطيلها؛ على سبيل المثال، لتعطيل ضرورة إدراج القرص المضغوط الخاص بأوبنتو في كل مرة تُجرى فيها عملية على الحزم، فضع رمز التعليق قبل السطر الموافق لقرص CD-ROM، الذي يظهر في أول الملف:

# no more prompting for CD-ROM please
# deb cdrom:[Ubuntu 14.04 _Trusty Tahr_ - Release i386 (20111013.1)]/ trusty main restricted

مستودعات إضافية

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

ملاحظة: قد يكون في الحزم الموجودة في مستودع «Multiverse» مشاكلٌ في الترخيص مما يمنع من توزيعها مع نظام التشغيل الحر، وقد يكونون غير قانونيين في منطقتك.

تحذير: لاحظ أن أيًّا من مستودعي «Universe» و «Multiverse» لا يحتويان حزمًا مدعومةً رسميًا من أوبنتو، وهذا يعني أنها قد لا تكون هنالك تحديثات أمنية لتلك الحزم.

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

تكون مستودعات «Universe» و «Multiverse» مفعَّلة افتراضيًا، لكن إذا أردت تعطيلها، فعدّل الملف ‎/etc/apt/sources.list وضَعْ تعليقًا قبل الأسطر الآتية:

deb http://archive.ubuntu.com/ubuntu trusty universe multiverse
deb-src http://archive.ubuntu.com/ubuntu trusty universe multiverse

deb http://us.archive.ubuntu.com/ubuntu/ trusty universe
deb-src http://us.archive.ubuntu.com/ubuntu/ trusty universe
deb http://us.archive.ubuntu.com/ubuntu/ trusty-updates universe
deb-src http://us.archive.ubuntu.com/ubuntu/ trusty-updates universe

deb http://us.archive.ubuntu.com/ubuntu/ trusty multiverse
deb-src http://us.archive.ubuntu.com/ubuntu/ trusty multiverse
deb http://us.archive.ubuntu.com/ubuntu/ trusty-updates multiverse
deb-src http://us.archive.ubuntu.com/ubuntu/ trusty-updates multiverse

deb http://security.ubuntu.com/ubuntu trusty-security universe
deb-src http://security.ubuntu.com/ubuntu trusty-security universe
deb http://security.ubuntu.com/ubuntu trusty-security multiverse
deb-src http://security.ubuntu.com/ubuntu trusty-security multiverse

مصادر

أغلبية المعلومات التي أُعطِيت في هذا الدرس موجودةٌ في صفحات الدليل، التي يتوفر كثير منها على الإنترنت:

  • صفحة ويكي أوبنتو «InstallingSoftware» فيها بعض المعلومات.
  • للمزيد من التفاصيل عن dpkg، راجع صفحة الدليل man dpkg.
  • مقالة «APT HOWTO»، وصفحة الدليل man apt-get، توفر معلومات مفيدة عن كيفية استخدام apt-get.
  • راجع صفحة الدليل man aptitude للمزيد من الخيارات الخاصة بأداة Aptitude.
  • صفحة ويكي أوبنتو «Adding Repositories HOWTO» تحتوي معلومات مفيدة عن طريقة إضافة المستودعات.

ترجمة -وبتصرف- للمقال Package Managment.



1 شخص أعجب بهذا


تفاعل الأعضاء


لا توجد أيّة تعليقات بعد



يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن