Cómo verificar la versión antes de instalar paquetes usando apt-get

183

Estoy pensando en instalar hylafax + versión 5.5.4, que se lanzó el mes pasado en mi PC Debian .

Verifiqué dpkg -l | grep "hylafax"y descubrí que la versión actual es 5.5.3. Luego verifiqué apt-cache search hylafaxy vi que los paquetes están disponibles, pero no puedo ver ningún número de versión.

¿Cómo puedo encontrar la versión de los paquetes disponibles en el apt-get?

Yasiru G
fuente
2
Misma pregunta en Unix y Linux Stack Exchange: unix.stackexchange.com/questions/6284/…
Fabio dice Reinstate Monica

Respuestas:

311

OK, lo encontré.

apt-cache policy <package name> mostrará los detalles de la versión.

También muestra qué versión está instalada actualmente y qué versiones están disponibles para instalar.

Por ejemplo, apt-cache policy hylafax+

Yasiru G
fuente
3
No puedo creer que esto no se muestre apt installpara darle la oportunidad de revisar las versiones antes de decir Y.
Benjamin
Si usamos apt installalgunos paquetes (puede que no estén instalados), instálelos inmediatamente. Así que creo que para un nuevo usuario de Linux es mejor usarlo apt policy.
Yasiru G
37

apt-cache policy <package-name>

$ apt-cache policy redis-server
redis-server:
  Installed: (none)
  Candidate: 2:2.8.4-2
  Version table:
     2:2.8.4-2 0
        500 http://us.archive.ubuntu.com/ubuntu/ trusty/universe amd64 Packages

apt-get install -s <package-name>

$ apt-get install -s redis-server
NOTE: This is only a simulation!
      apt-get needs root privileges for real execution.
      Keep also in mind that locking is deactivated,
      so don't depend on the relevance to the real current situation!
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following extra packages will be installed:
  libjemalloc1 redis-tools
The following NEW packages will be installed:
  libjemalloc1 redis-server redis-tools
0 upgraded, 3 newly installed, 0 to remove and 3 not upgraded.
Inst libjemalloc1 (3.5.1-2 Ubuntu:14.04/trusty [amd64])
Inst redis-tools (2:2.8.4-2 Ubuntu:14.04/trusty [amd64])
Inst redis-server (2:2.8.4-2 Ubuntu:14.04/trusty [amd64])
Conf libjemalloc1 (3.5.1-2 Ubuntu:14.04/trusty [amd64])
Conf redis-tools (2:2.8.4-2 Ubuntu:14.04/trusty [amd64])
Conf redis-server (2:2.8.4-2 Ubuntu:14.04/trusty [amd64])

apt-cache show <package-name>

$ apt-cache show redis-server
Package: redis-server
Priority: optional
Section: universe/misc
Installed-Size: 744
Maintainer: Ubuntu Developers <[email protected]>
Original-Maintainer: Chris Lamb <[email protected]>
Architecture: amd64
Source: redis
Version: 2:2.8.4-2
Depends: libc6 (>= 2.14), libjemalloc1 (>= 2.1.1), redis-tools (= 2:2.8.4-2), adduser
Filename: pool/universe/r/redis/redis-server_2.8.4-2_amd64.deb
Size: 267446
MD5sum: 066f3ce93331b876b691df69d11b7e36
SHA1: f7ffbf228cc10aa6ff23ecc16f8c744928d7782e
SHA256: 2d273574f134dc0d8d10d41b5eab54114dfcf8b716bad4e6d04ad8452fe1627d
Description-en: Persistent key-value database with network interface
 Redis is a key-value database in a similar vein to memcache but the dataset
 is non-volatile. Redis additionally provides native support for atomically
 manipulating and querying data structures such as lists and sets.
 .
 The dataset is stored entirely in memory and periodically flushed to disk.
Description-md5: 9160ed1405585ab844f8750a9305d33f
Homepage: http://redis.io/
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Origin: Ubunt

dpkg -l <package-name>

$ dpkg -l nginx
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  nginx                                    1.6.2-1~trusty            amd64                     high performance web server
Anthony Zhan
fuente
2
Tenga en cuenta que dpkg -lsolo enumera los paquetes instalados. No es útil ver la versión de antemano.
Tomasz Gandor
¡Gracias por la bandera -s en apt-get install! :)
andymel
10
apt policy <package>

para abreviar

P. Vincent
fuente
8

Linux Mint, Debian 9, Ubuntu 16.04 y versiones anteriores:

Información corta :

apt policy <package_name>

Información detallada (con descripción y depende):

apt show <package_name>
maduro
fuente
6

Lo siguiente podría funcionar lo suficientemente bien:

aptitude versions ^hylafax+

Ver más en aptitud (8)

Solo trabajo
fuente
3

Además, el paquete apt-show- version (instalado por separado) analiza la información dpkg sobre lo que está instalado y le indica si los paquetes están actualizados.

Ejemplo..

$ sudo apt-show-versions --regex chrome
google-chrome-stable/stable upgradeable from 32.0.1700.102-1 to 35.0.1916.114-1
xserver-xorg-video-openchrome/quantal-security uptodate 1:0.3.1-0ubuntu1.12.10.1
$
HeyWatchThis
fuente
3

en debian:

apt list --upgradable

proporciona la lista con el paquete, la versión que se actualizará y la versión real del paquete.

resultado:

base-files/stable 8+deb8u8 amd64 [upgradable from: 8+deb8u7]
bind9-host/stable 1:9.9.5.dfsg-9+deb8u11 amd64 [upgradable from: 1:9.9.5.dfsg-9+deb8u9]
ca-certificates/stable 20141019+deb8u3 all [upgradable from: 20141019+deb8u2]
certbot/jessie-backports 0.10.2-1~bpo8+1 all [upgradable from: 0.8.1-2~bpo8+1]
dnsutils/stable 1:9.9.5.dfsg-9+deb8u11 amd64 [upgradable from: 1:9.9.5.dfsg-9+deb8u9]
Trantkat Troy
fuente
¡Gran respuesta! Proporciona información general para todos los paquetes, no se apt-show-versionsnecesitan paquetes adicionales (como ).
fxnn
1

Como se publicó en otro lugar, esto también funciona:

apt-cache madison <package_name>

woohoo
fuente
1

Además, según la página del manual:

apt-cache showpkg <package_name>

también se puede usar para:

... muestra información sobre los paquetes enumerados en la línea de comando. Los argumentos restantes son nombres de paquetes. Se enumeran las versiones disponibles y las dependencias inversas de cada paquete enumerado, así como las dependencias de reenvío para cada versión. Las dependencias directas (normales) son aquellos paquetes de los que depende el paquete en cuestión; Las dependencias inversas son aquellos paquetes que dependen del paquete en cuestión. Por lo tanto, las dependencias directas deben satisfacerse para un paquete, pero no necesariamente las dependencias inversas.

Ex:

apt-cache policy conky

conky:
  Installed: (none)
  Candidate: 1.10.3-1
  Version table:
     1.10.3-1 500
        500 http://us.archive.ubuntu.com/ubuntu yakkety/universe amd64 Packages
        500 http://us.archive.ubuntu.com/ubuntu yakkety/universe i386 Packages
kjones
fuente
0

También puede simplemente hacer lo normal apt-get updatey luego, según el manual, hacer:

apt-get -V upgrade

-V Mostrar números de versión detallados

Lo que le mostrará el paquete actual frente al que se actualizará en un formato similar al siguiente:

~# sudo apt-get -V upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:
   curl (7.38.0-4+deb8u14 => 7.38.0-4+deb8u15)
   php5 (5.6.40+dfsg-0+deb8u2 => 5.6.40+dfsg-0+deb8u3)
2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 12.0 MB of archives.
After this operation, 567 kB of additional disk space will be used.
Do you want to continue? [Y/n] 
Frankie
fuente
1
Esto es mucho mejor que la respuesta aceptada si desea actualizar su sistema y revisar todos los cambios de versión de una vez, en lugar de invocar apt-cache policy en cada paquete
doublehelix