6/16/2008

Поиск пакета по меткам в Debian GNU/Linux: debtags

В репозитории Debian GNU/Linux пакетов очень и очень много. Для поиска пакетов можно использовать много методов, однако всегда интересно посмотреть, а может быть есть полезная и нужная программа, которую пропустил. Для этого есть в каждом пакете теги (они же метки), а поиск по меткам лучше всего удаётся замечательной программе debtags.

Можно иметь под рукой огромный репозиторий и не знать, что в нем есть. Начиная с Debian Etch, появилась такая замечательная программа, как debtags. Она при умелом пользовании должна сильно помочь при поиске программ для конкретных задач.


Поиск по аналогии
Например, поищем программы для просмотра изображений. Скажем, используем программу gqview - поищем её аналоги в репозитории:
$ debtags related gqview
Результат:

pornview
- Image and movie viewer/manager
gtksee - GTK-based clone of ACDSee (an image viewer)

Продолжаем искать, уже зная о трёх программах. Для этого последовательно увеличиваем такой критерий поиска, как "дистанция", характеризующий похожесть искомых пакетов на указанный.
$ debtags related -d 1 gqview,pornview,gtksee
feh - imlib2 based image viewer
gthumb - an image viewer and browser
paul - Yet another image viewer (displays PNG, TIFF, GIF, JPG, etc.)

Таким образом нашли ещё три программы для просмотра изображений, feh, gthumb и paul. Используем их названия для дальнейшего поиска:

$ debtags related -d 2 gqview,pornview,gtksee,feh,gthumb,paul
Получаем:

xsane - GTK+-based X11 frontend for SANE (Scanner Access Now Easy)
showimg - A feature-rich image viewer
djview - Viewer for the DjVu image format
eog - Eye of Gnome graphics viewer program
xli - command line tool for viewing images in X11

Тут результат уже не точен, но 3 из 5 программ нам подходят. Среди горы пакетов найдено за пару минут целых 5 просмотрщиков.


Поиск по конкретным тэгам
Выбираем подходящие теги для поиска:
$ aptitude show gqview eog showimg
И, наконец, ищем:
$ debtags search "use::viewing && works-with::image && interface::x11"
Получаем список из 51 пакета. Просмотрев его по диагонали, и выясняем, есть ещё несколько ранее не обнаруженных программ по просмотру изображений:

gimageview
xzgv
gwenview
glib
imgseek
kview
qiv
kuickshow


Осталось только выбрать самый подходящий.


"Умный" поиск
Теперь посмотрим, что из содержимого репозитория Дебиан умеет работать с изображениями:
$ debtags smartsearch images

В результате нас попросят уточнить область поиска. Ладно, хотим посмотреть на программы для растровых изображений.

Tag selection:

1) works-with::image (420/15850)
2) works-with::image:raster (293/15850)
3) works-with-format::png (35/15850)
4) role::program (4851/15850)
5) interface::x11 (2436/15850)
6) hardware::camera (44/15850)
7) x11::application (2175/15850)

8) role::program (4851/15850)
9) devel::library (3776/15850)
10) scope::utility (2970/15850)
11) interface::x11 (2436/15850)
12) interface::commandline (2405/15850)
13) x11::application (2175/15850)
14) special::not-yet-tagged (1914/15850)
15850 packages selected so far.
Your choice (+#, -#, =#, K word, View, Done, Quit, ?): +2

И ещё уточняем: нужны программы для редактирования изображений:

Tag selection:
1) works-with::image:raster (wanted)

2) works-with::image (289/293)
3) works-with-format::png (28/293)
4) role::program (125/293)
5) interface::x11 (86/293)
6) hardware::camera (25/293)
7) x11::application (79/293)
8) scope::utility (81/293)

9) works-with::image (289/293)
10) interface::commandline (65/293)
11) x11::application (79/293)
12) scope::utility (81/293)
13) use::editing (58/293)
14) interface::x11 (86/293)
15) uitoolkit::gtk (50/293)
293 packages selected so far.
Your choice (+#, -#, =#, K word, View, Done, Quit, ?): +13

Так можно найти много интересного в репозитории!

11 комментариев:

  1. Всегда подозревал, что что-то такое должно быть. :) Но как-то руки все не доходили поискать самому. Теперь буду знать, спасибо, познавательно.

    ОтветитьУдалить
  2. Еще можно искать в описаниях пакетов, тоже очень удобно.

    В nncurses интерфейсе aptitude в строке поиска можно набрать ~d[ключевое слово]

    подробнее http://www.opennet.ru/tips/info/1566.shtml

    ОтветитьУдалить
  3. 2 Olly Cat пишет...
    Всегда подозревал, что что-то такое должно быть. :)
    Оно появилось, насколько я знаю, в Этче. Это комментаторы вытащили меня из танка :-)

    Теперь буду знать, спасибо, познавательно.
    Пожалуйста. На самом деле с помощью debtags я нашёл пакеты в репозитории, о которых даже не подозревал :-)

    2 timyr-lan пишет...
    В nncurses интерфейсе aptitude в строке поиска можно набрать
    Да, можно. Но не я один считаю интерфейс к aptitude на ncurses созданным для не-людей.

    Если есть ещё какая хитрая утилита для поиска пакетов - отпишитесь.

    ОтветитьУдалить
  4. > Если есть ещё какая хитрая утилита для поиска пакетов - отпишитесь.

    Про 'apt-cache search слово' не надо забывать... Правда, оно совсем не так ищет.

    ОтветитьУдалить
  5. А кстати вопрос --- какие механизмы поиска у apt-get search и у aptitude search?
    Давно заметил, что при одинаковыз запросах эти две команды выдают совершенно разные результаты.
    Может кто-нибудь объяснить?

    ОтветитьУдалить
  6. >Может кто-нибудь объяснить?


    aptitude search ~dkde~dimage~dviewer

    man aptitude

    ОтветитьУдалить
  7. Странно, но у меня не работает =/
    $ debtags related gqview
    The package gqview has no tags attached.

    что я делаю не так, товарищ virens?

    ОтветитьУдалить
  8. Спасибо за статью - когда-нибудь может сэкономить кучу времени. Жаль только в Ubuntu поддержка debtags несколько хуже.

    ОтветитьУдалить
  9. есть в каждом пакете теги
    К сожалению, пока далеко не в каждом. Часто приходится комбинировать поиск по описаниям и тэгам чтоб получить все результаты.

    ОтветитьУдалить
  10. Пропущен один символ:
    "Cреди горы пакетов найдено за пару минут целых (сколько?) просмотрщиков."

    ОтветитьУдалить
  11. 2 Конищев Дмитрий пишет...
    Спасибо за статью - когда-нибудь может сэкономить кучу времени.
    А я уже экономлю :-)


    2 Gorgon пишет...
    К сожалению, пока далеко не в каждом.
    Мы будем надеяться на лучшее, что скоро тегов станет больше, а результаты - точнее.


    2 Анонимный пишет...
    Пропущен один символ:
    Спасибо большое, поправил!

    ОтветитьУдалить