Kiểm tra phiên bản gói bằng apt-get / aptitude?


430

Trước khi tôi cài đặt một gói, tôi muốn biết tôi sẽ nhận được phiên bản nào. Làm cách nào để kiểm tra phiên bản trước khi cài đặt bằng cách sử dụng apt-gethoặc aptitudetrên debian hoặc ubfox?

Câu trả lời:


540

apt-get

Bạn có thể chạy một mô phỏng để xem điều gì sẽ xảy ra nếu bạn nâng cấp / cài đặt gói:

apt-get -s install <package>

Để xem tất cả các nâng cấp có thể, hãy chạy upgradetrong chế độ dài dòng và (để an toàn) với mô phỏng, nhấn nđể hủy:

apt-get -V -s upgrade

bộ đệm apt

Tùy chọn policycó thể hiển thị phiên bản đã cài đặt và từ xa (ứng viên cài đặt) của gói.

apt-cache policy <package>

phiên bản apt-show

Nếu được cài đặt, hiển thị thông tin phiên bản về một hoặc nhiều gói:

apt-show-versions <package>

Vượt qua -uchuyển đổi có hoặc không có tên gói sẽ chỉ hiển thị các gói có thể nâng cấp.

năng khiếu

GUI giao diện điều khiển aptitudecó thể hiển thị các gói có thể nâng cấp với các phiên bản mới. Mở menu 'Gói nâng cấp'. Nhấn vvào một gói sẽ hiển thị thông tin phiên bản chi tiết hơn.

Hoặc trên dòng lệnh:

aptitude versions <package>

Passing -Vsẽ hiển thị thông tin chi tiết về các phiên bản, một lần nữa để an toàn với công tắc mô phỏng:

aptitude -V -s install <package>

Thay thế install <package>bằng upgradesẽ hiển thị các phiên bản từ tất cả các gói có thể nâng cấp.


9
"Chương trình 'apt-show-Phiên bản' hiện chưa được cài đặt. Bạn có thể cài đặt nó bằng cách nhập .."
Peter Ehrlich

1
apt-get -V -s upgradelàm cho ngày của tôi, cảm ơn bạn!
dr.dimitru

Có nên chạy apt-get install -svới sudo?
edwinksl

@edwinksl: Nó hoạt động tốt mà không có nó, vì vậy tôi không mong đợi rằng sudo sẽ tốt hơn.
zondo

3
apt show <packages>cũng có thể được thêm vào danh sách
leo

59

Một cách khác sử dụng dpkggrep :

dpkg -s <package> | grep Version

14
Điều này không hoạt động khi <gói> chưa được cài đặt (đó là một yêu cầu trong câu hỏi).
Serrano

1
Serrano Pereira, câu trả lời đó đã giúp tôi, người có một câu hỏi hơi khác, nhưng đủ tương tự để không bị lừa trên stackoverflow.
Jose Alban

tốt hơn: dpkg -s <gói> | Phiên bản grep (Lưu ý thủ đô V)
langlauf.io

21

Một tùy chọn khác, nếu bạn không biết tên đầy đủ của gói, là định dạng đầu ra tìm kiếm của aptitude:

aptitude search <package> -F "%c %p %d %V"

%c= status (gói đã cài đặt hay chưa)
%p= tên
%dcủa gói
%V= mô tả của gói = phiên bản của gói có sẵn

Tham khảo: http://linux.die.net/man/8/aptitude


8

Để có được tên gói:

apt-cache search *search term*

Để biết chi tiết phiên bản:

apt-cache show *packagename*

Tôi tin apt-getapt-cacheđang bị phản đối, với aptaptitudetrở thành phương pháp ưa thích. Với tuổi thọ của bộ phần mềm, có lẽ đây là một sự đánh cược an toàn trong một thời gian tới!


Đó chính xác là những gì tôi đang tìm kiếm. Sử dụng repo từ xa để có phiên bản và tất cả các loại thông tin khác.
bốn43

6

Bạn có thể viết apt show <package>


Điều này đã được đề cập trong câu trả lời của Ned Flanders, unix.stackexchange.com/a/362794/22812
Anthony Geoghegan

@yurij bạn nên có câu trả lời của riêng mình theo số lượng chỉnh sửa bạn đã thực hiện
Kiwy

@AnthonyGeoghegan bạn nói sai về việc apt-cachetôi đang sử dụng aptlà hai thứ khác nhau ... Tôi còn thiếu gì?
elvis.dukaj

aptapt-cachelàm điều tương tự. Nếu bạn kiểm tra mã nguồn, cả hai đều có cùng chức năng: for show, một hàm được gọi ShowPackagevà for search, một hàm được gọi DoSearch.
Anthony Geoghegan

3
 $ rmadison gdm3
 gdm3 | 2.30.5-6squeeze2 | squeeze-security | i386
 gdm3 | 2.30.5-6squeeze5 | squeeze          | i386
 gdm3 | 3.4.1-8          | wheezy           | i386
 gdm3 | 3.14.1-7         | jessie           | i386
 gdm3 | 3.18.0-2         | stretch          | i386
 gdm3 | 3.18.0-2         | sid              | i386

từ devscripts.deb


Đối với Ubuntu, chương trình này hiển thị các phiên bản được tìm thấy cho các phiên bản Ubuntu khác nhau (tên mã như "chính xác", "đáng tin cậy" và "xenial"). Rất chậm, nhưng có thể giúp bạn quyết định nâng cấp LTS của bạn;)
Tomasz Gandor

2

Để xem gói mới nhất có sẵn trước khi cài đặt. Thực hiện cập nhật để bạn có tất cả các bản cập nhật gói mới nhất.

$sudo apt-get update

Bây giờ, Để kiểm tra gói mới nhất có sẵn trong kho lưu trữ của bạn trước khi cài đặt lệnh chạy bên dưới.

$apt-cache show <package name>

Thí dụ:

$apt-cache show latexila

hoặc là

$apt-cache show npm
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.