Comment vérifier la version avant d'installer les packages en utilisant apt-get

183

Je pense installer hylafax + version 5.5.4 qui est sortie le mois dernier sur mon PC Debian .

J'ai vérifié dpkg -l | grep "hylafax"et découvert que la version actuelle est la 5.5.3. Ensuite, j'ai vérifié apt-cache search hylafaxet vu que les packages sont disponibles, mais je ne vois aucun numéro de version.

Comment puis-je trouver la version des packages disponibles dans le apt-get?

Yasiru G
la source
2
Même question sur Unix & Linux Stack Exchange: unix.stackexchange.com/questions/6284/…
Fabio dit Réintégrer Monica le

Réponses:

311

OK, je l'ai trouvé.

apt-cache policy <package name> affichera les détails de la version.

Il montre également quelle version est actuellement installée et quelles versions sont disponibles à installer.

Par exemple, apt-cache policy hylafax+

Yasiru G
la source
3
Je ne peux pas croire que cela ne s'affiche pas apt install, pour vous donner une chance de revoir les versions avant de le dire Y.
Benjamin
Si nous utilisons apt installcertains packages (qui peuvent ne pas être installés), installez-le immédiatement. Je pense donc que pour les nouveaux utilisateurs de Linux, il vaut mieux l'utiliser 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
la source
2
Notez que dpkg -lne répertorie que les packages installés. Pas utile de voir la version à l'avance.
Tomasz Gandor
Merci pour l'indicateur -s dans apt-get install! :)
andymel
10
apt policy <package>

pour faire court

P. Vincent
la source
8

Linux Mint, Debian 9, Ubuntu 16.04 et versions antérieures:

Informations courtes :

apt policy <package_name>

Informations détaillées (avec description et dépend):

apt show <package_name>
mature
la source
6

Les éléments suivants pourraient fonctionner assez bien:

aptitude versions ^hylafax+

Voir plus dans aptitude (8)

Onlyjob
la source
3

De plus, le package apt-show-versions (installé séparément) analyse les informations de dpkg sur ce qui est installé et vous indique si les packages sont à jour.

Exemple..

$ 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
la source
3

sur debian:

apt list --upgradable

donne la liste avec le package, la version à mettre à niveau et la version réelle du package.

résultat :

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
la source
Très bonne réponse! Donne un aperçu de tous les packages, aucun package supplémentaire (comme apt-show-versions) n'est nécessaire.
fxnn le
1

Comme publié ailleurs, cela fonctionne aussi:

apt-cache madison <package_name>

woohoo
la source
1

Aussi, selon la page de manuel:

apt-cache showpkg <package_name>

peut également être utilisé pour:

... afficher des informations sur les packages répertoriés sur la ligne de commande. Les arguments restants sont des noms de packages. Les versions disponibles et les dépendances inverses de chaque package répertorié sont répertoriées, ainsi que les dépendances directes pour chaque version. Les dépendances directes (normales) sont les packages dont dépend le package en question; les dépendances inverses sont les packages qui dépendent du package en question. Ainsi, les dépendances directes doivent être satisfaites pour un package, mais pas les dépendances inverses.

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
la source
0

Vous pouvez également simplement faire la routine apt-get updateet ensuite, selon le manuel, faire:

apt-get -V upgrade

-V Afficher les numéros de version détaillés

Ce qui vous montrera le package actuel par rapport à celui qui sera mis à jour dans un format similaire à celui ci-dessous:

~# 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
la source
1
C'est bien mieux que la réponse acceptée si vous souhaitez mettre à jour votre système et revoir toutes les modifications de version en une seule fois, au lieu de les invoquer apt-cache policy sur chaque paquet
doublehelix