Jak widzisz, które pakiety są dostępne do aktualizacji

72

Użytkownik FreeBSD dołącza do twoich szeregów. Poproszono mnie o opiekę nad Ubuntu Server z systemem 10.04 LTS.

Wydaje mi się, /usr/lib/update-notifier/update-motd-updates-availableże na serwerze jest wiele aktualizacji, ale nie widzę sposobu, aby stwierdzić, które zostaną zaktualizowane.

Czy ktokolwiek byłby w stanie skierować mnie we właściwym kierunku, aby zobaczyć, które pakiety zostaną zaktualizowane po uruchomieniu apt-get upgrade?

AKTUALIZACJA:

W tej chwili nie mogę odpowiedzieć na moje pytanie, dlatego na razie wrzucam to tutaj:

Wraz z apt-get upgrade --dry-runsugerowanymi poniżej, /usr/lib/update-notifier/apt-check -pwyświetli listę wszystkich pakietów, które mają dostępne aktualizacje.

Jan Geep
źródło
Witamy w szeregach, użyj i wykorzystaj witrynę, jeśli potrzebujesz dalszej pomocy;) Jeśli znajdziesz odpowiedź, która spełnia twoje pytanie, zaznacz ją zielonym polem wyboru obok.
Bruno Pereira
1
Powinieneś teraz być w stanie odpowiedzieć na własne pytanie, ponieważ masz wystarczającą liczbę przedstawicieli, aby usunąć ograniczenia dla nowych użytkowników .
jokerdino
wygląda na to, że potrzeba 100 powtórzeń lub 8 godzin oczekiwania na odpowiedź na własne pytanie.
Jan Geep
W 2016 roku odpowiedź udzielona przez @doru jest natychmiastowa. askubuntu.com/a/788049/560610
jeremysawesome

Odpowiedzi:

62

Możesz zainstalować, aptitudejeśli nie jest jeszcze zainstalowany. To świetne narzędzie do zarządzania pakietami w konfiguracji bezgłowej.

wprowadź opis zdjęcia tutaj

W przeciwnym razie, jeśli chcesz tylko zobaczyć, co się stanie, gdy coś uruchomisz, użyj --dry-runargumentu, a tak naprawdę nic nie zrobi, po prostu powie ci, co by zrobił:

Ze strony podręcznika apt-get

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

Dodaj w ten sposób opcję do polecenia

apt upgrade --dry-run
Oli
źródło
5
Oszpeciłem twoją odpowiedź, mam nadzieję, że nie masz nic przeciwko.
Bruno Pereira
2
Co ciekawe apt-get upgrade --dry-run, nie wymaga sudo, co czyni go idealnym do automatycznego wyświetlania wymaganych aktualizacji pakietów.
dshepherd
jeszcze bardziej interesujące jest to, że na mojej Ubuntu 14.04 LTS „aktualizacja apt-get -s” nie akceptuje „-s” ... ani „--dry-run”, „--no-act” ... dlaczego to by było?
mBardos
@mBardos Czy zastąpiłeś na apt-getswojej ścieżce skrypt „pomocnika”? Sprawdź, which apt-getczy to jest/usr/bin/apt-get
Oli
martonb @ martonb-ubu: ~ / work / qt $ które apt-get / usr / bin / apt-get Czy to działa dla ciebie na Ubuntu 14.04 LTS? martonb @ martonb-ubu: ~ / work / qt $ apt-get -s update E: Opcja wiersza poleceń 's' [z -s] nie jest znana.
mBardos,
67

Na razie (Ubuntu 16.04) można używać apt listz --upgradableflagą;

sudo apt update
apt list --upgradable

a otrzymasz listę wszystkich pakietów, które można aktualizować.

doru
źródło
1
Doskonały! Właśnie to chciałem zobaczyć :)
jeremysawesome
aptjest nieznane polecenie w 12.04
confiq 11.07.16
1
@confiq „APT 1.0 został wydany 1 kwietnia 2014” , więc możliwe jest, że nie zostanie zaktualizowany w twoim systemie. Spróbuj sprawdzić, która wersja aptjest zainstalowana sudo apt-cache policy apt.
doru
to wyjaśnia ...
confiq
10

Inną alternatywą byłoby użyć aptitudez szukanej frazy :

aptitude search '~U'

(Uwaga wielkie litery „U”)

Oznacza to: „wyszukaj wszystkie pakiety, które są zainstalowane i mogą zostać zaktualizowane”. Odniesienie: instrukcja obsługi aptitude

Domyślnie aptitude searchpokazuje dla każdego pakietu jego nazwę, opis i kilka flag, ale możesz również dostosować dane wyjściowe do swoich potrzeb. Na przykład, aby wyświetlić tylko nazwy pakietów, polecenie powinno wyglądać następująco:

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

( --disable-columnsunika uzupełniania białych znaków na końcu linii)

sierrasdetandil
źródło
8

Poniższe polecenie pokaże listę zainstalowanych pakietów, które mają aktualizację dostępną w repozytoriach.

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
Avinash Raj
źródło
1
To trochę magii z linii poleceń!
Teemu Leisti,
1
Fajnie, ale odpowiedzi @ sierrasdetandil i @doru robią dokładnie to samo w pięknie zwięzły sposób ...
Giuseppe,