Product SiteDocumentation Site

6.5. واجهات APT: ‏aptitude، ‏synaptic

APT is a C++ program whose code mainly resides in the libapt-pkg shared library. Using a shared library facilitates the creation of user interfaces (front-ends), since the code contained in the library can easily be reused. Historically, apt-get was only designed as a test front-end for libapt-pkg but its success tends to obscure this fact.

6.5.1. ‏aptitude

aptitude is an interactive program that can be used in semi-graphical mode on the console. You can browse the list of installed and available packages, look up all the available information, and select packages to install or remove. The program is designed specifically to be used by administrators, so that its default behaviors are designed to be much more intelligent than apt-get's, and its interface much easier to understand.
مدير الحزم aptitude

شكل 6.1. مدير الحزم aptitude

When it starts, aptitude shows a list of packages sorted by state (installed, non-installed, or installed but not available on the mirrors — other sections display tasks, virtual packages, and new packages that appeared recently on mirrors). To facilitate thematic browsing, other views are available. In all cases, aptitude displays a list combining categories and packages on the screen. Categories are organized through a tree structure, whose branches can respectively be unfolded or closed with the Enter, [ and ] keys. + should be used to mark a package for installation, - to mark it for removal and _ to purge it (note that these keys can also be used for categories, in which case the corresponding actions will be applied to all the packages of the category). u updates the lists of available packages and Shift+u prepares a global system upgrade. g switches to a summary view of the requested changes (and typing g again will apply the changes), and q quits the current view. If you are in the initial view, this will effectively close aptitude.
للبحث عن حزمة، يمكنك كتابة / متبوعاً بنموذج بحث ما. يطابق هذا النموذج اسم الحزمة، لكن يمكن تطبيقه على وصفها أيضاً (إذا سُبِق بـ ~d)، أو على قسمها (مع ~s) أو على الخصائص الأخرى المذكورة في الوثائق. كما يمكن أن ترشح هذه النماذج نفسها قائمة الحزم المعروضة: اضغط المفتاح l (أول حرف من limit) وأدخل النموذج.
تُسهِّل aptitude إدارة ”الأعلام الآلية automatic flags“ (انظر قسم 6.2.7, “متابعة الحزم المثبتة آلياً”) كثيراً. يمكن تصفح قائمة الحزم المثبتة وتعليم الحزم على أنها آلية باستخدام Shift+m أو إزالة العلامة بالمفتاح m. يعرض الحرف ”A“ في قائمة الحزم بجوار ”الحزم الآلية“. تقدم هذه الميزة أيضاً وسيلة لعرض الحزم المثبتة ”فعلياً“ على النظام، دون عرض المكتبات والاعتماديات التي لا تهمنا. نموذج البحث الذي يمكن استخدامه مع l (لتفعيل وضع الفلترة) هو ~i!~M. يحدد هذا النموذج أنك تريد عرض الحزم المثبتة (~i) غير الآلية (!~M).

6.5.1.1. إدارة التوصيات، والاقتراحات والمهام

Another interesting feature of aptitude is the fact that it respects recommendations between packages while still giving users the choice not to install them on a case by case basis. For example, the gnome package recommends transmission-gtk (among others). When you select the former for installation, the latter will also be selected (and marked as automatic if not already installed on the system). Typing g will make it obvious: transmission-gtk appears on the summary screen of pending actions in the list of packages installed automatically to satisfy dependencies. However, you can decide not to install it by deselecting it before confirming the operations.
لاحظ أن ميزة تتبع التوصيات هذه لا تطبّق على التحديثات. مثلاً، إذا قَدَّمَتْ نسخةٌ جديدة من gnome توصيةً بحزمة لم توصِ بها سابقاً، لن تُحدَّد الحزمة الجديدة للتثبيت. ومع ذلك، فسوف تُسرَد في شاشة التحديث بحيث يمكن لمدير النظام اختيارها للتثبيت.
Suggestions between packages are also taken into account, but in a manner adapted to their specific status. For example, since gnome suggests empathy, the latter will be displayed on the summary screen of pending actions (in the section of packages suggested by other packages). This way, it is visible and the administrator can decide whether to take the suggestion into account or not. Since it is only a suggestion and not a dependency or a recommendation, the package will not be selected automatically — its selection requires a manual intervention from the user (thus, the package will not be marked as automatic).
في السياق ذاته، تذكر أن aptitude تستخدم مفهوم المهام بذكاء. بما أن المهام تُعرَض بشكل تصنيفات في شاشات لوائح الحزم، فيمكنك أن تختار مهمة كاملة للتثبيت أو للإزالة، أو أن تتصفح مجموعة الحزم المضمنة في المهمة حتى تختار منها مجموعة جزئية أصغر.

6.5.1.2. خوارزميات حل أفضل

حتى نختتم هذا القسم، دعنا نذكر أن aptitude تستخدم خوارزميات أفضل مقارنة بخوارزميات apt-get عند مواجهة المواقف الصعبة. عند طلب مجموعة إجراءات تؤدي مجتمعة إلى نظام غير متماسك، تقيّم aptitude عدة سيناريوهات محتملة وتعرضها بترتيب تنازلي بدءاً من أنسبها. ومع ذلك، فإن هذه الخوارزميات ليست منيعة ضد الإخفاق. لحسن الحظ، هناك دائماً إمكانية لاختيار الإجراءات يدوياً لتنفيذها. إذا أدّت الإجراءات المختارة إلى تضارب، سوف يشير الجزء العلوي من الشاشة إلى عدد الحزم ”المعطوبة“ (ويمكنك الانتقال إلى هذه الحزم مباشرة بالضغط على b). من الممكن عندئذ بناء حل للمشكلة يدوياً. بالأخص، يمكنك الوصول إلى الإصدارات المختلفة المتوفرة ببساطة من خلال اختيار الحزمة بالمفتاح Enter. إذا كان اختيار أحد هذه الإصدارات يحل المشكلة، عليك ألا تتردد باختياره. عند وصول عدد الحزم المعطوبة إلى الصفر، يمكنك العودة بأمان إلى شاشة تلخيص الأعمال المعلقة للتحقق منها مرة أخيرة قبل تطبيقها.

6.5.2. ‏synaptic

synaptic هو مدير حزم رسومي لدبيان، يقدّم واجهة رسومية نظيفة وفعالة مبنية على أساس GTK+/GNOME. تمنح فلاتره العديدة الجاهزة للاستخدام وصولاً سريعاً للحزم المتوفرة حديثاً، أو الحزم المثبتة، أو الحزم القابلة للتحديث، والحزم الميتة وغيرها. إذا تجولت بين هذه القوائم، يمكنك اختيار العمليات التي تريد تنفيذها على الحزم (تثبيت، تحديث، إزالة، تطهير)؛ لا تُنَفَّذ هذه العمليات مباشرة، بل توضع في لائحة مهام. وبعدها تؤكد هذه العمليات بنقرة واحدة على الزر، وتُنفَّذ دفعة واحدة.
مدير الحزم synaptic

شكل 6.2. مدير الحزم synaptic