So erhalten Sie als normaler Benutzer die Anzahl der verfügbaren Updates auf einem Ubuntu-System

8

Ich brauche dies für ein einfaches Überwachungsskript, das ich nicht als root ausführen möchte ...

Joe Kandaba
quelle
1
Es gibt immer befehlsbeschränkte nopasswd sudo
Michael Lowman
Vielen Dank an euch alle für die vielen Antworten. Nachdem ich einige Ihrer Vorschläge ausprobiert und ein wenig mehr herumgesucht habe, scheint es mir, dass die Lösung, die die geringsten Abhängigkeiten erfordert und die sicherste ist, einfach das Parsen von / etc / motd ist - aber das scheint mir nicht sehr elegant zu sein :)
Joe Kandaba

Antworten:

10

Die Anzahl der ausstehenden Sicherheitsupdates kann wie folgt ermittelt werden:

/usr/lib/update-notifier/apt-check 2>&1 | cut -d ';' -f 1

und die Anzahl der ausstehenden regelmäßigen Updates kann ermittelt werden mit:

/usr/lib/update-notifier/apt-check 2>&1 | cut -d ';' -f 2

/superuser/199869/check-number-of-pending-security-updates-in-ubuntu

Quanten
quelle
viel eleganter als meins :)
Anthonysomerset
Vielen Dank für die Antwort, aber wie von jldugger hervorgehoben, handelt es sich um einen (kopflosen) Server. Daher ist die Installation von> 240 Paketen, einschließlich vieler GUI-Inhalte, nur um die Anzahl der passenden Updates zu erhalten, keine Option.
Joe Kandaba
Es wird vom Paket update-notifier-common bereitgestellt. Ich glaube nicht, dass es irgendwelche GUI-Abhängigkeiten hat.
Sourcejedi
1

Wenn Sie sudo verwenden, ist dies Ihre Antwort. Sie müssen wahrscheinlich den Benutzer, unter dem Sie das Skript ausführen möchten, zur sudoers-Datei und wahrscheinlich mit dem Flag nopasswd hinzufügen, damit bei jeder Ausführung des Skripts nicht nach Ihrem Kennwort gefragt wird. Weitere Informationen zu sudo erhalten Sie Schauen Sie hier: https://help.ubuntu.com/community/Sudoers

Anthonysomerset
quelle
Ich möchte wirklich lieber nichts als root auf einem Server ausführen lassen, der nicht unbedingt muss.
Joe Kandaba
Es wird nur lange genug als Root ausgeführt, um den Befehl auszuführen, und Sie können ihn auf den spezifischen Befehl beschränken, der zum
Abrufen von
1

Ubuntu hat viele gepackte Nagios-Plugins, einschließlich des praktischen check_apt, eines benutzerdefinierten C-Programms. Es ist etwas besser als Update-Notifier, da seine Abhängigkeiten kleiner sind. Wenn Sie an der Überwachung von Servern interessiert sind, haben Sie diese wahrscheinlich bereits installiert! Die Ausgabe sieht folgendermaßen aus (wenn Sie sie nicht mögen, scheint es trivial zu sein, das Programm zu verzweigen, um das zu drucken, was Sie benötigen):

APT OK: 0 packages available for upgrade (0 critical updates).

Wenn Nagios Alerting nicht Ihre Präferenz ist, können Sie das tun, was ich tue, und apticron installieren , das Ihnen E-Mail-Benachrichtigungen über verfügbare Updates auf einem System sendet.

jldugger
quelle
Vielen Dank! Apticron ist keine Option, da ich die Informationen für mein eigenes Skript benötige, sodass eine E-Mail nicht ausreicht. Aus dem gleichen Grund verwende ich keine Nagios, aber Ihre Antwort scheint zu implizieren, dass "check_apt" unabhängig verwendet werden kann?
Joe Kandaba
@ Joe alle Nagios Plugins können unabhängig ausgeführt werden - das ist das meiste, was Nagios tut :)
Michael Lowman
Ja. Es ist nur ein Programm, das in / usr / lib / nagios / check_apt installiert ist. Läuft einwandfrei wie jeder alte Benutzer.
Jldugger