Veo que dpkg tiene un campo "Proporciona" para paquetes.
$ apt-cache show vim-tiny | grep Provides
Provides: editor
$
¿Cómo sé qué paquetes proporcionan, es decir, "editor"?
fuente
Veo que dpkg tiene un campo "Proporciona" para paquetes.
$ apt-cache show vim-tiny | grep Provides
Provides: editor
$
¿Cómo sé qué paquetes proporcionan, es decir, "editor"?
Puede lograr el efecto deseado sin aptitude
(lo que parece desanimado en estos días) mediante el uso apt-cache showpkg
, que incluye una lista de Reverse Provides
. Pasarlo a través de un pequeño sed
script eliminará las otras cosas:
apt-cache showpkg <package> | sed '/Reverse Provides/,$!d'
Un ejemplo un poco más bonito (pero más largo para escribir) (solo enumera los nombres de los paquetes, no las versiones, y los ordena alfabéticamente) con awk
:
apt-cache showpkg httpd | awk '/Pa/, /Reverse P/ {next} {print $1 | "sort"}'
... y esto se puede canalizar uniq
para eliminar duplicados (lo que puede existir debido a que varias versiones del paquete son reversas). Tenga en cuenta que el uso de uniq
no ayudará con la primera versión, ya que uniq
solo elimina los duplicados si están en líneas adyacentes y la sed
versión no ordena la salida.
Finalmente, uno puede definir una función para un uso más fácil, como sigue:
provides () { apt-cache showpkg $1 | awk '/Pa/, /Reverse P/ {next} {print $1 | "sort"}' | uniq;}
Pegue esto (por ejemplo) .bashrc
, para que se cargue cuando lo haga el shell, y sea posible ejecutarlo provides <package>
para obtener los paquetes inversos.
sort -u
eliminará los duplicados, por lo que la llamada auniq
no es necesaria. Pero lo que sea, buena solución, es mucho más rápido.aptitude
también coincidirádoom-wad-editor
, por lo que no son completamente equivalentes.sort -u
. No lo sabía. Me pregunto por qué no respondedoom-wad-editor
... Eso es particularmente interesante ya queapt-cache showpkg
muestra que no tener depende en absoluto.aptitude
la búsqueda coincidirá con subcadenas en elProvides:
campo (por lo tanto, retomandodeutex
), donde elapt-cache showpkg
método usa nombres de paquete exactos. Ambos, por lo tanto, presumiblemente tienen su lugar.<package>
hay un paquete virtual. Al igual,editor
.Provides:
línea en el repositorio. De la misma manera queapt-cache search
, entonces, el resultado correcto cuando no hay ninguno es la falta de salida, que es lo que proporcionan estas opciones. Puede haber versiones concretas y virtuales del mismo paquete, y supongo que podríamos mejorarlas para mostrar la versión concreta donde existe, pero eso es todo.Aptitude también proporciona esta funcionalidad. Entonces, un comando como este mostrará todos los paquetes que proporcionan un editor.
Incluso puede agregar otras restricciones. Como mostrar solo editores instalados.
fuente
fuente
Leyendo la base de datos directamente:
Uso:
fuente
Basarse en su ejemplo. Puedo enumerar el paquete proporcionado
editor
por usoapropos
fuente
apropos
busca en las páginas del manual, así que esto solo mostrará los comandos instalados ... Además, OP quiere una lista de paquetes .