Я вижу, что в dpkg есть поле "Обеспечивает" для пакетов.
$ apt-cache show vim-tiny | grep Provides
Provides: editor
$
Как мне узнать, какие пакеты предоставляют, например, "редактор"?
источник
Я вижу, что в dpkg есть поле "Обеспечивает" для пакетов.
$ apt-cache show vim-tiny | grep Provides
Provides: editor
$
Как мне узнать, какие пакеты предоставляют, например, "редактор"?
Вы можете достичь желаемого эффекта без aptitude
(который, кажется, не рекомендуется в эти дни) с помощью apt-cache showpkg
, который включает в себя список Reverse Provides
. Передача его через небольшой sed
скрипт избавит от других вещей:
apt-cache showpkg <package> | sed '/Reverse Provides/,$!d'
Несколько более симпатичный (но более длинный для ввода) пример (перечисляет только имена пакетов, а не версии и сортирует их в алфавитном порядке) можно с помощью awk
:
apt-cache showpkg httpd | awk '/Pa/, /Reverse P/ {next} {print $1 | "sort"}'
... и это может быть передано uniq
для удаления дубликатов (которые могут существовать из-за того, что несколько версий пакета обеспечивают обратное предоставление). Обратите внимание, что использование uniq
первой версии не поможет, поскольку uniq
удаляет дубликаты , только если они находятся на соседних строках, а sed
версия не сортирует выходные данные.
Наконец, можно определить функцию для более легкого использования следующим образом:
provides () { apt-cache showpkg $1 | awk '/Pa/, /Reverse P/ {next} {print $1 | "sort"}' | uniq;}
Придерживайтесь этого (например) .bashrc
, чтобы он загружался, когда запускается оболочка, и становится возможным запуск provides <package>
для получения обратных пакетов.
sort -u
удалит дубликаты, поэтому вызовuniq
не нужен. Но как бы то ни было, хорошее решение, это намного быстрее.aptitude
будет совпадатьdoom-wad-editor
, поэтому они не являются полностью эквивалентными.sort -u
. Не знал этого. Интересно, почему это не подхватываетdoom-wad-editor
...? Это особенно интересно, так какapt-cache showpkg
показывает, что не зависит вообще.aptitude
поиск будет соответствовать подстрокам вProvides:
поле (таким образом, подбираяdeutex
), гдеapt-cache showpkg
метод использует точные имена пакетов. Следовательно, оба имеют свое место.<package>
это виртуальный пакет здесь. Нравитсяeditor
.Provides:
строка в хранилище. Таким же образом, какapt-cache search
и тогда, правильный результат, когда его нет, - это недостаток выходных данных - вот что обеспечивают эти опции. Могут быть конкретные и виртуальные версии одного и того же пакета, и я полагаю, мы могли бы улучшить их, чтобы показать конкретную версию, где она существует, но это все.Aptitude также предоставляет эту функциональность. Таким образом, команда, подобная этой, покажет все пакеты, которые предоставляют редактор.
Вы даже можете добавить другие ограничения. Нравится показывать только установленные редакторы.
источник
источник
Чтение базы данных напрямую:
Применение:
источник
основываясь на вашем примере. Я могу перечислить пакет предоставить
editor
по использованиюapropos
источник
apropos
поиск по страницам справочника, поэтому в нем будут перечислены только установленные команды ... Плюс, OP хочет список пакетов .