Wie sehen Sie, welche Pakete für die Aktualisierung verfügbar sind?

73

FreeBSD-Benutzer, der sich Ihren Reihen anschließt. Ich wurde gebeten, mich um einen Ubuntu-Server mit 10.04 LTS zu kümmern.

Ich sehe, /usr/lib/update-notifier/update-motd-updates-availabledass es eine Reihe von Updates auf dem Server gibt, aber ich sehe keine Möglichkeit, zu sagen, welche aktualisiert werden.

Wäre jemand in der Lage, mich in die richtige Richtung zu weisen, damit ich sehen kann, welche Pakete beim Ausführen aktualisiert werden apt-get upgrade?

AKTUALISIEREN:

Ich kann meine eigene Frage im Moment nicht beantworten.

Zusammen mit den apt-get upgrade --dry-rununten vorgeschlagenen /usr/lib/update-notifier/apt-check -pwerden alle Pakete aufgelistet, für die Updates verfügbar sind.

Jan Geep
quelle
Willkommen in den Reihen, benutze und missbrauche die Seite, wenn du weitere Hilfe benötigst;) Wenn du eine Antwort findest, die deine Frage erfüllt, markiere sie bitte mit dem grünen Kästchen daneben.
Bruno Pereira
1
Sie sollten nun in der Lage sein, Ihre eigene Frage zu beantworten, da Sie über genügend Repräsentanten verfügen, um neue Benutzerbeschränkungen zu entfernen .
jokerdino
Sieht aus, als wären 100 Wiederholungen erforderlich, oder Sie müssen 8 Stunden warten, um Ihre eigene Frage zu beantworten.
Jan Geep
Im Jahr 2016 ist die Antwort von @doru genau richtig. askubuntu.com/a/788049/560610
jeremysawesome

Antworten:

63

Sie können installieren, aptitudewenn es nicht bereits installiert ist. Es ist ein großartiges Tool zum Verwalten von Paketen in einem Headless-Setup.

Bildbeschreibung hier eingeben

Andernfalls, wenn Sie nur sehen möchten, was passieren wird, wenn Sie etwas ausführen, verwenden Sie das --dry-runArgument und es macht eigentlich nichts, es sagt Ihnen nur, was es tun würde :

Von der Apt-Get-Manpage

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

Fügen Sie dem Befehl auf diese Weise die Option hinzu

apt upgrade --dry-run
Oli
quelle
5
Ich habe deine Antwort entstellt, ich hoffe es macht dir nichts aus.
Bruno Pereira
2
Interessanterweise apt-get upgrade --dry-runnicht erforderlich sudo, was es perfekt für eine automatische Anzeige der erforderlichen Paketaktualisierungen macht.
Dshepherd
noch interessanter ist, dass auf meinem Ubuntu 14.04 LTS "apt-get -s update" weder "-s" noch "--dry-run", "--no-act" akzeptiert ... warum wäre das
mBardos
@mBardos Hast du das apt-getin deinem Pfad durch ein "Helfer" -Skript ersetzt ? Überprüfen Sie which apt-get, ob es/usr/bin/apt-get
Oli
martonb @ martonb-ubu: ~ / work / qt $ welches apt-get / usr / bin / apt-get Funktioniert dies für Sie unter Ubuntu 14.04 LTS? martonb @ martonb-ubu: ~ / work / qt $ apt-get -s update E: Das [from -s] der Befehlszeilenoption ist nicht bekannt.
mBardos
67

Ab sofort (Ubuntu 16.04) können Sie apt listmit der --upgradableFlagge verwenden;

sudo apt update
apt list --upgradable

und Sie erhalten eine Liste mit allen aktualisierbaren Paketen.

doru
quelle
1
Ausgezeichnet! Genau das wollte ich sehen :)
jeremysawesome
aptist unbekannt Befehl in 12.04
Confiq
1
@confiq "APT 1.0 wurde am 1. April 2014 veröffentlicht" , daher ist es möglich, dass auf Ihrem System kein Upgrade durchgeführt wird. Versuchen aptSie festzustellen, welche Version von Ihnen installiert ist sudo apt-cache policy apt.
Doru
das erklärt ...
Confiq
10

Eine andere Alternative wäre die Verwendung aptitudemit einem Suchbegriff :

aptitude search '~U'

(Beachten Sie den Großbuchstaben 'U')

Das bedeutet: "Suche nach allen Paketen, die installiert sind und aktualisiert werden können". Referenz: aptitude Benutzerhandbuch

Standardmäßig werden aptitude searchfür jedes Paket Name, Beschreibung und einige Flags angezeigt. Sie können die Ausgabe jedoch auch an Ihre Anforderungen anpassen. Um beispielsweise nur die Paketnamen aufzulisten, lautet der Befehl:

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

( --disable-columnsvermeidet Leerzeichen am Zeilenende)

sierrasdetandil
quelle
8

Der folgende Befehl zeigt Ihnen die Liste der installierten Pakete, für die ein Update in den Repositorys verfügbar ist.

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
quelle
1
Das ist ein schönes Stück Kommandozeilenmagie!
Teemu Leisti
1
Schön, aber die Antworten von @ sierrasdetandil und @doru machen genau das Gleiche auf wunderschöne Weise ...
Giuseppe,