تخطَّ إلى المحتوى

إدارة الحزم في Linux: تثبيت البرامج بـ apt

الدرس 9 من 10 · أساسيات Linux

في ويندوز تثبّت برنامجاً هكذا: تبحث عن موقعه، وتنزّل ملف التثبيت، وتضغط «التالي» عدة مرات، وتأمل ألا يكون الملف ملوثاً. في Linux الأمر مختلف وأسهل: تكتب سطراً واحداً، فيُنزَّل البرنامج من مصدر موثوق ويُثبَّت مع كل ما يحتاجه. المسؤول عن ذلك هو مدير الحزم (Package Manager)، وهو موضوع هذا الدرس.

  • الحزمة (Package): برنامج أو مكتبة مجهزة للتثبيت، ومعها معلومات عن إصدارها وما تحتاجه من حزم أخرى.
  • المستودع (Repository): خادم على الإنترنت فيه آلاف الحزم، يراجعها ويوقّعها القائمون على توزيعتك.
  • مدير الحزم: البرنامج الذي ينزّل الحزم من المستودعات ويثبّتها ويحدّثها ويحذفها.

الفكرة تشبه متجر التطبيقات في هاتفك، لكن من الطرفية: مصدر واحد موثوق، وتحديث كل شيء بضغطة واحدة.

وأهم ما يفعله مدير الحزم حل الاعتماديات (Dependencies): إذا كان البرنامج يحتاج ثلاث مكتبات ليعمل، ثبّتها معه تلقائياً.

التوزيعات مدير الحزم مثال التثبيت
Ubuntu و Debian و Linux Mint apt sudo apt install git
Fedora و Red Hat dnf sudo dnf install git
Arch و Manjaro pacman sudo pacman -S git

الأفكار واحدة والأسماء تختلف. في هذا الدرس نستخدم apt لأن Ubuntu أكثر التوزيعات انتشاراً بين المبتدئين وعلى الخوادم، وهي نفسها ما تحصل عليه في WSL على ويندوز.

الخطوة الأولى دائماً: apt update

Section titled “الخطوة الأولى دائماً: apt update”
نافذة طرفيّة
sudo apt update
شكل الناتج
Hit:1 http://archive.ubuntu.com/ubuntu noble InRelease
Get:2 http://archive.ubuntu.com/ubuntu noble-updates InRelease [126 kB]
Fetched 126 kB in 1s (98.5 kB/s)
Reading package lists... Done
12 packages can be upgraded. Run 'apt list --upgradable' to see them.

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

ولاحظ sudo: تثبيت البرامج يغيّر ملفات النظام، فيحتاج صلاحيات المدير التي تعرفت عليها في درس الصلاحيات.

لا تعرف اسم الحزمة بالضبط؟

نافذة طرفيّة
apt search htop
شكل الناتج
htop/noble 3.3.0-4build1 amd64
interactive processes viewer

ولتفاصيل أكثر قبل التثبيت (الوصف، والحجم، والاعتماديات):

نافذة طرفيّة
apt show htop

البحث والعرض لا يغيّران شيئاً في النظام، فلا يحتاجان sudo.

نافذة طرفيّة
sudo apt install htop
شكل الناتج
Reading package lists... Done
Building dependency tree... Done
The following NEW packages will be installed:
htop
0 upgraded, 1 newly installed, 0 to remove and 12 not upgraded.
Need to get 171 kB of archives.
After this operation, 434 kB of additional disk space will be used.

apt يخبرك بما سيفعله: الحزم الجديدة، وحجم التنزيل، والمساحة المطلوبة. وإذا كانت هناك اعتماديات إضافية يسألك Do you want to continue? [Y/n]، فتضغط Enter للموافقة.

بعد التثبيت البرنامج جاهز فوراً: اكتب htop وجرّب مراقب العمليات الملوّن الذي ذكرناه في الدرس السابق.

ويمكن تثبيت عدة حزم معاً، وإضافة -y للموافقة التلقائية (مفيدة في السكربتات):

نافذة طرفيّة
sudo apt install -y git curl tree
نافذة طرفيّة
which git
git --version
شكل الناتج
/usr/bin/git
git version 2.43.0

which يعرض مسار البرنامج، وإذا لم يطبع شيئاً فالبرنامج غير مثبّت. وأغلب البرامج تعرض إصدارها بالخيار --version.

هنا تظهر قوة مدير الحزم: أمر واحد يحدّث النظام وكل برامجك:

نافذة طرفيّة
sudo apt update
sudo apt upgrade

update يجلب القائمة الجديدة، و upgrade يثبّت الإصدارات الأحدث لكل الحزم المثبتة. وكثيراً ما يُكتبان في سطر واحد:

نافذة طرفيّة
sudo apt update && sudo apt upgrade -y

العلامة && تعني: نفّذ الثاني فقط إذا نجح الأول.

التحديثات ليست مزايا جديدة فقط، بل أغلبها إصلاحات أمنية. تحديث الخادم بانتظام من أهم ما يحميه من الاختراق.

نافذة طرفيّة
sudo apt remove htop

يحذف البرنامج ويترك ملفات إعداداته، فإذا أعدت تثبيته وجدت إعداداتك. ولحذف كل شيء:

نافذة طرفيّة
sudo apt purge htop

وبعد حذف برامج تبقى اعتماديات لم يعد أحد يحتاجها. نظّفها بـ:

نافذة طرفيّة
sudo apt autoremove
الأمر الوظيفة
sudo apt update تحديث قائمة الحزم المتاحة
apt search اسم البحث عن حزمة
apt show اسم تفاصيل حزمة
sudo apt install اسم تثبيت
sudo apt upgrade ترقية كل الحزم المثبتة
sudo apt remove اسم حذف مع إبقاء الإعدادات
sudo apt purge اسم حذف مع الإعدادات
sudo apt autoremove حذف الاعتماديات غير المستخدمة
apt list --installed عرض كل الحزم المثبتة
  • Snap و Flatpak: متاجر حزم إضافية تعمل على توزيعات مختلفة، مثل sudo snap install code لتثبيت VS Code.
  • مديرو حزم اللغات: pip لـ Python و npm لـ JavaScript يثبّتان مكتبات البرمجة لمشروعك، لا برامج النظام.
  • سكربتات من الإنترنت: بعض المواقع تطلب منك نسخ أمر يبدأ بـ curl ... | sudo bash. هذا الأمر ينفّذ كوداً من الإنترنت بصلاحيات المدير الكاملة! لا تشغّله إلا من موقع رسمي تثق فيه.
  1. حدّث قائمة الحزم بـ sudo apt update.
  2. ابحث عن الحزمة tree واقرأ تفاصيلها بـ apt show tree.
  3. ثبّتها، ثم شغّل tree داخل أي مجلد لتراه كشجرة.
  4. تحدٍّ: ثبّت htop، وشغّله، واخرج منه بالمفتاح q، ثم احذفه ونظّف بـ autoremove.

إذا لم يكن عندك Linux، فعّل WSL على ويندوز بالأمر wsl --install من PowerShell بصلاحيات المدير، وستحصل على Ubuntu كامل داخل ويندوز.

  • نسيان sudo: تظهر رسالة Permission denied مع سؤال are you root?. أعد الأمر مع sudo.
  • التثبيت دون apt update: قد تظهر Unable to locate package أو أخطاء 404. حدّث القائمة أولاً.
  • اسم حزمة خاطئ: Unable to locate package تظهر أيضاً مع الأخطاء الإملائية. ابحث بـ apt search.
  • إغلاق الطرفية وسط التثبيت: قد يترك النظام في حالة غير مكتملة. انتظر حتى ينتهي الأمر.

سؤال

ماذا يفعل الأمر sudo apt update؟

سؤال

ما المقصود بالاعتماديات Dependencies؟

  • مدير الحزم يثبّت البرامج من مستودعات موثوقة ويحل الاعتماديات تلقائياً.
  • apt في Ubuntu و Debian، و dnf في Fedora، و pacman في Arch.
  • sudo apt update أولاً لتحديث القائمة، ثم install للتثبيت أو upgrade للترقية.
  • remove و purge و autoremove للحذف والتنظيف.
  • حدّث نظامك بانتظام، ولا تشغّل سكربتات تثبيت من مصادر لا تثق فيها.