Come installare l'ultima versione di un pacchetto con apt-get?


14

È facile installare una versione specifica di un pacchetto con apt-get:

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

Per esempio:

apt-get install jenkins=1.517

Ma esiste un collegamento per l'installazione dell'ultima versione?

Ad esempio, supponiamo di scrivere uno script per automatizzare l'installazione di Jenkins. Dopo aver aggiunto http:/q/pkg.jenkins-ci.org/debiana /etc/apt/sources.list, Jenkins è disponibile da due fonti. Ora, vorrei dire a apt-get di installare l'ultima versione senza sapere esattamente quale sia l'ultima versione al momento dell'esecuzione dello script.

Questo è possibile in modo semplice?


apt-getper impostazione predefinita ottenere l'ultima versione. corri apt-get updateprima per essere sicuro
Anwar,

Risposte:


14

basta digitare

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

E verrà installato l'ultimo disponibile in tutti i tuoi repository.


3
Non dimenticare apt-get updateprima apt-get install ...di aggiornare gli elenchi dei pacchetti dai repository.
Eric Carvalho,

Grazie, un po 'ovvio ... :) In precedenza mi sono imbattuto in una versione precedente installata involontariamente, ma forse è stato causato dimenticando di fare apt-get updateprima.
Jonik,

6

La risposta selezionata funziona nella maggior parte dei casi. Tuttavia, potresti trovarti in una situazione in cui una versione più recente è disponibile in un repository di backport che non verrà installato apt-get install <package-name>per impostazione predefinita. Ad esempio, di recente mi sono imbattuto in questo:

$ 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

Selezione di una versione dai backport può essere fatto specificando l'installazione da backport: apt-get -t xenial-backports install golang.

Riferimento: https://help.ubuntu.com/community/UbuntuBackports#Installing_Backports


2

Per chiunque arrivi qui: la risposta di ttoine è corretta.

MA se sei bloccato con la apt-get -q -y --force-yes install openjdk-6-jdk=<blah>sintassi (diciamo tramite Chef), puoi specificare un asterisco / stella per ottenere l'ultimo:apt-get -q -y --force-yes install openjdk-6-jdk=\*


1

Si noti che per ottenere una versione più recente effettiva di un pacchetto, potrebbe essere necessario aggiungere un repository ad apt, un repository che contiene una versione più attuale (ovvero la più recente) del pacchetto. Ad esempio, la documentazione di openvpn spiega:

"Le versioni più recenti di OpenVPN sono disponibili nei repository apt del progetto OpenVPN. Ciò consente di utilizzare una versione più aggiornata di OpenVPN rispetto a quella normalmente disponibile nei repository della distribuzione."

Ovviamente, devi assicurarti di fidarti di qualsiasi repository che aggiungi. Esistono vari modi per aggiungere un repository. Mi piace il modo in cui suggeriscono nei documenti OpenVPN collegati sopra. C'è anche add-apt-repository .

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.