Installierte Bibliotheken etc up to date halten

  • Ich habe mitlerweile recht viele Prgramme und Bibliotheken auf meinen kleinen RPi installiert und überlege gerade ob und wie ich diese dann am besten up-to-date halte.

    Ich habe mir schon für unterschiedlcihe Einsatzzwecke des RPi eigene kleine Installations-Scripts erstellt, die mir dann genau die Software installiert, die ich für den Zweck brauche.
    Nun kann es aber ja immer mal passieren das es neue Versionen gibt. Bei registrierten Sachen geht das ja einfach über apt-get, aber was ist mit der Software die ich z.B. aus GIT Repositories geladen und dann lokal compiliert habe ?

    Kann ich da einfach ein git update für die Ordner aufrufen, und wenn da dann was passiert das make noch mal aufrufen ?
    Wie würde ein bash/sh script dafür in etwa aussehen dann?
    Und macht das überhaupt Sinn? Also wenn alles läuft so wie es soll, und man keine Probleme hat, dann läuft es ja stabil, und der Status Quo ist vollkommen ok. Also theoretisch wäre ja ein update nicht nötig. Andererseits kann ja auch immer mal Performance verbesserungen dabei kommen. Wie handhabt ihr das ?

    • Offizieller Beitrag

    Generell nach dem Schema, never change a running system. Wenn es doch mal Änderungen gibt, die ein Update rechtfertigen, mach ich das manuell.

    Der Unterschied zwischen Genie und Wahnsinn definiert sich im Erfolg.

  • Hi,


    ...
    Und macht das überhaupt Sinn? Also wenn alles läuft so wie es soll, und man keine Probleme hat, ...
    ...


    so ist das wohl.
    Und nach der Regel, dass es keine fehlerfreie Software gibt, und man sich für einen behobenen Fehler zwei neue einhandelt, ist es wahrscheinlich, dass nach einem Update plötzlich irgendwas nicht mehr so tut wie vorher.
    Ich habe bisher immer alles so gelassen, wie es war und habe damit noch nie eine böse Überraschung erlebt. Wie dbv eben schon schrub: never change a running system.
    cu,
    -ds-

  • Klar, ist so ein hin und her. Bei ein paar Programmen wären weitere Features schön, die evtl ja noch kommen. Und bei anderen hab ich schon um Bugs herum programmiert damit es so läuft wie ich es haben will. Sollten die mal gefixt werden wäre das ja auch schön. In beiden Fällen müsste ich dann aber mein Programm auch noch mal anpacken und umgestallten.
    Denke mal werde wenn das Projekt fertig ist ein Backup machen, und notfalls wenn irgendwas ist dann nach Updates suchen. Notfalls kann ich ja zum laufenden Backup dann zurück rollen.

  • Man sollte - und das ist eigentlich bei Linux weit verbreitet - Source-Quellen im Verzeichnis /usr/src/ ablegen und halten.

    Lade dir also einfach alle Sachen die du manuell kompiliert hast dort rein, so kannst du diese auch problemlos bei Bedarf updaten und recompilieren.

    Aber wie dbv schon schrieb: Never change a Running System.

    Wenn du also keine Probleme hast - und das System nicht übers Internet ansprechbar ist - brauchen die Pakete auch nicht up2date gehalten werden.
    Es kann nämlich auch passieren das dadurch überhaupt erst Probleme verursacht werden, ist zwar selten aber es kommt vor. Die meisten Updates sind eigentlich nur Sicherheitsupdates, bringen aber ansonsten kaum bis keine Verbesserungen, wie mehr Features oder schnelleren Code, mit sich. Es kommt aber auch manchmal vor das die Syntax sich ändert mit der etwas aufgerufen werden kann, oder weitere Abhängigkeiten dazu kommen usw - auch das ist nicht immer optimal.


    Wenn du Programme über git geladen hast, gäbe es mehrere Möglichkeiten zu prüfen ob die Dateien remote neuer sind als die lokalen. Das einfachste wäre zB

    Code
    git pull --dry-run | grep -q -v 'Already up-to-date.'

    Funktioniert aber nur wenn Du lokal keine Dateien modifiziert hast.

    Man könnte aber auch

    Code
    cat .git/packed-refs

    mit

    Code
    git ls-remote origin -h refs/heads/master

    vergleichen.

    Oder man vergleicht das Datum des letzten commits und der neuesten Datei lokal.. Das ist aber etwas umständlicher:

    ..alles natürlich noch ausbaufähig - es gibt aber auch immer mehr als eine Lösung..

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!