Cách kiểm tra phiên bản trước khi cài đặt gói bằng apt-get


182

Tôi đang suy nghĩ để cài đặt hylafax + phiên bản 5.5.4 được phát hành vào tháng trước trên PC Debian của tôi .

Tôi đã kiểm tra dpkg -l | grep "hylafax"và phát hiện ra rằng phiên bản hiện tại là 5.5.3. Sau đó, tôi đã kiểm tra apt-cache search hylafaxvà thấy các gói có sẵn, nhưng tôi không thể thấy bất kỳ số phiên bản nào.

Làm thế nào tôi có thể tìm thấy phiên bản của các gói có sẵn trong apt-get?


2
Câu hỏi tương tự trên Unix & Linux Stack Exchange: unix.stackexchange.com/questions/6284/ory
Fabio nói Phục hồi Monica

Câu trả lời:


310

OK, tôi đã tìm thấy nó.

apt-cache policy <package name> sẽ hiển thị chi tiết phiên bản.

Nó cũng cho thấy phiên bản nào hiện đang được cài đặt và phiên bản nào có sẵn để cài đặt.

Ví dụ, apt-cache policy hylafax+


3
Không thể tin rằng điều này không được hiển thị trong apt install, để cho bạn cơ hội xem lại các phiên bản trước khi nói Y.
Benjamin

Nếu chúng tôi sử dụng apt installmột số gói (có thể không được cài đặt), hãy cài đặt ngay. Vì vậy, tôi nghĩ rằng đối với người dùng Linux mới, nó tốt hơn để sử dụng apt policy.
Yasiru G

37

apt-cache policy <package-name>

$ apt-cache policy redis-server
redis-server:
  Installed: (none)
  Candidate: 2:2.8.4-2
  Version table:
     2:2.8.4-2 0
        500 http://us.archive.ubuntu.com/ubuntu/ trusty/universe amd64 Packages

apt-get install -s <package-name>

$ apt-get install -s redis-server
NOTE: This is only a simulation!
      apt-get needs root privileges for real execution.
      Keep also in mind that locking is deactivated,
      so don't depend on the relevance to the real current situation!
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following extra packages will be installed:
  libjemalloc1 redis-tools
The following NEW packages will be installed:
  libjemalloc1 redis-server redis-tools
0 upgraded, 3 newly installed, 0 to remove and 3 not upgraded.
Inst libjemalloc1 (3.5.1-2 Ubuntu:14.04/trusty [amd64])
Inst redis-tools (2:2.8.4-2 Ubuntu:14.04/trusty [amd64])
Inst redis-server (2:2.8.4-2 Ubuntu:14.04/trusty [amd64])
Conf libjemalloc1 (3.5.1-2 Ubuntu:14.04/trusty [amd64])
Conf redis-tools (2:2.8.4-2 Ubuntu:14.04/trusty [amd64])
Conf redis-server (2:2.8.4-2 Ubuntu:14.04/trusty [amd64])

apt-cache show <package-name>

$ apt-cache show redis-server
Package: redis-server
Priority: optional
Section: universe/misc
Installed-Size: 744
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Chris Lamb <lamby@debian.org>
Architecture: amd64
Source: redis
Version: 2:2.8.4-2
Depends: libc6 (>= 2.14), libjemalloc1 (>= 2.1.1), redis-tools (= 2:2.8.4-2), adduser
Filename: pool/universe/r/redis/redis-server_2.8.4-2_amd64.deb
Size: 267446
MD5sum: 066f3ce93331b876b691df69d11b7e36
SHA1: f7ffbf228cc10aa6ff23ecc16f8c744928d7782e
SHA256: 2d273574f134dc0d8d10d41b5eab54114dfcf8b716bad4e6d04ad8452fe1627d
Description-en: Persistent key-value database with network interface
 Redis is a key-value database in a similar vein to memcache but the dataset
 is non-volatile. Redis additionally provides native support for atomically
 manipulating and querying data structures such as lists and sets.
 .
 The dataset is stored entirely in memory and periodically flushed to disk.
Description-md5: 9160ed1405585ab844f8750a9305d33f
Homepage: http://redis.io/
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Origin: Ubunt

dpkg -l <package-name>

$ dpkg -l nginx
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                                     Version                   Architecture              Description
+++-========================================-=========================-=========================-=====================================================================================
ii  nginx                                    1.6.2-1~trusty            amd64                     high performance web server

2
Lưu ý rằng dpkg -lchỉ liệt kê các gói được cài đặt. Không hữu ích để xem phiên bản trước.
Tomasz Gandor

Cảm ơn cờ -s trong apt-get install! :)
andymel


8

Linux Mint, Debian 9, Ubuntu 16.04 trở lên:

Thông tin ngắn :

apt policy <package_name>

Thông tin chi tiết (Có Mô tả và Phụ thuộc):

apt show <package_name>


3

Ngoài ra, gói apt-show-Phiên bản (được cài đặt riêng) phân tích thông tin dpkg về những gì được cài đặt và cho bạn biết nếu các gói được cập nhật.

Thí dụ..

$ sudo apt-show-versions --regex chrome
google-chrome-stable/stable upgradeable from 32.0.1700.102-1 to 35.0.1916.114-1
xserver-xorg-video-openchrome/quantal-security uptodate 1:0.3.1-0ubuntu1.12.10.1
$

3

trên debian:

apt list --upgradable

đưa ra danh sách với gói, phiên bản sẽ được nâng cấp và phiên bản thực của gói.

kết quả :

base-files/stable 8+deb8u8 amd64 [upgradable from: 8+deb8u7]
bind9-host/stable 1:9.9.5.dfsg-9+deb8u11 amd64 [upgradable from: 1:9.9.5.dfsg-9+deb8u9]
ca-certificates/stable 20141019+deb8u3 all [upgradable from: 20141019+deb8u2]
certbot/jessie-backports 0.10.2-1~bpo8+1 all [upgradable from: 0.8.1-2~bpo8+1]
dnsutils/stable 1:9.9.5.dfsg-9+deb8u11 amd64 [upgradable from: 1:9.9.5.dfsg-9+deb8u9]

Câu trả lời chính xác! Cung cấp tổng quan cho tất cả các gói, không cần gói bổ sung (như apt-show-versions).
fxnn

1

Như được đăng ở một nơi khác, điều này cũng hoạt động:

apt-cache madison <package_name>


1

Ngoài ra, theo trang người đàn ông:

apt-cache showpkg <package_name>

cũng có thể được sử dụng để:

... Hiển thị thông tin về các gói được liệt kê trên dòng lệnh. Đối số còn lại là tên gói. Các phiên bản có sẵn và phụ thuộc ngược của từng gói được liệt kê được liệt kê, cũng như phụ thuộc về phía trước cho mỗi phiên bản. Phụ thuộc chuyển tiếp (bình thường) là các gói mà gói đó được đề cập; phụ thuộc ngược là những gói phụ thuộc vào gói trong câu hỏi. Vì vậy, phụ thuộc về phía trước phải được thỏa mãn cho một gói, nhưng phụ thuộc ngược lại không cần phải có.

Ví dụ:

apt-cache policy conky

conky:
  Installed: (none)
  Candidate: 1.10.3-1
  Version table:
     1.10.3-1 500
        500 http://us.archive.ubuntu.com/ubuntu yakkety/universe amd64 Packages
        500 http://us.archive.ubuntu.com/ubuntu yakkety/universe i386 Packages

0

Bạn cũng có thể chỉ cần làm thường xuyên apt-get updatevà sau đó, theo hướng dẫn, làm:

apt-get -V upgrade

-V Hiển thị số phiên bản dài dòng

Gói nào sẽ hiển thị cho bạn gói hiện tại so với gói sẽ được nâng cấp theo định dạng tương tự như gói dưới đây:

~# sudo apt-get -V upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:
   curl (7.38.0-4+deb8u14 => 7.38.0-4+deb8u15)
   php5 (5.6.40+dfsg-0+deb8u2 => 5.6.40+dfsg-0+deb8u3)
2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 12.0 MB of archives.
After this operation, 567 kB of additional disk space will be used.
Do you want to continue? [Y/n] 

1
Điều này tốt hơn nhiều so với câu trả lời được chấp nhận nếu bạn muốn cập nhật hệ thống của mình và xem xét tất cả các thay đổi phiên bản trong một lần, thay vì gọi apt-cache policy trên mỗi gói
doublercix
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.