Listar todas las versiones de un paquete


17

¿Hay un equivalente de este comando? yum list kernel-headers --showduplicatesen Ubuntu con apt-get, apt-cacheetc. El comando anterior enumera varias versiones de las rpm del encabezado del núcleo disponibles en F20 / RHEL o instalaciones.

Armario que puedo usar apt-cache showpkg, ¿no estoy seguro de si hay una mejor manera?

$ apt-cache showpkg linux-image  
Package: linux-image  
Versions:   

Reverse Depends:  
  firmware-crystalhd,linux-image  
  systemtap,linux-image  
  fiaif,linux-image  
Dependencies:  
Provides:  
Reverse Provides:  
linux-image-3.13.0-27-lowlatency 3.13.0-27.50  
linux-image-3.13.0-27-generic 3.13.0-27.50  
linux-image-3.13.0-24-lowlatency 3.13.0-24.47  
linux-image-3.13.0-24-generic 3.13.0-24.47  
linux-image-3.13.0-24-lowlatency 3.13.0-24.46  
linux-image-3.13.0-24-generic 3.13.0-24.46  

Esperando resultados similares:

$ yum list kernel-headers --showduplicates
Loaded plugins: langpacks, refresh-packagekit
Installed Packages
kernel-headers.x86_64 3.11.10-301.fc20 @fedora
Available Packages
kernel-headers.x86_64 3.11.10-301.fc20 fedora 
kernel-headers.x86_64 3.14.4-200.fc20 updates

Esto me ayudaría a hacer una rebaja o actualizar a una versión específica.


¿quiso decir enumerar la versión de todos los paquetes instalados junto con los nombres de los paquetes?
Avinash Raj

Instalados y desinstalados, similar al comando anterior:
askb

Lo más dpkg --list | grep linux-image
cerca

dpkg --listmuestra los detalles de todos los paquetes instalados.
Avinash Raj

Respuestas:


13

Tiene el comando correcto, excepto que linux-image no es un nombre de paquete real.

$ apt-cache show linux-image
N: Can't select versions from package 'linux-image' as it is purely virtual
N: No package found

apt-cache showpkgSin embargo, debería funcionar para paquetes reales. p.ej

$ apt-cache showpkg lyx
Package: lyx
Versions: 
2.1.0-1~trusty~ppa4 (/var/lib/apt/lists/ppa.launchpad.net_lyx-devel_release_ubuntu_dists_trusty_main_binary-amd64_Packages) (/var/lib/dpkg/status)
 Description Language: 
                 File: /var/lib/apt/lists/ppa.launchpad.net_lyx-devel_release_ubuntu_dists_trusty_main_binary-amd64_Packages
                  MD5: 8c75d53cfd29c5b19c2172cb07b7fe9a

2.0.6-1build1 (/var/lib/apt/lists/ftp.iinet.net.au_pub_ubuntu_dists_trusty_universe_binary-amd64_Packages)

Si desea ver todas las versiones de linux-imagepaquetes similares, puede hacer una búsqueda, por ejemplo

$ apt-cache search linux-image | grep '^linux-image'

El problema es que las diferentes versiones del kernel ( linux-image) están en paquetes individuales y se nombran independientemente de acuerdo con la versión. No son todas las versiones del paquete único.


EDITAR

Esto enumera todos los paquetes disponibles. Para mostrar cuál está instalado, puede usar dpkg -l. p.ej

$ dpkg -l lyx
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                                           Version                      Architecture                 Description
+++-==============================================-============================-============================-==================================================================================================
ii  lyx                                            2.1.0-1~trusty~ppa4          amd64                        Document Processor

EDIT2

Otra forma de obtener información sobre paquetes diferentes pero con nombres similares (por ejemplo linux-image*) es mediante el uso aptitude search.

$ aptitude search linux-image

También puede filtrar con grep usando esta incómoda sintaxis para evitar un error / característica de aptitud.

$ aptitude -w $COLUMNS search linux-image | grep '32 bit'

Un ien la primera columna le dice que ya está instalado. Ver man aptitudepara los otros personajes.


el resultado que obtengo yummuestra claramente lo que está instalado, desinstalado y disponible.
askb

Bueno. Probablemente debería agregar esto a su pregunta, ya que muchos usuarios de Ubuntu (incluido yo mismo) no saben qué salida yumproduce. He agregado más información en la respuesta.
Sparhawk

@askb Gracias por la edición. Como mencioné en mi respuesta, creo que parte del problema es que Ubuntu cambia el nombre de cada kernel dependiendo de la versión, mientras que Fedora usa el mismo nombre independientemente de la versión. Una ventaja de la primera es que puede tener varias versiones instaladas a la vez y revertir a una versión anterior en grub si hay problemas. En cualquier caso, la apt-cache searchestrategia debería funcionar.
Sparhawk

gracias por la respuesta, con rpminstalaciones basadas, posiblemente, varias versiones de kernel instaladas siempre que las versiones sean diferentes, pero esto normalmente no es aplicable para todos los paquetes en instalaciones basadas en rpm o no AFAIK directo. Sin embargo, todavía estoy tratando de encontrar una manera limpia, donde obtenga detalles de los paquetes instalados y disponibles (en repositorios) en ubuntu, en lo que respecta a la apt-cache search idea , es aplicable solo a paquetes locales y no busca en los repositorios . Lo más cerca que pude conseguir fue conshowpkg
askb

@askb No, apt-cache searchbusca repositorios , no localmente. AFAIK no le dice nada acerca de los paquetes instalados localmente. Necesitas dpkgeso, según mi primera edición. He agregado en una segunda edición, que es un comando único aplicable a los núcleos.
Sparhawk

8

Creo que estás buscando el comando madison en apt-cache:

apt-cache madison chromium-browser

Salida:

chromium-browser | 50.0.2661.102-0ubuntu0.14.04.1.1117 | http://archive.ubuntu.com/ubuntu/ trusty-updates/universe amd64 Packages
chromium-browser | 50.0.2661.102-0ubuntu0.14.04.1.1117 | http://security.ubuntu.com/ubuntu/ trusty-security/universe amd64 Packages
chromium-browser | 34.0.1847.116-0ubuntu2 | http://archive.ubuntu.com/ubuntu/ trusty/universe amd64 Packages

Muestra una referencia rápida de todas las versiones disponibles y el repositorio del que provienen. Esto es excelente si usa un PPA para un paquete y desea verificar la diferencia en las versiones entre el PPA y los repositorios principales.

Más información sobre madison en la página de manual:

madison pkg...
           apt-cache's madison command attempts to mimic the output format and a subset of the functionality of the Debian archive management tool,
           madison. It displays available versions of a package in a tabular format. Unlike the original madison, it can only display information
           for the architecture for which APT has retrieved package lists (APT::Architecture).

0

Puede usar dpkgpara ver todos los paquetes instalados:

$ dpkg --get-selections | grep -v deinstall | grep linux-image

El metapaquete del kernel de Linux se llama en Debian linux-image-generic.

$ apt-cache madison linux-image-generic

le dará todas las versiones disponibles en repositorios APT (no necesariamente instalados en su sistema).


-1

¿Has intentado arrancar un kernel antiguo y en la terminal ingresa:

showpkg kernel-header.list

y creo que podría estar en el directorio de arranque, y todo el núcleo está allí, y esto podría funcionar bien.

y luego puedes escribir para degradar esto en la terminal:

 sudo apt-get -y --force-yes purge linux-shim-efi shim-amd64-generic linux-shim-amd64 

y podría funcionar bien de esta manera.


No estoy seguro de lo que esto significa. No hay /dirctory, /directoryo /gruben mi sistema, y ​​no se llama a ningún archivo kernel-headers.list. Además, leer un archivo local probablemente no le dirá qué versiones remotas están disponibles. -1 (pero lo revertiré si puedes aclararlo).
Sparhawk

Probablemente me refiero al directorio / boot donde se encuentra el archivo grub.
Michael

No tengo ningún archivo en /boot/kernel-headers.list. Sin embargo, puede derivar una lista de los núcleos instalados de (por ejemplo) /boot/grub/grub.cfg, pero nuevamente, esto es solo los núcleos instalados localmente, no las versiones remotas en los repositorios.
Gavilán

Tal vez no, es que es la extensión .cfg / boot
Michael

Revisé todos los archivos find /boot -name '*.cfg', pero ninguno de ellos contiene información sobre versiones remotas del núcleo.
Sparhawk
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.