Làm thế nào để bạn thấy những gói có sẵn để cập nhật


73

Người dùng FreeBSD gia nhập hàng ngũ của bạn. Tôi đã được yêu cầu chăm sóc một Máy chủ Ubuntu chạy 10.04 LTS.

Tôi thấy từ /usr/lib/update-notifier/update-motd-updates-availableđó có một số cập nhật trên máy chủ tuy nhiên tôi không thấy cách nào để biết sẽ cập nhật.

Bất cứ ai cũng có thể chỉ cho tôi đi đúng hướng để tôi có thể xem gói nào sẽ được cập nhật khi tôi chạy apt-get upgrade?

CẬP NHẬT:

Không thể trả lời câu hỏi của riêng tôi vào lúc này vì vậy hãy ném nó vào đây vào lúc này:

Cùng với apt-get upgrade --dry-runđề xuất dưới đây, /usr/lib/update-notifier/apt-check -psẽ liệt kê tất cả các gói có cập nhật.


Chào mừng bạn đến với các cấp bậc, sử dụng và lạm dụng trang web nếu bạn cần trợ giúp thêm;) Nếu bạn tìm thấy câu trả lời thỏa mãn câu hỏi của mình, vui lòng đánh dấu nó bằng hộp kiểm màu xanh bên cạnh.
Bruno Pereira

1
Bây giờ bạn có thể trả lời câu hỏi của riêng bạn vì bạn có đủ đại diện để loại bỏ các hạn chế người dùng mới .
jokerdino

có vẻ như cần 100rep hoặc chờ 8 giờ để trả lời câu hỏi của riêng bạn.
Jan Geep

Trong năm 2016, câu trả lời được đưa ra bởi @doru là tại chỗ. Askubfox.com/a/788049/560610
jeremysawgie

Câu trả lời:


63

Bạn có thể cài đặt aptitudenếu nó chưa được cài đặt. Đây là một công cụ tuyệt vời để quản lý các gói trong một thiết lập không đầu.

nhập mô tả hình ảnh ở đây

Mặt khác, nếu bạn chỉ muốn xem điều gì sẽ xảy ra khi bạn chạy một cái gì đó, hãy sử dụng --dry-runđối số và nó thực sự sẽ không làm gì cả, nó sẽ chỉ cho bạn biết nó sẽ làm gì:

Từ trang apt-get man

-s, --simulate, --just-print, --dry-run, --recon, --no-act
          No action; perform a simulation of events that would occur but do
          not actually change the system. Configuration Item:
          APT::Get::Simulate.

          Simulate prints out a series of lines each one representing a dpkg
          operation, Configure (Conf), Remove (Remv), Unpack (Inst). Square
          brackets indicate broken packages with and empty set of square
          brackets meaning breaks that are of no consequence (rare).

Thêm tùy chọn vào lệnh theo cách này

apt upgrade --dry-run

5
Tôi làm biến dạng câu trả lời của bạn, hy vọng bạn không phiền.
Bruno Pereira

2
Điều thú vị là apt-get upgrade --dry-runkhông yêu cầu sudo, điều này làm cho nó hoàn hảo để hiển thị tự động các cập nhật gói yêu cầu.
dshepherd

thú vị hơn nữa là, trên bản cập nhật apt-get -s Ubuntu 14.04 LTS của tôi "không chấp nhận" -s "... cũng không" --dry-run "," --no-act "... tại sao đó sẽ là
mBardos

@mBardos Bạn đã thay thế apt-getđường dẫn của mình bằng một tập lệnh "người trợ giúp" chưa? Kiểm tra which apt-getđể chắc chắn rằng nó/usr/bin/apt-get
Oli

martonb @ martonb-ubu: ~ / work / qt $ mà apt-get / usr / bin / apt-get Điều này có hiệu quả với bạn trên Ubuntu 14.04 LTS không? martonb @ martonb-ubu: ~ / work / qt $ apt-get -s update E: Tùy chọn dòng lệnh 's' [from -s] không được biết.
mBardos

67

Đến bây giờ (Ubuntu 16.04) bạn có thể sử dụng apt listvới --upgradablecờ;

sudo apt update
apt list --upgradable

và bạn sẽ nhận được một danh sách với tất cả các gói có thể nâng cấp.


1
Xuất sắc! Đó chính xác là những gì tôi muốn thấy :)
jeremysawgie

aptlà lệnh không xác định trong 12.04
confiq 11/07/2016

1
@confiq "APT 1.0 đã được phát hành vào ngày 1 tháng 4 năm 2014" , vì vậy có thể không được nâng cấp trên hệ thống của bạn. Hãy thử xem phiên bản aptnào bạn đã cài đặt đang chạy sudo apt-cache policy apt.
doru

điều đó giải thích ...
confiq 14/07/2016

10

Một cách khác là sử dụng aptitudevới thuật ngữ tìm kiếm :

aptitude search '~U'

(Lưu ý chữ hoa 'U')

Điều đó có nghĩa là: "tìm kiếm tất cả các gói đã được cài đặt và có thể được nâng cấp". Tham khảo: hướng dẫn sử dụng aptitude

Theo mặc định, aptitude searchhiển thị cho mỗi gói tên, mô tả và một vài cờ, nhưng bạn cũng có thể điều chỉnh đầu ra theo nhu cầu của mình. Ví dụ, để chỉ liệt kê các tên gói, lệnh sẽ là:

aptitude search -F '%p' --disable-columns '~U'

( --disable-columnstránh khoảng trắng đệm ở cuối dòng)


8

Lệnh bên dưới sẽ hiển thị cho bạn danh sách các gói đã cài đặt có bản cập nhật có sẵn trong kho.

dpkg --get-selections | xargs apt-cache policy {} | grep -1 Installed | sed -r 's/(:|Installed: |Candidate: )//' | uniq -u | tac | sed '/--/I,+1 d' | tac | sed '$d' | sed -n 1~2p

1
Đó là một chút tốt đẹp của ma thuật dòng lệnh!
Teemu Leisti

1
Đẹp, nhưng câu trả lời của @ sierrasdetandil và @doru 'thực hiện giống hệt nhau theo cách ngắn gọn tuyệt đẹp ...
Giuseppe
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.