Comment installer la dernière version d'un package avec apt-get?

14

Il est facile d'installer une version spécifique d'un package avec apt-get:

apt-get install <package name>=<version>

Par exemple:

apt-get install jenkins=1.517

Mais existe-t-il un raccourci pour installer la dernière version?

Par exemple, dites écrire un script pour automatiser l'installation de Jenkins. Après avoir ajouté http:/q/pkg.jenkins-ci.org/debianà /etc/apt/sources.list, Jenkins est disponible à partir de deux sources. Maintenant, je voudrais dire à apt-get d'installer la dernière version sans savoir exactement quelle est la dernière version au moment où le script est exécuté.

Est-ce possible d'une manière simple?

Jonik
la source
apt-getpar défaut, obtenez la dernière version. courir apt-get updateavant pour être sûr
Anwar

Réponses:

14

il suffit de taper

apt-get update    
apt-get install <package-name>

Et la dernière version disponible dans tous vos référentiels sera installée.

ttoine
la source
3
Ne pas oublier apt-get updateavant apt-get install ...de mettre à jour les listes de paquets à partir des référentiels.
Eric Carvalho
Merci, c'est évident ... :) Plus tôt, j'ai rencontré une ancienne version installée involontairement, mais cela a peut-être été causé par l'oubli de faire en apt-get updatepremier.
Jonik
6

La réponse sélectionnée fonctionne dans la plupart des cas. Cependant, vous pourriez vous retrouver dans une situation où une version plus récente est disponible dans un référentiel de backport qui ne sera pas installé apt-get install <package-name>par défaut. Par exemple, je suis récemment tombé sur ceci:

$ apt-cache policy golang
golang:
  Installed: 2:1.3.3-1
  Candidate: 2:1.3.3-1
  Version table:
     2:1.7~5~bpo8+1 0
        100 http://archive.ubuntu.com/ubuntu xenial-backports/main amd64 Packages
     2:1.5.1-4~bpo8+1 0
        100 http://archive.ubuntu.com/ubuntu xenial-backports/main amd64 Packages
 *** 2:1.3.3-1 0
        500 http://archive.ubuntu.com/ubuntu xenial/main amd64 Packages
        100 /var/lib/dpkg/status

Sélection d' une version des backports peut être fait en spécifiant l'installation à partir backports: apt-get -t xenial-backports install golang.

Référence: https://help.ubuntu.com/community/UbuntuBackports#Installing_Backports

jotrocken
la source
2

Pour quiconque atterrit ici: la réponse de ttoine est correcte.

MAIS si vous êtes coincé avec la apt-get -q -y --force-yes install openjdk-6-jdk=<blah>syntaxe (disons via Chef), vous pouvez spécifier un astérisque / étoile pour obtenir la dernière:apt-get -q -y --force-yes install openjdk-6-jdk=\*

Isa Farnik
la source
1

Notez que pour obtenir une dernière version réelle d'un package, vous devrez peut-être ajouter un référentiel à apt, un référentiel qui contient une version plus récente (c'est-à-dire la dernière version réelle) du package. Par exemple, la documentation openvpn explique:

"Les dernières versions d'OpenVPN sont disponibles dans les référentiels apt du projet OpenVPN. Cela vous permet d'utiliser une version d'OpenVPN plus récente que celle qui est généralement disponible dans les référentiels de votre distribution."

Bien sûr, vous voulez vous assurer que vous faites confiance à tout référentiel que vous ajoutez. Il existe différentes façons d'ajouter un référentiel. J'aime la façon dont ils suggèrent dans les documents OpenVPN liés ci-dessus. Il y a aussi add-apt-repository .

Hawkeye Parker
la source