مع كمية البرمجيات الكبيرة في دبيان والتي تنمو باستمرار، تظهر مفارقة: لدى دبيان عادة أدوات لمعظم المهام، لكن العثور على تلك الأدوات من بين آلاف الحزم الأخرى قد يكون صعباً جداً. كان الافتقار للأساليب الملائمة للبحث عن الأداة الصحيحة (والعثور عليها) مشكلة منذ فترة طويلة. لقد حُلّت هذه المشكلة بالكامل تقريباً لحسن الحظ.
أبسط عملية بحث ممكنة هي البحث عن اسم حزمة كما هو. إذا أعاد الأمر apt show package
نتيجة ما، فالحزمة موجودة. للأسف، هذا يتطلب معرفة اسم الحزمة أو ربما تخمينه، وهذا غير ممكن دائماً.
البحث عن نص بسيط في أسماء الحزم هي طريقة بحث أخرى أنجع قليلاً من سابقتها، لكنها تظل محدودة جداً. يمكن عموماً العثور على نتائج بالبحث في أوصاف الحزم: البحث عن الكلمات المفتاحية في أوصاف الحزم سيثمر غالباً، إذ تملك كل حزمة وصفاً مفصلاً كثيراً أو قليلاً بالإضافة إلى اسمها. apt-cache
وaxi-cache
هما الأداتان اللازمتان لهذا النوع من البحث؛ مثلاً، apt-cache search video
ستعيد لائحة بجميع الحزم التي يحتوي اسمها أو وصفها على الكلمة المفتاحية ”video“.
بالنسبة لعمليات البحث الأكثر تعقيداً، ستحتاج لأداة أقوى مثل aptitude
. تسمح لك aptitude
بالبحث وفقاً لتعبير منطقي مبني على أساس حقول البيانات الفوقية للحزمة. مثلاً، يبحث الأمر التالي عن الحزم التي يحتوي اسمها على kino
، ووصفها يحوي كلمة video
، واسم المشرف عليها paul
:
$ aptitude search kino~dvideo~mpaul
p kino - Non-linear editor for Digital Video data
$ aptitude show kino
Package: kino
State: not installed
Version: 1.3.4-2.1+b1
Priority: extra
Section: video
Maintainer: Paul Brossier <piem@debian.org>
Architecture: amd64
Uncompressed Size: 8,472 k
Depends: libasound2 (>= 1.0.16), libatk1.0-0 (>= 1.12.4), libavc1394-0 (>=
0.5.3), libavcodec56 (>= 6:11~beta1) | libavcodec-extra-56 (>=
6:11~beta1), libavformat56 (>= 6:11~beta1), libavutil54 (>=
6:11~beta1), libc6 (>= 2.14), libcairo2 (>= 1.2.4), libdv4,
libfontconfig1 (>= 2.11), libfreetype6 (>= 2.2.1), libgcc1 (>=
1:4.1.1), libgdk-pixbuf2.0-0 (>= 2.22.0), libglade2-0 (>= 1:2.6.4-2~),
libglib2.0-0 (>= 2.12.0), libgtk2.0-0 (>= 2.24.0), libice6 (>=
1:1.0.0), libiec61883-0 (>= 1.2.0), libpango-1.0-0 (>= 1.14.0),
libpangocairo-1.0-0 (>= 1.14.0), libpangoft2-1.0-0 (>= 1.14.0),
libquicktime2 (>= 2:1.2.2), libraw1394-11, libsamplerate0 (>= 0.1.7),
libsm6, libstdc++6 (>= 4.9), libswscale3 (>= 6:11~beta1), libx11-6,
libxext6, libxml2 (>= 2.7.4), libxv1, zlib1g (>= 1:1.1.4)
Recommends: ffmpeg, curl
Suggests: udev | hotplug, vorbis-tools, sox, mjpegtools, lame, ffmpeg2theora
Conflicts: kino-dvtitler, kino-timfx, kinoplus
Replaces: kino-dvtitler, kino-timfx, kinoplus
Provides: kino-dvtitler, kino-timfx, kinoplus
Description: Non-linear editor for Digital Video data
Kino allows you to record, create, edit, and play movies recorded with DV
camcorders. This program uses many keyboard commands for fast navigating and
editing inside the movie.
The kino-timfx, kino-dvtitler and kinoplus sets of plugins, formerly
distributed as separate packages, are now provided with Kino.
Homepage: http://www.kinodv.org/
Tags: field::arts, hardware::camera, implemented-in::c, implemented-in::c++,
interface::x11, role::program, scope::application, suite::gnome,
uitoolkit::gtk, use::editing, use::learning, works-with::video,
x11::application
يعيد البحث حزمة واحدة فقط، وهي kino، التي تفي بجميع معايير البحث.
حتى عمليات البحث متعددة المعايير هذه غير عمليّة، ما يفسر عدم استخدام الناس لها كما ينبغي. بالتالي تم تطوير نظام وسم جديد، وهو يقدم أسلوباً جديداً للبحث. تعطى الحزم وسوماً تقدّم تصنيفاً بحسب الموضوع من عدة نواحي، يعرف باسم ”التصنيف الموشوري“ (facet-based classification). في حالة kino المبينة أعلاه، تشير وسوم الحزمة إلى أن Kino هو برنامج مبني على Gnome وهو يعالج الفيديو وغرضه الأساسي هو التحرير.
قد يساعدك تصفح هذه التصنيفات على البحث عن حزمة مرتبطة بحاجة معروفة؛ حتى لو أعاد عدداً (معتدلاً) من الاحتمالات، فيمكن إكمال البحث يدوياً. لعمل ذلك، يمكنك استخدام نموذج البحث
~G
في
aptitude
، لكن من الأسهل غالباً تصفح الموقع الذي تدار فيه الوسوم:
إن اختيار الوسمين works-with::video
وuse::editing
يعطي حفنة حزم، منها محرري الفيديو kino وpitivi. إن نظام التصنيف هذا في طريقه نحو الانتشار أكثر وأكثر مع مرور الوقت، وستقدم برامج إدارة الحزم واجهات بحث فعالة مبنية على أساسه.
لتلخيص الموضوع، يعتمد اختيار أفضل أداة على مدى تعقيد البحث الذي ترغب بتنفيذه:
تسمح لك apt-cache
بالبحث في أسماء الحزم وأوصافها فقط، وهي مناسبة جداً عند البحث عن حزمة معينة توافق بضعة كلمات مفتاحية مستهدفة؛
عندما تحتوي معايير البحث أيضاً على علاقات بين الحزم أو بيانات فوقية أخرى مثل اسم المشرف عليها، سيكون synaptic
أكثر فائدة؛
عند الحاجة إلى بحث مبني على أساس الوسوم، فإن packagesearch
أداة جيدة لهذا الغرض، وهي واجهة رسومية مخصصة للبحث ضمن الحزم المتوفرة اعتماداً على عدة معايير (بما فيها أسماء الملفات التي تحويها). أما إذا أردت البحث من سطر الأوامر، فعليك باستخدام axi-cache
.
أخيراً، عندما يحوي البحث تعابير معقدة وعمليات منطقية، سيكون نظام aptitude
للبحث عن النماذج الأداة المثلى لذلك، فهو قوي فعلاً بغض النظر عن غموضه نوعاً ما؛ وهو يعمل في النمطين النصي والتفاعلي.