Este artículo explica cómo enumerar todos los paquetes disponibles (instalados y disponibles para la instalación) en un repositorio de Ubuntu, Linux Mint o Debian, ya sea un repositorio oficial o una fuente de terceros como un PPA, etc.
A continuación se muestran 2 formas de listar paquetes desde un repositorio:a través de una GUI o a través de la línea de comandos.
De la misma serie:
- Cómo evitar que un paquete se actualice en Ubuntu, Debian o Linux Mint [APT]
- Cómo encontrar paquetes disponibles desde la línea de comandos en Debian, Ubuntu o Linux Mint [APT]
Lista de todos los paquetes en un repositorio Debian, Ubuntu o Linux Mint con una GUI
Si desea enumerar todos los paquetes en un repositorio en su escritorio, puede usar el Administrador de paquetes Synaptic.
Synaptic es una aplicación de administración de paquetes gráficos para APT (APT es el administrador de paquetes de línea de comando principal para Debian y sus derivados).
Si no tiene Synaptic instalado, puede instalarlo en Debian, Ubuntu y cualquier distribución de Linux basada en Debian o Ubuntu, incluidos los sistemas operativos elementales, Linux Mint, etc., usando este comando:
sudo apt install synaptic
Para enumerar todos los paquetes en un repositorio de software específico con Synaptic, inicie la aplicación y haga clic en Origin
en la parte inferior izquierda de la ventana. A continuación, seleccione el repositorio para el que desea enumerar todos los paquetes disponibles (tanto instalados como disponibles para la instalación) de la lista que se muestra en el lado izquierdo del Administrador de paquetes Synaptic.
Por ejemplo, aquí está Synaptic, que muestra todos los paquetes disponibles en el repositorio de Google y enumera Google Chrome Stable, Beta e Unstable, así como también Google Earth Pro y EC:
Como puede ver, aquí se enumeran todas las fuentes de software, incluidos los repositorios oficiales.
Los repositorios PPA de Launchpad también son compatibles. Su nombre comienza con LP-PPA, seguido del nombre real de PPA. Synaptic enumera 2 entradas para cada PPA:asegúrese de seleccionar la entrada de PPA que termina con /ubuntu-codename
, por ejemplo /bionic
, /cosmic
, etc. La entrada con la terminación /now
no enumera todos los paquetes disponibles en el PPA.
Esta es una captura de pantalla que muestra todos los paquetes disponibles en el PPA de controladores de gráficos de Ubuntu (para Ubuntu 18.10 Cosmic Cuttlefish, que es lo que estoy usando), incluidos los instalados en mi sistema:
No estoy seguro de por qué, pero algunos paquetes se enumeran varias veces para las fuentes de PPA (y solo para los repositorios de PPA). Esto es solo una cuestión de visualización y no interrumpe ninguna funcionalidad.
Lista todos los paquetes en un repositorio en Ubuntu, Debian o Linux Mint desde la línea de comandos
Enumerar todos los paquetes en un repositorio desde la línea de comandos en Ubuntu, Debian o Linux Mint es un poco complicado, pero sigue siendo bastante fácil.
Hay varias formas de hacer esto a través del comando, pero solo mencionaré una. El comando para listar todos los paquetes disponibles en repository-name
es el siguiente:
grep ^Package /var/lib/apt/lists/repository-name*_Packages | awk '{print $2}' | sort -u
Explicaré cómo obtener el nombre del repositorio. descubre /var/list/apt/lists
Y cómo usarlo. Antes de eso, explicaré lo que hace este comando:
-
grep ^Package ...
busca líneas que comienzan con^Package
haciendo/var/lib/apt/lists/*_Packages
archivo -
awk '{print $2}'
genera la segunda columna para cada línea (esto filtrará todo excepto el nombre del paquete) -
sort -u
ordena las líneas y solo genera líneas únicas (elimina los duplicados)
Lo primero que debes hacer es buscar el nombre del repositorio *_Packages
Archivo de /var/lib/apt/lists/
. Puede listar todos los repositorios _Packages
Archivos disponibles en /var/lib/apt/lists/
con un simple ls
:
ls /var/lib/apt/lists/*_Packages
Dado que los resultados pueden ser muy largos, puede ejecutar la salida del comando a través de more
para facilitar la lectura:
ls /var/lib/apt/lists/*_Packages | more
Si conoce parte del nombre del repositorio (estoy usando KEYWORD
en el comando a continuación como el nombre), puede usar el ls
Resultados con grep
, así:
ls /var/lib/apt/lists/*_Packages | grep KEYWORD
Suponga que desea enumerar todos los paquetes en el repositorio oficial de Tor y sabe que el nombre del repositorio debe incluir tor
. En ese caso, usaría este comando para averiguar _Packages
Nombre de archivo de /var/lib/apt/lists/
ls /var/lib/apt/lists/*_Packages | grep tor
Con consultas rápidas, es posible que vea algunos repositorios no relacionados, pero aún es más fácil ver lo que está buscando. grep
que listar todos los repositorios _Packages
Archivos.
Ahora que sabes _Packages
nombre de archivo, puede enumerar todos los paquetes disponibles en este repositorio ejecutando este comando:
grep ^Package /var/lib/apt/lists/some-repository-amd64_Packages | awk '{print $2}' | sort -u
Utilice el archivo con la arquitectura para la que desea enumerar todos los paquetes disponibles en este repositorio. El ejemplo anterior es para 64 bits (amd64
), pero podrías usarlo i386
para 32 bits, etc.
No necesitas todo el repositorio _Packages
Nombre del archivo. Volviendo a mi ejemplo de repositorio Tor, el _Packages
El nombre de archivo para Tor es deb.torproject.org_torproject.org_dists_cosmic_main_binary-amd64_Packages
. En ese caso, podría usar deb.torproject
seguido de *_Packages
para simplificar cosas como esta:
grep ^Package /var/lib/apt/lists/deb.torproject*_Packages | awk '{print $2}' | sort -u
Que genera lo siguiente:
deb.torproject.org-keyring
tor
tor-geoipdb
Otro ejemplo. Suponga que quiere todos los paquetes disponibles en Linux Uprising Oracle Java 11 PPA (ppa:linuxuprising/java
). Puede enumerarlos usando:
grep ^Package /var/lib/apt/lists/ppa.launchpad.net_linuxuprising_java*_Packages | awk '{print $2}' | sort -u
Que genera esto:
oracle-java11-installer
oracle-java11-set-default
Para usar esto con otros repositorios de PPA, reemplace linuxuprising
con la primera parte del nombre del PPA y java
con la segunda parte del nombre del PPA, y el comando enumerará todos los paquetes de ese PPA (tanto instalados como no instalados).
También puede enumerar todos los paquetes disponibles en todos los repositorios de PPA que haya agregado a su sistema usando:
grep ^Package /var/lib/apt/lists/ppa.launchpad.net*_Packages | awk '{print $2}' | sort -u
Para facilitar el acceso, puede marcar este comando usando el Administrador de marcadores para comandos de marcador (aunque se usa principalmente para buscar, HSTR también puede usar marcadores para comandos).