zypper update -y autostartscript sinnvoll? Funktionsweise?

Hinweis: In dem Thema zypper update -y autostartscript sinnvoll? Funktionsweise? gibt es 23 Antworten auf 3 Seiten. Der letzte Beitrag () befindet sich auf der letzten Seite.
  • Hallo zusammen:)


    Vor kurzem hatte ich mal den Gedanken, dass "Automatische Updates" für meine eher unbedeutenden Softwareanforderungen sinnvoll wären.
    Ich habe deshalb eine Datei namens zypper.sh im autostart-scripts, als Root, ausführbar gemacht.


    Damit ich sehe, ob da was passiert habe ich eine Weiterleitung an eine Textdatei angehängt (>>)


    Die Textdatei erzeugt sich, auch wenn ich Text umleiten will, kommt der dort an... nur zypper macht offenbar kein Update.


    Code
    sleep 50
    zypper update -y >> /home/name/Dokumente/Systemprotokolle/zypper.txt


    Im Gegenzug dazu habe ich auch mit gnome-schedule (das Teil ist eine GUI für cron) ebenfalls einen Versuch gemacht.. und voila, zypper funktioniert.


    Es freut mich zwar, dass es mit gnome-schedule funktioniert; gleichzeitig ärgert mich mein Unverständnis, da so etwas bestimmt auch als einfaches Script funktionieren müsste. Ist etwas grundsätzlich falsches in meiner Ausführung zu finden, warum das nicht geht?

    Für den Inhalt des Beitrages 98651 haftet ausdrücklich der jeweilige Autor: JeyF123

  • Code
    zypper -n up  -l

    Und du solltest nicht nur STDOUT umleiten, sondern auch STDERR. also auch 2>>/home....
    Ich würde dir raten erst einmal nachzulesen, was die Option -y tatsächlich tut.
    Bildung hilft immer. Und wenn du noch dazu -n und bei up|update -l nachliest, was die tun, wirst du selbst sehen, was da schiefläuft.


    Außerdem machst du alle 50 Sekunden einen Versuch.
    Das ist eine ziemliche Übertreibung und eine Serverlast, die wohl als reine Unverschämtheit wahrgenommen werden wird.
    Einmal am Tag reicht ja wohl.


    Zudem braucht es kein Script, das da ständig läuft.
    Entweder du verwendest eine systemd Timer, wozu du hier in den Tutorials etwas findest,
    oder du regelst dieses einen Befehl mit cron

  • Berichtigung, danke für dein Feedback.


    In diesem Scheduler habe ich ebenfalls

    Code
    zypper update -y

    dort funktioniert es, ich verstehe aber nicht warum. Im übrigen nur 1x um 20:15/täglich



    Außerdem machst du alle 50 Sekunden einen Versuch.


    Du meinst die sleep 50? Die wiederholen sich?


    Bezüglich den Umleitungen > >> muss ich mich noch eindeutig schlauer machen.




    Zitat von Berichtigung

    Bildung hilft immer.

    ja, dagegen ist nichts einzuwenden.







    Zitat von Berichtigung

    Ich würde dir raten erst einmal nachzulesen, was die Option -y tatsächlich tut.


    -y, --no-confirm
    Don’t require user interaction. Alias for the --non-interactive global option.


    Aus diesem Text heraus ging ich davon aus, dass ich die Downloads nicht bestätigen muss.
    Ist es was anderes?


    Nachtrag: Mir ist noch eingefallen, ... mache ich mit dem script überhaupt iwas mit zypper?

    Einmal editiert, zuletzt von JeyF123 ()

    Für den Inhalt des Beitrages 98653 haftet ausdrücklich der jeweilige Autor: JeyF123

  • Ja, das Script macht "was mit zypper".
    Aber es wird halt kein Update machen, wenn sich bestimmte Dinge in Repos ändern,
    was schon öfter vorkommt.


    Und nur den globalen Optionen zuzustimmen genügt eben nicht.
    Deshalb ist das -l auch eine Option von update selbst.
    Und -n ist das, was du eigentlich meinst.


    Bei einem sleep <nr> gehe ich schon davon aus, dass das Ding ständig gerufen wird, sei es in einer Schleife, sei es durch ein anderes Script oder sonstwie.
    Sonst macht es schlicht keinen Sinn.
    Wenn du hingegen auf irgendwelche Zustände warten willst, wären Signale einer Betrachtung wert, oder, falls man auf das Erstellen/Ändern einer Datei reagiert ein Blick auf inotifywait

  • Hallo Berichtigung:)


    Danke für deine weitere Hilfe!


    Leider muss ich dazu sagen, dass unsere Wahrnehmungen zum Thema total unterschiedlich sind.
    Nein, ich spreche dir keinesfalls die 'Erfahrung ab; es ist eher so dass ich zT verwundert bin, wie du
    auf bestimmte Ergebnisse kommst.


    Wenn das für dich in Ordnung ist, sage ich dir mal was ich mir dachte, das passieren wird (mit dem kleinen Script)
    und du kannst mir ja sagen, was es wirklich macht. Zum anderen habe ich auch Fragen zum warum und wieso von deiner Ausführung.


    1. Datei namens zypper.sh (Benutzer root) im Ordner ./config/autostart-scripts; ausführbar


    Code
    sleep 50
    zypper update -y >> /home/meinName/Dokumente/Systemprotokolle/zypper.txt


    Was dachte ich, dass das Programm macht?
    1. Es wird beim Systemstart geladen
    2. Es wartet 50 Sek. (Das war einfach mal der naive Gedanken, dass das Scripts vllt. sonst etwas wichtiges im Startvorgang stören könnte)
    3. zypper update -y löst ein Update ohne Bestätigung aus und überträgt es dann in die Textdatei, wobei die zwei größer als Zeichen (>>) dazu dienen sollen, neues hinten an zu hängen.


    Wie weit ist das jetzt weg von dem was tatsächlich passiert? >


    Bezüglich inotifywait muss ich mich noch schlau machen.. oder gibt es für dich etwas gleich offensichtliches im Vergleich zu sleep? -> ich seh grad, muss mal schauen in welchem Repo das drinnen ist.


    Bezüglich deiner eigenen Tipps und Tricks.


    zypper -l (kleines L) im Bezug auf Third-Party Agreements... ja, das kann ich total nachvollziehen.


    zypper -n
    -n, --name
    Select packages by their name, don’t try to select by capabilities.


    bin hier nicht sicher was das auslöst: bezieht sich Capabilities auf "nicht die höchste Versionsnummer, hauptsache es passt" ?

    Für den Inhalt des Beitrages 98671 haftet ausdrücklich der jeweilige Autor: JeyF123

  • Die grundlegende Syntax von zypper ist:
    zypper <globale Optionen> <Befehl> <befehlsptionen> [repo|paket|....]
    Bei meinem Befehl ist das -n eine globale Option, deine Angabe bezieht sich auf die Option des Befehls up|update
    Das sind zwei ganz verschiedene Paar Schuhe.
    (Die globalen Optionen finden sich in der Manpage ganz unten)
    Es empfiehlt sich die Manpages mit Konqueror durch die Eingabe von #zypper zu lesen, dann kann man besser lesen/scrollen.


    Dein Script wird bei Systemstart NICHT ausgeführt.
    Es wird nur dann ausgeführt, wenn root sich an der graphischen Konsole anmeldet.
    (Also KDE, Gnome oder, oder)


    Willst du es bei Systemstart ausführen lassen, kannst du es mit einem systemd Servicefile rufen lassen.
    (und da eine Netzwerkverbindung benötigt wird, wäre AFTER Network oder sowas sinnvoll.)
    Das sleep kannst ja lassen. Es ist ja harmlos. (Nur ich hab es falsch interpretiert.
    (Wirklich nötig ist es mit einem korrekten Servicefile nicht.)

  • Hallo Berichtigung:)


    Ich werde vermutlich etwas brauchen alles zu erfassen.
    Danke für die Tipps



    Zitat von Berichtigung

    Dein Script wird bei Systemstart NICHT ausgeführt.
    Es wird nur dann ausgeführt, wenn root sich an der graphischen Konsole anmeldet.
    (Also KDE, Gnome oder, oder)


    Wenn ich das so richtig verstehe, wird zwar das Script selbst schon ausgeführt, nur ist zypper kein Befehl für einen normalen User (im Regelfall), denn wenn ich zB


    Code
    echo "neues Update" >> /name/zur/Datei.txt


    in das Script schreibe, kommt es dann auch bei der Datei.txt an. Also ist meine naheliegendste Überlegung: echo darf der User, zypper nicht, deshalb nur echo ... ist das soweit (zumindest an der Oberfläche) richtig?

    Für den Inhalt des Beitrages 98674 haftet ausdrücklich der jeweilige Autor: JeyF123

  • sry, ein Addon gleich ...
    meintest du dieses -n? Das klingt am einleuchtendsten für mich.
    -n, --non-interactive

    Für den Inhalt des Beitrages 98675 haftet ausdrücklich der jeweilige Autor: JeyF123

  • muss noch was anhängen.. vllt. sollte ich nächstes mal länger warten, bevor ich schreibe.


    bzgl. deines Hinweises auf STDERR 2> --- ja, das habe ich jetzt versucht und (das ist für dich jetzt wohl kaum eine Überraschung) Folgendes ist herausgekommen:


    Zitat von zypper.txt

    Zum Aktualisieren der Pakete sind Root-Berechtigungen erforderlich.

    ja, ehm. Irgendwie gut noch eine zweite Meinung dabei gehabt zu haben.

    Für den Inhalt des Beitrages 98676 haftet ausdrücklich der jeweilige Autor: JeyF123