¿Cómo busco paquetes disponibles desde la línea de comandos?

584

Instalé exitosamente algunos paquetes usando la línea de comando 'sudo apt-get install ...' cuando supe de antemano que esos paquetes están disponibles. Pero, ¿cómo puedo buscar u obtener una lista de lo que está disponible en los repositorios?

Mark Thomas
fuente

Respuestas:

729

Para buscar un paquete en particular por nombre o descripción:

Desde la línea de comandos, use:

apt-cache search keyword

donde la palabra clave de búsqueda puede ser todo o parte del nombre de un paquete o cualquier palabra utilizada en su descripción.

Por ejemplo, apt-cache search proxyincluye ambos paquetes:

proxy pequeño : un proxy HTTP ligero, sin almacenamiento en caché y opcionalmente anónimo
tircd - proxy ircd para la API de twitter

Nota: la lista puede ser larga, por lo que puede canalizar la salida para que se lesspueda desplazar una línea o una pantalla a la vez, es decir apt-cache search something | less.

Para obtener una lista de TODOS los paquetes

apt-cache search .

Use Synaptic si tiene habilitado el reenvío de X o está en un escritorio

Synaptic es a menudo una forma más conveniente de hacer esto, pero requiere al menos un servidor X en su extremo (a menos que esté ejecutando un entorno de escritorio). Instalar con sudo apt-get install synapticsi es necesario.

  • Synaptic en el servidor ssh'd a través del reenvío X:

    ingrese la descripción de la imagen aquí

  • Synaptic se ejecuta localmente en Ubuntu Desktop:

    ingrese la descripción de la imagen aquí

ish
fuente
@MarkThomas Pruébelo apt-cache policytambién, le brinda más información sobre las fuentes.
yclian
como apt-get, simplemente puede ejecutar apt-cachesin ningún argumento y obtener la breve información de ayuda / hoja de referencia. Siempre puede leer las páginas de manual para obtener más ayuda. (es decir man apt-cache)
pd12
Suponiendo que soy tan tonto como para querer vivir los resultados apt install, ¿hay una manera inteligente de hacerlo? El resultado de esta función es desordenado. Se podría usar la primera palabra de cada línea, pero debería haber una manera más fácil.
Deleet
También puedes buscar en línea. packages.ubuntu.com
activedecay
Si solo necesita los nombres de todos los paquetes disponibles, simplemente hágaloapt-cache pkgnames
flaz14
42

Usando aptitude, apt-cachey apttodos formatean la salida de manera diferente. (Ninguno de estos requiere el uso sudocuando se busca un paquete). Prefiero usarlo aptpara su legibilidad. Destaca el nombre del paquete y pone un espacio entre los diferentes paquetes. También se [installed]enumera al lado de cada paquete que ya está instalado. Uso:

apt search package-name
jbrock
fuente
2
si ejecuto decir '$ apt search firefox' produce toneladas de resultados de salida :(
user3804598
Puede limitar su búsqueda con algo como:apt search firefox | grep -A 3 firefox
jbrock
1
Otra opción para limitar la búsqueda: apt search ^firefoxoapt search ^firefox$
jbrock
25

También puede usar aptitude desde la línea de comando:

aptitude search xxxxxx
lxx
fuente
2
Lo molesto de este es que Ubuntu no parece dárselo por defecto. Hasta que me enteré apt-cache, siempre tenía que hacerlo apt-get install aptitudeen cada nueva caja que instalé. Sin embargo, dado que no puedo encontrar una manera de apt-cachemostrarme si está instalado, supongo que tendré que seguir haciéndolo un poco :-)
2
@paxdiablo Simplemente cree un script de shell de dos líneas (algo parecido a la segunda línea dpkg --list | grep "$1") o agregue la función de shell a este efecto en su .bash_login... :-)
FooF
5

La herramienta de línea de comandos apt-cache se utiliza para buscar en la memoria caché del paquete de software apt. En palabras simples, esta herramienta se usa para buscar paquetes de software, recolecta información de paquetes y también se usa para buscar qué paquetes disponibles están listos para la instalación en sistemas basados ​​en Debian o Ubuntu.

Para averiguar el nombre del paquete y su descripción antes de la instalación, use el indicador 'buscar'. El uso de "buscar" con apt-cache mostrará una lista de paquetes coincidentes con una breve descripción. Digamos que le gustaría encontrar la descripción del paquete 'vsftpd', luego el comando sería.

Sintaxis:

apt-cache search SearchTerm
$ apt-cache search vsftpd

El posible resultado sería:

vsftpd - lightweight, efficient FTP server written for security
ccze - A robust, modular log coloriser
ftpd - File Transfer Protocol (FTP) server
yasat - simple stupid audit tool

Para buscar y enumerar todos los paquetes que comienzan con 'vsftpd', puede usar el siguiente comando.

$ apt-cache pkgnames vsftpd

También es posible que desee ejecutar los resultados a través de un más, o incluso un grep. Por ejemplo:

apt-cache search firefox | grep plugin
U.Swap
fuente
3

Asumiendo que quiere hacer todo esto desde la terminal, use lo siguiente:

primero, le recomiendo que actualice los archivos de índice del paquete para que la lista de todos los archivos en el repositorio que está a punto de crear esté actualizada

sudo apt-get update

luego use la función " search regex" en apt-cachedonde "regex" representa Expresión regular y es el patrón dado para la búsqueda. Para obtener más información sobre los patrones de búsqueda, puede buscar regex manual (7) por comando man 7 regexo en inglés . Una variable regex igual a . Será suficiente.

apt-cache search .

Lo anterior le dará TODOS los resultados, pero no está en ningún orden que sea particularmente útil para navegar.

Así que finalmente podemos ordenar por orden de diccionario usando sort -dy mostrar solo una página a la vez usando less.

apt-cache search . |sort -d |less
hermano-bilo
fuente