Як ви бачите, які пакунки доступні для оновлення


72

Користувач FreeBSD приєднується до ваших рангів. Мене попросили доглядати за сервером Ubuntu під керуванням 10,04 LTS.

Я бачу, /usr/lib/update-notifier/update-motd-updates-availableщо на сервері є ряд оновлень, однак я не бачу способу сказати, які будуть оновлені.

Хтось міг би вказати мені в правильному напрямку, щоб я міг бачити, які пакунки будуть оновлюватися під час запуску apt-get upgrade?

ОНОВЛЕННЯ:

Наразі не можу відповісти на моє власне питання, тому накидаю це на даний момент:

Поряд із apt-get upgrade --dry-runзапропонованими нижче, /usr/lib/update-notifier/apt-check -pперелічить усі пакунки, у яких є оновлення.


Ласкаво просимо до рангів, використовуйте та зловживайте сайтом, якщо вам потрібна додаткова допомога;) Якщо ви знайдете відповідь, яка задовольняє ваше запитання, будь ласка, позначте її зеленою галочкою поруч.
Бруно Перейра

1
Тепер ви зможете відповісти на власне запитання, оскільки у вас є достатня кількість представників, щоб зняти нові обмеження користувача .
jokerdino

виглядає так, що для відповіді на власне запитання потрібне 100 повторень або чекання 8 годин.
Jan Geep

У 2016 році відповідь, яку дав @doru, з’являється на місці. askubuntu.com/a/788049/560610
jeremysawesome

Відповіді:


62

Ви можете встановити, aptitudeякщо він ще не встановлений. Це чудовий інструмент для управління пакунками в безголових налаштуваннях.

введіть тут опис зображення

В іншому випадку, якщо ви просто хочете побачити, що станеться, коли ви щось запустите, скористайтеся --dry-runаргументом, і він насправді нічого не зробить, він просто скаже вам, що б це робило :

Зі сторінки доречного чоловіка

-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).

Додайте опцію до команди таким чином

apt upgrade --dry-run

5
Я спотворив вашу відповідь, сподіваюся, ви не заперечуєте.
Бруно Перейра

2
Цікаво, що apt-get upgrade --dry-runце не вимагає sudo, що робить його ідеальним для автоматизованого відображення необхідних оновлень пакунків.
дшеферд

ще цікавіше те, що в моєму Ubuntu 14.04 LTS "apt-get -s update" не приймає "-s" ... ні "--dry-run", "--no-act" ... чому це було б?
mBardos

@mBardos Ви замінили на apt-getсвоєму шляху сценарій "помічник"? Переконайтесь, which apt-getщо це/usr/bin/apt-get
Олі

martonb @ martonb-ubu: ~ / робота / qt $ котрий apt-get / usr / bin / apt-get Це працює для вас на Ubuntu 14.04 LTS? martonb @ martonb-ubu: ~ / work / qt $ apt-get -s update E: Опція командного рядка 's' [від -s] не відома.
mBardos

67

В даний час (Ubuntu 16.04) , ви можете використовувати apt listз --upgradableпрапором;

sudo apt update
apt list --upgradable

і ви отримаєте список із усіма оновленими пакетами.


1
Відмінно! Саме це я хотів побачити :)
jeremysawesome

aptневідома команда в 12.04
confiq

1
@confiq "APT 1.0 був випущений 1 квітня 2014 року" , тому можливо не бути оновленим у вашій системі. Спробуйте побачити, яку версію aptвстановленої версії встановлено sudo apt-cache policy apt.
сніданок

що пояснює ...
confiq

10

Іншою альтернативою було б використовувати aptitudeз терміном пошуку :

aptitude search '~U'

(Зверніть увагу на великі регістри "U")

Це означає: "пошук усіх пакунків, які встановлені та можуть бути оновлені". Довідка: посібник користувача з придатності

За замовчуванням aptitude searchпоказує для кожного пакета свою назву, опис та кілька прапорів, але ви також можете пристосувати вихід до своїх потреб. Наприклад, для переліку лише назв пакета командою було б:

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

( --disable-columnsуникає пробілу пробілів у кінці рядків)


8

Нижче команда покаже вам список встановлених пакетів, у яких оновлення доступне у сховищах.

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
Це приємний шматочок магічного командного рядка!
Teemu Leisti

1
Приємно, але відповіді @ sierrasdetandil і @doru роблять точно так само красиво стисло ...
Джузеппе
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.