إدارة الحزم في Linux: تثبيت البرامج بـ apt
في ويندوز تثبّت برنامجاً هكذا: تبحث عن موقعه، وتنزّل ملف التثبيت، وتضغط «التالي» عدة مرات، وتأمل ألا يكون الملف ملوثاً. في Linux الأمر مختلف وأسهل: تكتب سطراً واحداً، فيُنزَّل البرنامج من مصدر موثوق ويُثبَّت مع كل ما يحتاجه. المسؤول عن ذلك هو مدير الحزم (Package Manager)، وهو موضوع هذا الدرس.
الحزم والمستودعات
Section titled “الحزم والمستودعات”- الحزمة (Package): برنامج أو مكتبة مجهزة للتثبيت، ومعها معلومات عن إصدارها وما تحتاجه من حزم أخرى.
- المستودع (Repository): خادم على الإنترنت فيه آلاف الحزم، يراجعها ويوقّعها القائمون على توزيعتك.
- مدير الحزم: البرنامج الذي ينزّل الحزم من المستودعات ويثبّتها ويحدّثها ويحذفها.
الفكرة تشبه متجر التطبيقات في هاتفك، لكن من الطرفية: مصدر واحد موثوق، وتحديث كل شيء بضغطة واحدة.
وأهم ما يفعله مدير الحزم حل الاعتماديات (Dependencies): إذا كان البرنامج يحتاج ثلاث مكتبات ليعمل، ثبّتها معه تلقائياً.
لكل توزيعة مديرها
Section titled “لكل توزيعة مديرها”| التوزيعات | مدير الحزم | مثال التثبيت |
|---|---|---|
| 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 updateHit:1 http://archive.ubuntu.com/ubuntu noble InReleaseGet:2 http://archive.ubuntu.com/ubuntu noble-updates InRelease [126 kB]Fetched 126 kB in 1s (98.5 kB/s)Reading package lists... Done12 packages can be upgraded. Run 'apt list --upgradable' to see them.هذا الأمر لا يثبّت ولا يحدّث أي برنامج. هو فقط ينزّل قائمة الحزم المتاحة وأحدث إصداراتها من المستودعات، مثل تحديث كتالوج المتجر قبل التسوق. شغّله قبل أي تثبيت، وإلا قد يبحث apt عن إصدار قديم لم يعد موجوداً.
ولاحظ sudo: تثبيت البرامج يغيّر ملفات النظام، فيحتاج صلاحيات المدير التي تعرفت عليها في درس الصلاحيات.
البحث عن حزمة
Section titled “البحث عن حزمة”لا تعرف اسم الحزمة بالضبط؟
apt search htophtop/noble 3.3.0-4build1 amd64 interactive processes viewerولتفاصيل أكثر قبل التثبيت (الوصف، والحجم، والاعتماديات):
apt show htopالبحث والعرض لا يغيّران شيئاً في النظام، فلا يحتاجان sudo.
التثبيت
Section titled “التثبيت”sudo apt install htopReading package lists... DoneBuilding dependency tree... DoneThe following NEW packages will be installed: htop0 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هل البرنامج مثبّت؟
Section titled “هل البرنامج مثبّت؟”which gitgit --version/usr/bin/gitgit version 2.43.0which يعرض مسار البرنامج، وإذا لم يطبع شيئاً فالبرنامج غير مثبّت. وأغلب البرامج تعرض إصدارها بالخيار --version.
الترقية: حدّث كل شيء
Section titled “الترقية: حدّث كل شيء”هنا تظهر قوة مدير الحزم: أمر واحد يحدّث النظام وكل برامجك:
sudo apt updatesudo apt upgradeupdate يجلب القائمة الجديدة، و upgrade يثبّت الإصدارات الأحدث لكل الحزم المثبتة. وكثيراً ما يُكتبان في سطر واحد:
sudo apt update && sudo apt upgrade -yالعلامة && تعني: نفّذ الثاني فقط إذا نجح الأول.
التحديثات ليست مزايا جديدة فقط، بل أغلبها إصلاحات أمنية. تحديث الخادم بانتظام من أهم ما يحميه من الاختراق.
sudo apt remove htopيحذف البرنامج ويترك ملفات إعداداته، فإذا أعدت تثبيته وجدت إعداداتك. ولحذف كل شيء:
sudo apt purge htopوبعد حذف برامج تبقى اعتماديات لم يعد أحد يحتاجها. نظّفها بـ:
sudo apt autoremoveملخص الأوامر
Section titled “ملخص الأوامر”| الأمر | الوظيفة |
|---|---|
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 |
عرض كل الحزم المثبتة |
مصادر أخرى للبرامج
Section titled “مصادر أخرى للبرامج”- Snap و Flatpak: متاجر حزم إضافية تعمل على توزيعات مختلفة، مثل
sudo snap install codeلتثبيت VS Code. - مديرو حزم اللغات:
pipلـ Python وnpmلـ JavaScript يثبّتان مكتبات البرمجة لمشروعك، لا برامج النظام. - سكربتات من الإنترنت: بعض المواقع تطلب منك نسخ أمر يبدأ بـ
curl ... | sudo bash. هذا الأمر ينفّذ كوداً من الإنترنت بصلاحيات المدير الكاملة! لا تشغّله إلا من موقع رسمي تثق فيه.
جرّب بنفسك
Section titled “جرّب بنفسك”- حدّث قائمة الحزم بـ
sudo apt update. - ابحث عن الحزمة
treeواقرأ تفاصيلها بـapt show tree. - ثبّتها، ثم شغّل
treeداخل أي مجلد لتراه كشجرة. - تحدٍّ: ثبّت
htop، وشغّله، واخرج منه بالمفتاحq، ثم احذفه ونظّف بـautoremove.
إذا لم يكن عندك Linux، فعّل WSL على ويندوز بالأمر wsl --install من PowerShell بصلاحيات المدير، وستحصل على Ubuntu كامل داخل ويندوز.
أخطاء شائعة
Section titled “أخطاء شائعة”- نسيان sudo: تظهر رسالة
Permission deniedمع سؤالare you root?. أعد الأمر معsudo. - التثبيت دون
apt update: قد تظهرUnable to locate packageأو أخطاء 404. حدّث القائمة أولاً. - اسم حزمة خاطئ:
Unable to locate packageتظهر أيضاً مع الأخطاء الإملائية. ابحث بـapt search. - إغلاق الطرفية وسط التثبيت: قد يترك النظام في حالة غير مكتملة. انتظر حتى ينتهي الأمر.
اختبر نفسك
Section titled “اختبر نفسك”سؤال
ماذا يفعل الأمر sudo apt update؟
update تجلب القائمة الجديدة من المستودعات، والترقية الفعلية للبرامج تتم بـ apt upgrade.
سؤال
ما المقصود بالاعتماديات Dependencies؟
مدير الحزم يحسب ما يحتاجه البرنامج من مكتبات ويثبّتها تلقائياً.
الخلاصة
Section titled “الخلاصة”- مدير الحزم يثبّت البرامج من مستودعات موثوقة ويحل الاعتماديات تلقائياً.
aptفي Ubuntu و Debian، وdnfفي Fedora، وpacmanفي Arch.sudo apt updateأولاً لتحديث القائمة، ثمinstallللتثبيت أوupgradeللترقية.removeوpurgeوautoremoveللحذف والتنظيف.- حدّث نظامك بانتظام، ولا تشغّل سكربتات تثبيت من مصادر لا تثق فيها.