Làm cách nào để cài đặt phiên bản mới nhất của gói với apt-get?


14

Thật dễ dàng để cài đặt một phiên bản cụ thể của gói với apt-get:

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

Ví dụ:

apt-get install jenkins=1.517

Nhưng có một phím tắt để cài đặt phiên bản mới nhất ?

Ví dụ: giả sử viết một tập lệnh để tự động cài đặt Jenkins. Sau khi thêm http:/q/pkg.jenkins-ci.org/debianvào /etc/apt/sources.list, Jenkins có sẵn từ hai nguồn. Bây giờ, tôi muốn nói với apt-get để cài đặt phiên bản mới nhất mà không biết chính xác phiên bản mới nhất là gì tại thời điểm tập lệnh được thực thi.

Điều này có thể trong bất kỳ cách đơn giản?


apt-gettheo mặc định có được phiên bản mới nhất. chạy apt-get updatetrước để chắc chắn
Anwar

Câu trả lời:


14

chỉ loại

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

Và mới nhất có sẵn trong tất cả các kho lưu trữ của bạn sẽ được cài đặt.


3
Đừng quên apt-get updatetrước khi apt-get install ...cập nhật danh sách gói từ kho.
Eric Carvalho

Cảm ơn, điều hiển nhiên ... :) Trước đó tôi đã vô tình cài đặt một phiên bản cũ hơn, nhưng có lẽ đó là do quên làm apt-get updatetrước.
Jonik

6

Câu trả lời được chọn hoạt động trong hầu hết các trường hợp. Tuy nhiên, bạn có thể thấy mình trong tình huống có sẵn phiên bản mới hơn trong kho lưu trữ backport không được cài đặt apt-get install <package-name>theo mặc định. Ví dụ, gần đây tôi đã bắt gặp điều này:

$ 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

Chọn một phiên bản từ backport có thể được thực hiện bằng cách chỉ định cài đặt từ backport : apt-get -t xenial-backports install golang.

Tham khảo: https://help.ubfox.com/community/UbfoxBackports # Installing_Backports


2

Đối với bất cứ ai khác hạ cánh ở đây: câu trả lời của ttoine là chính xác.

NHƯNG nếu bạn bị mắc kẹt với apt-get -q -y --force-yes install openjdk-6-jdk=<blah>cú pháp (giả sử thông qua Chef), bạn có thể chỉ định dấu hoa thị / sao để nhận bản mới nhất:apt-get -q -y --force-yes install openjdk-6-jdk=\*


1

Lưu ý rằng để có được phiên bản mới nhất thực sự của gói, bạn có thể cần thêm kho lưu trữ vào apt, kho lưu trữ chứa phiên bản mới nhất (nghĩa là mới nhất) của gói. Ví dụ, tài liệu openvpn giải thích:

"Các bản phát hành OpenVPN mới nhất có sẵn trong kho apt của dự án OpenVPN. Điều này cho phép bạn sử dụng phiên bản OpenVPN cập nhật hơn so với những gì thường có trong kho lưu trữ phân phối của bạn."

Tất nhiên, bạn muốn chắc chắn rằng bạn tin tưởng bất kỳ kho lưu trữ nào bạn thêm vào. Có nhiều cách khác nhau để thêm một kho lưu trữ. Tôi thích cách họ đề xuất trong các tài liệu OpenVPN được liên kết ở trên. Cũng có add-apt-repository .

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.