Cómo averiguar qué versiones de un paquete puedo instalar en APT


63

Con APT, puede instalar una versión específica de un paquete usando:

apt-get install package=1.0

Pero no puedes hacer

apt-get install package=1.*

Entonces, ¿cómo puedo saber qué versiones están disponibles packageen un repositorio específico o en todos los repositorios en mi /etc/apt/sources.list?


Respuestas:


90

Solo como un apéndice

apt-cache madison <<package name>>

enumerará las versiones disponibles de todas sus fuentes.

apt-cache madison vim
   vim | 2:7.3.547-1 | http://debian.mirrors.tds.net/debian/ unstable/main amd64 Packages
   vim | 2:7.3.429-2 | http://debian.mirrors.tds.net/debian/ testing/main amd64 Packages
   vim | 2:7.3.429-2 | http://http.us.debian.org/debian/ testing/main amd64 Packages
   vim | 2:7.3.429-2 | http://debian.mirrors.tds.net/debian/ testing/main Sources
   vim | 2:7.3.547-1 | http://debian.mirrors.tds.net/debian/ unstable/main Sources

madisones un apt-cachesubcomando, man apt-cachedice:

El comando madison de apt-cache intenta imitar el formato de salida y un subconjunto de la funcionalidad de la herramienta de gestión de archivos de Debian, madison. Muestra las versiones disponibles de un paquete en formato tabular. A diferencia del madison original, solo puede mostrar información de la arquitectura para la cual APT ha recuperado las listas de paquetes (APT :: Architecture).


3
Madison? ¿Es ese un parámetro para apt-cache o un nombre de paquete? Ya no estoy usando una distribución apt-get (pero +1 por si acaso)
Camilo Martin

55
parámetro. No te sientas mal, también fue uno de esos descubrimientos casuales para mí. Hay una página web (¿aplicación?) En el sitio de Debian que muestra la misma información, que supongo que fue primero, y alguien la codificó para apt-cache. Bastante práctico.
lornix

Wow, bastante útil de hecho. Cambiaré la aceptación a esto porque es justo lo que quería (en ese momento) y viene incorporado sin agarrarlo.
Camilo Martin

1
Esto no funciona para todos los paquetes.
Cerin

1
@nuoritoveri Las fuentes de fuentes son repositorios que contienen el código fuente de los diversos programas y paquetes. El código fuente puede descargarse usando el apt-get source XYZZYcomando para descargar la fuente del paquete XYZZY . Consulte la página de manual de apt-get ( ) para obtener más detalles. man apt-get
lornix

25

Los apt-cache show <Package>programas de las descripciones de los paquetes de todas las versiones de la instalación de Debian pueden instalar (es decir, de la lista en caché de paquetes disponibles en los repositorios listados en sources.list). Así que supongo que podrías probar algo como (por ejemplo):

# apt-cache show package | grep Version
Version 1.0
Version 0.9-2squeeze1

El apt-cache showle daría mucha más información que sólo versiones.


Gracias, lo probaré. ¿Es posible rebajar?
Camilo Martin

Parece funcionar, solo quiero saber si esto enumeraría los paquetes cuyas versiones son inferiores a las que tengo actualmente.
Camilo Martin

55
puede usar la política apt-cache si solo le interesa la versión.
Rémi

@ Rémi Gracias !! Ese comando resolvió mi próxima duda, cómo saber de dónde vendrá un paquete. Incluso ya estaba buscando :)
Camilo Martin

12
apt-cache policy gdb

Salida de muestra:

gdb:
  Installed: 7.7.1-0ubuntu5~14.04.2
  Candidate: 7.7.1-0ubuntu5~14.04.2
  Version table:
 *** 7.7.1-0ubuntu5~14.04.2 0
        500 http://fr.archive.ubuntu.com/ubuntu/ trusty-updates/main amd64 Packages
        100 /var/lib/dpkg/status
     7.7-0ubuntu3 0
        500 http://fr.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages
        500 http://archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages

Entonces vemos que hay dos versiones de GDB disponibles:

  • 7.7.1-0ubuntu5~14.04.2
  • 7.7-0ubuntu3

Significado de la salida:


1
Gracias, esto parece más detallado que apt-cache madison(pero más difícil de analizar).
Camilo Martin

2

Un comando específicamente diseñado para esto es apt-show-version . A menudo tiene que instalarlo, pero luego puede ejecutar apt-show-version -a y le mostrará el número de versión, la distribución (es decir, prueba, estable, inestable, backports, etc.) donde se puede encontrar, y finalmente decirle si la versión que ha instalado está actualizada o no.

No le brinda tanta información como apt-cache, pero le brinda casi todo lo que necesita, ya que luego puede instalar desde el repositorio correcto (usando aptitude / apt-get -t) o simplemente instalar usando el número de versión correcto en El formulario que anotó.


+1, pero mientras lo prueba en la caja de mi novia con un ejemplo arbitrario, se pierde una de las versiones que apt-cacheeligió: i.imgur.com/15be7.png
Camilo Martin

Eso es interesante, parece haberse saltado el más antiguo. ¿Quizás sus preferencias de apt están configuradas para preferir las pruebas?
ShankarG

¿No lo sé? ¿Dónde buscaría verificar si prefiere las pruebas?
Camilo Martin

Verifique el archivo / etc / apt / preferencias
ShankarG
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.