Làm cách nào để biết phiên bản nào của gói tôi có thể cài đặt trên APT


63

Sử dụng APT, bạn có thể cài đặt phiên bản cụ thể của gói bằng cách sử dụng:

apt-get install package=1.0

Nhưng bạn không thể làm

apt-get install package=1.*

Vì vậy, làm thế nào tôi có thể tìm ra phiên bản nào có sẵn packagetrên một kho lưu trữ cụ thể hoặc trong tất cả các kho lưu trữ trong tôi /etc/apt/sources.list?


Câu trả lời:


90

Cũng như một phụ lục

apt-cache madison <<package name>>

sẽ liệt kê các phiên bản có sẵn từ tất cả các nguồn của bạn.

apt-cache madison vim
   vim | 2:7.3.547-1 | http://debian.mirrors.tds.net/debian/ unstable/main amd64 Packages
   vim | 2:7.3.429-2 | http://debian.mirrors.tds.net/debian/ testing/main amd64 Packages
   vim | 2:7.3.429-2 | http://http.us.debian.org/debian/ testing/main amd64 Packages
   vim | 2:7.3.429-2 | http://debian.mirrors.tds.net/debian/ testing/main Sources
   vim | 2:7.3.547-1 | http://debian.mirrors.tds.net/debian/ unstable/main Sources

madisonlà một apt-cachetiểu ban, man apt-cachenói:

Lệnh madison của apt-cache cố gắng bắt chước định dạng đầu ra và một tập hợp con của chức năng của công cụ quản lý lưu trữ Debian, madison. Nó hiển thị các phiên bản có sẵn của một gói ở định dạng bảng. Không giống như madison ban đầu, nó chỉ có thể hiển thị thông tin cho kiến ​​trúc mà APT đã lấy danh sách gói (APT :: Architecture).


3
Madison? Đó có phải là một tham số cho apt-cache hoặc tên gói không? Tôi sẽ không sử dụng phân phối apt-get nữa (nhưng chỉ trong trường hợp +1)
Camilo Martin

5
tham số. Đừng cảm thấy tồi tệ, đó cũng là một trong những khám phá cơ hội đối với tôi. Có một trang web (ứng dụng?) Trên trang Debian hiển thị cùng thông tin mà tôi cho là đầu tiên và ai đó đã mã hóa nó cho apt-cache. Khá tiện dụng.
lornix

Wow, khá tiện dụng thực sự. Tôi sẽ thay đổi chấp nhận điều này bởi vì đó chỉ là những gì tôi muốn (vào thời điểm đó) và được tích hợp sẵn mà không cần gồng mình.
Camilo Martin

1
Điều này không làm việc cho tất cả các gói.
Cerin

1
@nuoritoveri Các nguồn Nguồn là các kho chứa mã nguồn của các chương trình và gói khác nhau. Mã nguồn có thể được tải xuống bằng apt-get source XYZZYlệnh để tải xuống nguồn cho gói XYZZY . Xem trang apt-get man ( man apt-get) để biết thêm chi tiết.
lornix

25

Chương apt-cache show <Package>trình hiển thị các mô tả gói của tất cả các phiên bản mà bản cài đặt debian của bạn có thể cài đặt (nghĩa là từ danh sách các gói được lưu trong bộ nhớ cache có sẵn từ các repos được liệt kê trong sources.list). Vì vậy, tôi đoán bạn có thể thử một cái gì đó như (ví dụ):

# apt-cache show package | grep Version
Version 1.0
Version 0.9-2squeeze1

Điều apt-cache shownày sẽ cung cấp cho bạn nhiều thông tin hơn chỉ là các phiên bản.


Cảm ơn, sẽ thử. Có thể hạ cấp?
Camilo Martin

Nó dường như hoạt động, tôi chỉ muốn biết nếu điều này sẽ liệt kê các gói có phiên bản thấp hơn những gì tôi hiện có.
Camilo Martin

5
bạn có thể sử dụng chính sách apt-cache nếu chỉ phiên bản bạn quan tâm.
Rémi

@ Rémi Cảm ơn !! Lệnh đó đã giải quyết nghi ngờ tiếp theo của tôi, làm thế nào để biết một gói sẽ đến từ đâu. Tôi thậm chí đã tìm kiếm rồi :)
Camilo Martin

12
apt-cache policy gdb

Đầu ra mẫu:

gdb:
  Installed: 7.7.1-0ubuntu5~14.04.2
  Candidate: 7.7.1-0ubuntu5~14.04.2
  Version table:
 *** 7.7.1-0ubuntu5~14.04.2 0
        500 http://fr.archive.ubuntu.com/ubuntu/ trusty-updates/main amd64 Packages
        100 /var/lib/dpkg/status
     7.7-0ubuntu3 0
        500 http://fr.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages
        500 http://archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages

Vì vậy, chúng tôi thấy rằng có hai phiên bản GDB có sẵn:

  • 7.7.1-0ubuntu5~14.04.2
  • 7.7-0ubuntu3

Ý nghĩa của đầu ra:


1
Cảm ơn, điều này có vẻ chi tiết hơn apt-cache madison(nhưng khó phân tích hơn).
Camilo Martin

2

Một lệnh được dành riêng cho việc này là các phiên bản apt-show . Bạn thường phải cài đặt nó, nhưng sau đó có thể chạy các phiên bản apt-show -a và nó sẽ hiển thị cho bạn số phiên bản, bản phân phối (nghĩa là thử nghiệm, ổn định, không ổn định, backport, v.v.) nơi có thể tìm thấy và cuối cùng cho bạn biết phiên bản bạn đã cài đặt có cập nhật hay không.

Nó không cung cấp cho bạn nhiều thông tin như apt-cache, nhưng cung cấp cho bạn khá nhiều thứ bạn cần, khi đó bạn có thể cài đặt từ kho lưu trữ chính xác (sử dụng aptitude / apt-get -t) hoặc chỉ cần cài đặt bằng cách sử dụng số phiên bản chính xác trong hình thức bạn lưu ý.


+1, nhưng trong khi thử nghiệm nó trên hộp của bạn gái tôi bằng một ví dụ tùy ý, nó bỏ lỡ một trong những phiên bản apt-cacheđã chọn: i.imgur.com/15be7.png
Camilo Martin

Điều đó thật thú vị, dường như nó đã bỏ qua cái cũ nhất. Có lẽ sở thích apt của bạn được thiết lập để thích thử nghiệm?
ShankarG

Tôi không biết? Tôi sẽ tìm ở đâu để kiểm tra nếu nó thích thử nghiệm?
Camilo Martin

Kiểm tra tệp / etc / apt / Preferences
ShankarG
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.