Product SiteDocumentation Site

6.9. جستجو برای بسته‌ها

با توجه به حجم عظیم و رو به افزایش نرم‌افزار در دبیان، تضادی بوجود می‌آید: دبیان معمولا برای هر کاری یک ابزار مناسب دارد، اما یافتن همین ابزار از میان سایر گزینه‌های مشابه کاری دشوار است. عدم وجود روشی مناسب برای جستجو (و یافتن) ابزار مناسب خود به یک معضل در طی سال‌ها تبدیل شده است. خوشبختانه، این مشکل تقریبا از میان رفته است.
مختصرترین شیوه جستجو استفاده از نام دقیق بسته است. اگر apt show package نتیجه‌ای بازگرداند، آنگاه بسته موجود است. متاسفانه، این امر مستلزم دانستن یا حدس زدن نام بسته است، که همیشه مقدور نیست.
الگوی دیگر جستجو برای بسته‌ها، استفاده از جستجو plain-text در نام بسته‌ها است، اما به صورت خیلی محدود کار می‌کند. معمولا می‌توانید با استفاده از توضیحات بسته نیز به جستجو بپردازید: از آنجایی که هر بسته شامل توضیحات کم و بیش راجع به نام بسته می‌باشد، جستجوی کلیدواژه در این مورد می‌تواند کاربردی باشد. apt-cache و axi-cache ابزار انتخابی برای این شیوه جستجو هستند؛ برای نمونه، apt-cache search video به جستجو بسته‌هایی می‌پردازد که در نام یا توضیح خود کلیدواژه “video” را دارا باشند.
برای جستجوهای پیشرفته‌تر، ابزار پیشرفته‌تری مانند aptitude مورد نیاز است. aptitude اجازه جستجو منطقی در تمام فیلد‌های meta-data را می‌دهد. برای نمونه، دستور زیر به جستجوی بسته‌هایی می‌پردازد که نامشان شامل 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 نیز می‌شود. این سیستم طبقه‌بندی روز به روز بیشتر مورد استفاده قرار می‌گیرد و مدیر بسته‌ها نیز به مرور رابط‌های جستجوی کاربردی‌تری را برای آن فراهم می‌کنند.
در نتیجه، بهترین ابزار برای اینکار بستگی به پیچدگی جستجو مورد نظر شما دارد: