# أداة الحزم المتقدمة

أداة الحزم المتقدمة (بالإنجليزية: Advanced Packaging Tool)‏ (اختصار APT) هي الأداة المستخدمة من دبيان/جنو لينكس والتوزيعات المعتمدة عليه لتعامل مع تركيب وإزالة وتحديث البرامج واعتمادياتها. يبسط عملية إدارة البرامج على الأنظمة الشبيهة بيونكس من خلال إعداد وتركيب حزم البرامج إما من الملفات الثنائية أو عن طريق تجميع شيفرة المصدر. المنبثق من ديبكج للتعامل مع حزم دبيان ذات الصيغة ديب، لكن عُدل لاحقًا ليعمل مع حزم RPM من خلال الاداة apt-rpm. يوجد نسخة من الاداة متوفرة لنظام (الماك: ماكأو أس X).

## البرامج المصدرية

في الماضي كانت البرامج ملفات ارشيف تحمل اللاحقة tar.gz. كان المستخدمون يقومون بعملية compiling بناء البرنامج من المصدر، لكن هذه العملية تاخذ وقت ومشكلة الاعتماديات المتمثلة في حاجة البرنامج لمكتبة. أو حزمة... معينة لكي يتم تركيبه وتشغيله. وهنا يكون الحل احضار ذلك الشئ الناقص، لكن المصيبة ان لم تجده في مكان ما، أو ان حزم تطلب حزم أخرى فعندها تكون قد وقعت في جحيم التبعية
لذلك عند إنشاء دبيان، وجد أن من الضروري أن يتضمن النظام طريقة لحل هذه المشكلة وخدمة هذه التوزيعة، فكانت هذه بداية APT بتطوير من مبرمجى دبيان. هذه الاداة تتكفل في تركيب وتحديث... الحزم وتبعياتها، بالشكل المطلوب على اكمل وجه.

## المستودعات

يعتمد ابت على مفهوم المستودعات، الذي هو مكان لتخزين حزم البرامج، عند طلب المستخدم، تركيب، حذف، اوترقية... فان مدير الحزم يقوم بالذهاب لفهرس الحزم ويطلب التغيرات التي طرأت عليه. يمكن أن يكون المستودع على شبكة الإنترنت، على اقراص مدمجة., قرص صلب، أو مستودع محلي.
* اولا: صلاحيات المستخدم الجذر root، بامرين الأول استخدام الأمر sudo التي تعطيتنا صلاحيات تكافئ مدير النظام أو استعمل الأمر su. وصلاحيات مدير النظام تسمح لنا باستخدام مدير الحزم apt من تنزيل، حذف وتحديث.... البرامج، والتعديل على ملف المستودعات.
* ثانيا: اعداد ملف sources.list الذي يحتوي على المستودعات التي تريد ان نقوم بجلب البرامج والتحديثات.....منها، وهو ملف موجود على المسار التالي (etc/apt/sources.list/), والتعديل يكون على المستودعات بالطريقة التالية، (يوجد طرق أخرى مثل استخدام برنامج software sources ذو الواجهة الرسومية), اولا نحدد محرر النصوص الذي تريد ان تستخدمه لفتح ملف المستودعات، وكما ذكرنا سابقا يجب أن تملك صلاحية مدير النظام، لان الملف موجود على مسار يحتاج لتعديل عليه ان تملك صلاحية إدارية. واليك المثال التالي لتعديل على الملف باستخدام المحرر nano:
nano /etc/apt/sources.list
* ثالثا: هناك مستودعات رسمية ومستودعات غير رسمية، الفرق بينهما ان الأولى تاتي من طرف التوزيعة نفسها ومفاتيحها مدمجة مع التوزيعة، اما الأخرى فهي تاتي من طرف آخر وتحتاج لتنصيب مفتاح GPG ويجب أن تتاكد من أن هذا المستودع موثوق فيه. في بعض التوزيعات ياتي ملف المستودعات جاهز، توزيعة اوبنتو مثلا تاتي المستودعات في التوزيعة، اما توزيعة دبيان تحتاج لإضافة المستودعات يدويا ولاتكون موجودة مسبقا الا مستودع التحديثات الأمنية. إذا اردت مستودعات رسمية لتوزيعة دبيات تجدها في Debian worldwide mirror sites واختر السيرفر الاقرب إليك.
* رابعا: إذا لم تجد برنامج أو كانت المستودعات بطيئة..... تستطيع حذف المستودع أو إضافة أي مستودع تريد.
* إذا قمت يوما بفتح ملف sources.list, ستجد كلمة deb وdeb-src مثل:
deb http://hأو أسt/debian distribution section1 section2 section3
deb-src http://hأو أسt/debian distribution section1 section2 section3
* deb خاص بالبرامج الجاهزة.
* deb-src خاص بكود (المصدر source).

### مستودعات دبيان

يوجد هناك عدة اقسام لمستودعات دبيان، وتقسم المستودعات حسب احترامها لارشادات دبيان للبرمجيات الحرة.
* main: هو القسم الرئيسي لحزم دبيان والتي تحترم معايير دبيان للبرمجيات الحرة ويضم أغلب حزم التوزيعة.
* non-free : هو القسم الذي يجمع الحزم غير الحرة والتي لا تحترم معايير دبيان للبرمجيات الحرة لا تكون مدمجة بالتوزيعة ولا تحظى بدعم رسمي من المطورين.
* contrib : هذا القسم يخص الحزم التي تحترم معايير دبيان للبرمجيات الحرة ولكنه تعتمد على الحزم الغير حرة non-free
مستودعات أخرى:
* volatile : بعض البرامج مثل مكافحات الفيروسات والسخام تحتاج إلى تطوير مستمر مبدئيا ذلك مستحيل نظرا لفترة عيش الإصدارة المستقرة، الحل هو مستودعات volatile لتحديث هذه البرامج دون الثأثير على استقرار التوزيعة.
* backports : هي خدمة تعيد بناء مجموعة من الحزم الخاصة بالإصدارة الاختبارية (testing) لتعمل على الإصدارة المستقرة.
* debports : جهاز أو حاسوب للبناء التلقائي (auto-builder) الهدف منه هو توفير بنية للمعماريات غير الرسمية في انتظار دمجها في أرشيف دبيان الرئيسي.

### مستودعات PPA

أرشيف الحزم الشخصية (بالإنجليزية: Personal Package Archive) (تختصر PPA) مثلا توزيعة مثل أوبنتو تصدر كل ستة شهور ولا يتم تحديث المستودعات الرسمية إلا كل ستة شهور.. لذلك البرامج الموجودة بالمستودعات أحياناً تكون قديمة وأنت تريد نسخة أحدث من البرامج، لذلك فان موقع لانشباد الذي يقوم بتطوير أوبنتو فيه، يوفر خاصية أرشيف الحزم الشخصية وهي مستودعات لمطوري البرامج أو مستودعات شخصية (يمكنك إضافة برامجك إليها) يتم فيها توفير النسخ الأخيرة من برامج معينة.

## الاستخدام

تحدثنا عن المستودعات وكيفية اعدادها، الآن أصبح كل شيء جاهزا والجدول التالي يبين أهم اوامر مدير الحزم apt.
| الأمر | شرح | الاستخدام/مثال |
| أي محرر نصوص تفضل | تعديل على ملف sources.list | nano /etc/apt/sources.list |
| add | إضافة cd/dvd كمستودع لجلب البرامج منه. | apt-cdrom add |
| update | تحديث قائمة المستودعات. | apt-get update |
| upgrade | ترقية النظام والبرامج | apt-get upgrade |
| install | تنصيب البرامج | apt-get install vlc |
| remove | حذف برنامج مع بقاء ملفات الاعداد (conf) | apt-get remove vlc |
| purge | حذف برنامج مع ملفات (config) | apt-get purge vlc |
| full-upgrade | الترقية الشاملة للنظام (غير مستحسن) | apt-get full-upgrade |
| clean | بعد تنزيل برامج معين من apt يبقى البرنامج على المسار /var/cache/apt/archives/ | apt-get clean |
| autoclean | مثل الأمر السابق لكن إذا وجد عدة اصدارات من حزمة يحذف الاصدار الأقدم | apt-get autoclean |
| source—compile | عمل كومبايلر لبرنامج | apt-get source—compile vlc |
| search | بحث عن برنامج | apt-cache search |
| showpkg | عرض كل المعلومات عن برنامج معين بالتفصيل من بداية اصدار البرنامج، المكتبات التي يحتاجها... | apt-cache showpkg |
| pkgnames | اظهار أسماء كل الحزم المتوفر على النظام | apt-cache pkgnamesl |
| dumpavail | عرض كل الحزم المتوفرة على النظام مع بعض المعلومات حول الحزم | apt-cache dumpavail |
| versions | معرفة الاصدارات المتوفرة للبرنامج | apt-get versions vlc |
| install -f | إصلاح الحزم المكسورة | apt-get install -f |
| dpkg -i | تنصيب حزمة يدويا (.deb) | dpkg -i xxxx.deb |

## خيارات

* -b, تنزيل حزمة لكن عدم تركيبها على النظام.

## ترقية دبيان

لترقية دبيان من إصدار لاصدار، فكل ما تحتاجه هو فتح ملف sources.list|/etc/apt/sources.list/ فتجد فيه مثلا التالي:
فلو فرضنا بانك تريد الترقية من الفرع الاختباري إلى الفرع المستقر، فكل ما عليك هو تبديل الكلمة stable بالكلمة testing (أو بالاسم الرمزي للفرع الذي تريد الترقية إليه) في جميع المستودعات الموجودة في الملف. ليصبح مثل هذا مثلا:
وبعد ذلك تقوم بتحديث المخازن، ثم بالترقية كالتالي:
اما لو اردت الترقية للفرع الغير مستقر، فضع كلمة unstable, وقم بالتحديث والترقية كما سبق.

## المجلدات وملفات الاعداد

مجلدات وملفات الاعداد توجدعلى المسار التالي: /etc/apt/

### ملفات

* /etc/apt/sources.list/: ملف المستودعات، الذي تجلب منه البرامج.
* /etc/apt/apt.conf/: ملف اعداد]] ابت APT.
* /var/cache/apt/archives/: المسار الذي تحفظ فيه الحزم، عند تنزيلها من خلال مدير الحزم.
ويمكن استخدام ابتتيوود فهي تحل مكان مدير الحزم apt وتعمل نفس الوظائف

### الواجهات

ملف:Synaptic حزمة Manager.png|تصغير|300بك|مدير الحزم سينابتك إذا لم تحب استخدام مدير الحزم من سطر الاوامر، أو وجدت صعوبة في ذلك.. فان لمدير الحزم ابت apt واجهات رسومية أو غير رسومية عديدة تسهل عليك الأمر، وتوفر عليك الوقت والجهد:
* سينابتك - باستخدام جتك+ واجهة مستخدم رسومية
* مركز برمجيات اوبنتو - باستخدام جتك+ واجهة مستخدم رسومية، ويعتبر بديل سينابتك في المستقبل.
* ابتتيوود (aptitude) - , واجهة لـ apt يعمل على سطر الأوامر ويتكفل بكل شيء يتعلق بالحزم.
* كيه باكج جزء من واجهة كيدي.
* مدير الحزم أديبت - واجهة مستخدم رسومية لكيدي.
* جي ديبي - هي أداة تتيح تثبيت حزم .deb. بواجهة رسومية بالإضافة إالى خيار تثبيت من سطر الأوامر.
* اديبت، هو واجهة رسومية للتعامل مع الحزم خاصة بواجهة كيدي.
واجهات ـ ابت apt تمكنك من فعل:
* البحث عن حزم جديدة.
* تحديث المستودعات..
* ترقية الحزم.
* تنصيب أو حذف الحزم.
* ترقية النظام إلى نسخة أحدث.

## تاريخ

بدأ مشروع استبدال أداة دي سيلكت تحت (الاسم الرمزي: deity) لتحل مكانه الأداة apt-get. كلف Brian White بالمشروع وتم إصداره بالوقت المحدد، فيما بعد جرى التخلي عن الاسم (deity: الذي يعني المعبود أي الإله) بسبب الطبيعة الدينية للاسم. قدم في عام 1998، والنسخة الأولى من دبيان التي وجدت فيها الأداة كانت 2.1. في 9 مارس 1999.

## مراجع

* 1 2 3 4 5 6 "The apt - Advanced Package Tool Open Source Project on Open Hub: Languages Page". أهلوه. اطلع عليه بتاريخ 2024-05-02.
* ↑ "2.9.23" (بالإنجليزية). 17 Jan 2025. Retrieved 2025-01-17.{{استشهاد ويب}}: صيانة الاستشهاد: لغة غير مدعومة (link)
* ↑ وصلة مرجع: https://salsa.debian.org/apt-team/apt/blob/1.6.3/COPYING. الوصول: 20 يوليو 2018.
* ↑ "The apt Open Source Project on Open Hub: Licenses Page". أهلوه. اطلع عليه بتاريخ 2018-08-10.
* 1 2 "apt-get(8) - Linux man page". linux.die.net. مؤرشف من الأصل في 2019-04-18. اطلع عليه بتاريخ 2008-05-12.
* أداة الحزم المتقدمة على موقع Open Hub (الإنجليزية)
* صفحة برنامج أداة الحزم المتقدمة على أوبن هب
* بوابة برمجيات حرة
* بوابة علم الحاسوب
* بوابة لينكس