Bagaimana cara menginstal versi terbaru dari sebuah paket dengan apt-get?

14

Sangat mudah untuk menginstal versi tertentu dari sebuah paket dengan apt-get:

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

Sebagai contoh:

apt-get install jenkins=1.517

Tetapi apakah ada jalan pintas untuk menginstal versi terbaru ?

Sebagai contoh, katakanlah menulis skrip untuk mengotomatisasi instalasi Jenkins. Setelah menambahkan http:/q/pkg.jenkins-ci.org/debianuntuk /etc/apt/sources.list, Jenkins tersedia dari dua sumber. Sekarang, saya ingin memberitahu apt-get untuk menginstal versi terbaru tanpa tahu persis apa versi terbaru pada saat skrip dieksekusi.

Apakah ini mungkin dengan cara sederhana?

Jonik
sumber
apt-getsecara default dapatkan versi terbaru. lari apt-get updatesebelumnya untuk memastikan
Anwar

Jawaban:

14

ketik saja

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

Dan yang terbaru tersedia di semua repositori Anda akan diinstal.

totoine
sumber
3
Jangan lupa apt-get updatesebelumnya apt-get install ...untuk memperbarui daftar paket dari repositori.
Eric Carvalho
Terima kasih, agak jelas ... :) Sebelumnya saya mengalami menginstal versi yang lebih lama secara tidak sengaja, tapi mungkin itu disebabkan oleh lupa untuk melakukan apt-get updatelebih dulu.
Jonik
6

Jawaban yang dipilih berfungsi dalam kebanyakan kasus. Namun, Anda mungkin menemukan diri Anda dalam situasi di mana versi yang lebih baru tersedia di repositori backport yang tidak akan diinstal apt-get install <package-name>secara default. Sebagai contoh, saya baru-baru ini menemukan ini:

$ 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

Memilih versi dari backports dapat dilakukan dengan menetapkan untuk menginstal dari backports: apt-get -t xenial-backports install golang.

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

jotrocken
sumber
2

Untuk siapa pun yang mendarat di sini: jawaban ttoine benar.

TETAPI jika Anda terjebak dengan apt-get -q -y --force-yes install openjdk-6-jdk=<blah>sintaks (katakanlah melalui Chef), Anda dapat menentukan tanda bintang / bintang untuk mendapatkan yang terbaru:apt-get -q -y --force-yes install openjdk-6-jdk=\*

Isa Farnik
sumber
1

Perhatikan bahwa untuk mendapatkan versi terbaru aktual dari sebuah paket, Anda mungkin perlu menambahkan repositori ke apt, repositori yang menyimpan versi lebih terkini (yaitu, terbaru terbaru) dari paket. Misalnya, dokumentasi openvpn menjelaskan:

"Rilis OpenVPN terbaru tersedia di repositori apt proyek OpenVPN. Ini memungkinkan Anda untuk menggunakan versi OpenVPN yang lebih terkini daripada yang biasanya tersedia di repositori distribusi Anda."

Tentu saja, Anda ingin memastikan Anda memercayai repositori yang Anda tambahkan. Ada berbagai cara untuk menambahkan repositori. Saya suka cara yang mereka sarankan dalam OpenVPN docs yang ditautkan di atas. Ada juga add-apt-repository .

Hawkeye Parker
sumber