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
Version: 1.3.4-2.2+b2
State: not installed
Priority: extra
Section: video
Maintainer: Paul Brossier <piem@debian.org>
Architecture: amd64
Uncompressed Size: 8300 k
Depends: libasound2 (>= 1.0.16), libatk1.0-0 (>= 1.12.4), libavc1394-0
         (>= 0.5.3), libavcodec57 (>= 7:3.2.4) | libavcodec-extra57 (>=
         7:3.2.4), libavformat57 (>= 7:3.2.4), libavutil55 (>= 7:3.2.4), libc6
         (>= 2.14), libcairo2 (>= 1.2.4), libdv4 (>= 1.0.0), libfontconfig1
         (>= 2.11), libfreetype6 (>= 2.2.1), libgcc1 (>= 1:3.0),
         libgdk-pixbuf2.0-0 (>= 2.22.0), libglade2-0 (>= 1:2.6.4-2~), libglib2.0-0
         (>= 2.16.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
         (>= 5.2), libswscale4 (>= 7:3.2.4), 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, kino-dvtitler:i386, kino-timfx:i386,
           kinoplus:i386, kino:i386
Replaces: kino-dvtitler, kino-timfx, kinoplus, kino-dvtitler:i386, kino-timfx:i386,
          kinoplus:i386
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::graphical, 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 است که با داده‌های تصویری کار کرده و هدف اصلی آن ویرایش است.
Browsing this classification can help you to search for a package which corresponds to known needs; even if it returns a (moderate) number of hits, the rest of the search can be done manually. To do that, you can use the ~G search pattern in aptitude, but it is probably easier to simply navigate the site where tags are managed:
انتخاب works-with::video و use::editing منجر به جستجو بسته‌های مرتبط می‌گردد، که شامل kino و pitivi نیز می‌شود. این سیستم طبقه‌بندی روز به روز بیشتر مورد استفاده قرار می‌گیرد و مدیر بسته‌ها نیز به مرور رابط‌های جستجوی کاربردی‌تری را برای آن فراهم می‌کنند.
در نتیجه، بهترین ابزار برای اینکار بستگی به پیچدگی جستجو مورد نظر شما دارد: