Frage zypper lu

Hinweis: In dem Thema Frage zypper lu gibt es 7 Antworten. Der letzte Beitrag () befindet sich ganz unten auf dieser Seite.
  • Hi,


    ich bastel grad an einem Script dass mir in den KDE Systembenachrichtigungen eine Meldung ausgeben soll falls Paketupdates vorhanden sind.


    Im Script verwende ich

    Code
    zypper lu -t package


    Muss ich vorher die Repos aktualisieren?

    Code
    zypper ref


    Oder ist das nicht nötig wenn die aktiven Repos auf "aktualisieren" stehen?

    Für den Inhalt des Beitrages 48023 haftet ausdrücklich der jeweilige Autor: BananaJoe

  • verwende

    Code
    notify-send


    das ist im Paket "libnotify-tools"

    Für den Inhalt des Beitrages 48026 haftet ausdrücklich der jeweilige Autor: uhelp

  • hm, so wie ich das sehe ist

    Code
    notify-send


    für Gnome, ich nutze aber KDE, da gibt es dann entsprechend eben

    Code
    kdialog


    was ich auch in meinem Script verwende.


    Das war aber auch gar nicht die Frage. ;)

    Für den Inhalt des Beitrages 48031 haftet ausdrücklich der jeweilige Autor: BananaJoe

  • Das siehst du falsch.
    Wie kommst du zu so einer Aussage?


    Also nimm es, oder lass es.
    Ich habe sehr wohl gelesen, dass du es für KDE willst.
    (falls du das ohne "notify-send" machst, würde ich gerne sehen, wie du das machst.)


    "kdialog" tut genau, was der Name sagt: Du kannst damit ein paar Standarddialoge kreieren.
    "notify-send" tut genau da, was der NAme sagt: Es sendet eine Systembenachrichtigung.


    Und dein eigentliche Frage ist leicht Banane.
    Denk mal drüber nach, wie er dir aktuelle Updates listen sollte, wenn er von einem refresh abhängig wäre?


    Ein "zypper refresh" holt lediglich die Metadaten und baut den solver chache neu.

    2 Mal editiert, zuletzt von uhelp ()

    Für den Inhalt des Beitrages 48032 haftet ausdrücklich der jeweilige Autor: uhelp

  • Also nimm es, oder lass es.
    Ich habe sehr wohl gelesen, dass du es für KDE willst.
    (falls du das ohne "notify-send" machst, würde ich gerne sehen, wie du das machst.)

    bitte

    Code
    $number=123
    kdialog --title "Aktualisierungen" --passivepopup  "$number Updates verfuegbar" 10



    Und achja ... Ich habe die Frage bewußt im Bereich "Anfänger" gestellt ....

    Für den Inhalt des Beitrages 48033 haftet ausdrücklich der jeweilige Autor: BananaJoe

  • cool.
    Wusste ich nicht.
    Danke.


    Trotzdem würde ich gerne wissen, was dich dazu bringt, zu glauben, dass "notify-send" nur für Gnome wäre?


    Am Rande: $number=123 ist falsch.
    $number expandiert zu dem Wert, der in der Variablen number enthalten ist.
    Und dem kann man nichts zuweisen.
    Das muss zu einem "command-not-found" Fehler führen.
    (Es sei denn es gibt ein ausführbares Ding, das sich -gesetzt den Fall "number enthielte "doof"- "doof=123" nennt.)

    3 Mal editiert, zuletzt von uhelp ()

    Für den Inhalt des Beitrages 48036 haftet ausdrücklich der jeweilige Autor: uhelp

  • Ich kannte send-notify noch gar nicht und habe die Suchmaschine meiner Wahl damit beauftragt mir informationen darüber bereit zu stellen. Die ersten paar Ergebnisse die ich mir angeschaut habe enthielten alle diese Fehlinformation.


    Ja, das $number war nur ein Tippfehler. ;)


    Und das "zypper refresh" vor dem "zypper lu -t package" scheint mir doch sinnvoll, jedenfalls so wie ich mir das zusammengebastelt habe. Ich kenn mich ja wie gesagt bei Suse noch nicht aus, jedenfalls kam vorhin beim Aufruf von "zypper lu" die Ausgabe (frei nach Gedächtnis)

    Code
    Repo XY Daten sind nicht aktuell, führe zypper refresh aus um Daten zu aktualisieren


    genau auf sowas wollte ich ja hinaus. ;)


    Und da mein Script die Zeilen Zählt die "zypper lu" ausgibt und davon abhängig macht ob es eine Ausgabe macht oder nicht ist das refresh vorher sinnvoll, da falls es zu dem oben geschilderten Fall kommt,
    die anzahl der ausgegebenen Zeilen anders ist und so das Script nicht mehr funktioniert. (bei keinen vorhandenen Update sind es 3 Zeilen)


    Das ist zwar nicht gerade eine elegante Lösung, aber sie funktioniert. Man könnte die Option "--xmlout"
    nutzen und dann aus der Ausgabe irgendwie herausfiltern ob Updates vorhanden sind oder nicht, aber das war mir zu kompliziert, weil ich mich da nicht auskenne. ;)


    wenns noch wen interessiert hier das Script


    habe doch send-notify genommen weil man da ein Icon angeben kann. ;)


    das "zypper ref" ist ein root cron job

    Code
    01 * * * * /usr/bin/zypper -q refresh


    und 4 minuten später dann das Script als user cronjob

    Code
    05 * * * * DISPLAY=:0 /usr/local/bin/check-updates


    Mal sehen ob es auf dauer funktioniert, oder ob noch irgendwas, was ich noch nicht weiss/kenne Probleme macht.

    Für den Inhalt des Beitrages 48037 haftet ausdrücklich der jeweilige Autor: BananaJoe

  • Da das Problem für BananaJoe vorerst gelöst ist, habe ich sämtliche Posts, die nicht direkt mit der Problemlösung zusammenhängen gelöscht. Diskussionen über Programmierstile und Techniken bitte ich per PN oder in einem neuen Thread zu führen.


    MfG
    Trekkie00