Update-Funktion up do date?

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Ich habe mich bereits daran gewöhnt, dass ich via

    Code
    apt-get install ntp

    eine veraltete Version kriege und dieses eine Programm manuell heruntergeladen, kompiliert und installiert.

    Nun habe ich ein Problem mit GPSD und stelle fest, dass die Version 3.6 kommt, die immerhin schon 3 Jahre alt ist. Also herunterladen und kompilieren.

    Doch dann motzt das Skript und sagt meine Scons Version sei veraltet, nämlich 2.1.0. Diese Version ist vier Jahre und drei Tage alt!

    Habe ich etwas wichtiges nicht verstanden? Wozu dient eine Update-Funktion, wenn man sich damit nur uralte Versionen anzieht? Klar könnte ich auch scons selbst kompilieren, aber dann kommt bestimmt das nächste Problem. Was tun, wenn man einigermassen aktuell sein will?


  • Wozu dient eine Update-Funktion, wenn man sich damit nur uralte Versionen anzieht?

    Die Version sagt nichts über den source code, den der maintainer verwendet hat, aus. D. h., der maintainer hat evtl. schon gepatcht, und das ist für dich, aus der Version nicht ersichtlich. Wenn Du Genaueres wissen willst, reicht es nicht sich nur die Version-Nr. anzuschauen.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • Ich bin mir schon sicher, dass veraltete Versionen angezogen werden. Bei NTP erkenne ich das an fehlenden Funktionen in der Version via apt-get, bei Scons kriege ich eine Fehlermeldung:

    Code
    $ scons && scons check && sudo scons udev-install
    scons: Reading SConscript files ...
    SCons 2.3 or greater required, but you have SCons 2.1.0

    Gemäss Scons Projektseite ist diese Version 4 Jahre alt.


  • Ich bin mir schon sicher, dass veraltete Versionen angezogen werden.

    OK, ... dann kannst Du aus dem aktuellen source code (aktuelle Version), compilieren.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • Du hast mein Problem nicht verstanden. Scons ist eine Abhängigkeit einer Abhängigkeit meiner Anwendung, die ich selbst kompilieren soll und ich kann mir gut vorstellen, dass ich noch etwas selbst kompilieren muss, um scons zu kompilieren. Ich will nicht ein Linux von Grund auf neu "bauen" sondern einigermassen komfortabel mit meiner Anwendung arbeiten können. Und ich dachte, die Updatefunktion sei genau dafür geschaffen.

    Gibt es eine Funktion, raspian auf den letzten "stable release" der darin enthaltenen Treiber/Programme zu aktualisieren?

  • Du führst aber schon vor einem

    Code
    apt-get install xyz

    ein

    Code
    apt-get update

    aus?

    Ist dein System via


    Code
    apt-get update
    apt-get upgrade


    auf dem neusten Stand? Welche Raspbian-Version verwendest du?

    Generell ist es bei Debian-Basierten Systemen so, dass dort Wert auf die Stabilität und Fehlerfreiheit der eingesetzten Pakete gelegt wird. Und nicht darauf, von allem jeweils die aktuellste Version bereitzustellen. Das war sinngemäß auch das, was mein Vorposter versucht hat anzumerken. Es kann gut sein, dass zwar eine "alte" Version im Repository vorliegt, die aber dennoch vom Maintainer bei Bugs und Sicherheitslücken entsprechend gepatcht wurde.

    Wenn du bei der Entwicklung auf aktuelle Versionen angewiesen bist, wirst du nicht drum rum kommen, selber zum kompilieren und zu installieren. Inklusive der damit verbundenen Abhängigkeiten. Das kann dann mitunter in Arbeit ausarten und auch da gibt es unterschiedliche Wege zum Ziel. Da kann sicher jemand, der sich besser mit der Entwicklung unter Linux auskennt, mehr dazu sagen.

    Einmal editiert, zuletzt von lassayn (13. September 2015 um 21:48)

  • Ich gehe jetzt davon aus, dass Du Raspbian Wheezy verwendest.


    Wozu dient eine Update-Funktion, wenn man sich damit nur uralte Versionen anzieht?

    Raspbian basiert auf Debian und dort ist es so, dass die Pakete nicht ständig erneuert werden, sondern erst ca. alle zwei Jahre mit einem neuen Release. Ab und zu gibt es Sicherheits- und Fehlerupdates. Aber in der Regel keine Versionen mit neuen Funktionen.

    Das hat natürlich Konsequenzen. Man arbeitet dann unter Umständen mit Paket-Versionen, die nicht auf dem aktuellen Funktionsstand sind. Dafür sind die Pakete ziemlich fehlerfrei und laufen sehr stabil.



    Was tun, wenn man einigermassen aktuell sein will?

    Was heißt für Dich "aktuell"?

    Die Frage ist, welche Distribution und welches Release verwendest Du.

    Aktuell ist unter Raspbian das Release Wheezy. Für Debian gibt es schon Jessie. Mit wenig Aufwand könntest Du Wheezy auf Jessie upgraden. Ob sich das lohnt, dazu müsstest Du prüfen, ob die Paket-Versionen, die Du brauchst in Jessie enthalten sind.

    Wenn nicht, dann bleibt Dir nur der Weg über eine andere Distribution, die mit aktuelleren Paket-Versionen arbeitet. Oder Du nimmst den steinigen Weg über alle abhängigen Pakete selber zu compilieren (nicht empfohlen).

  • Leider besteht bei Linux die Herausforderung, dass die Begrifflichkeiten nicht immer ihren deutschen Übersetzungen entsprechen. Da reiben wir uns hier oft dran. Stable heiß zwar im Deutschen stabil und unstable instabil, trotzdem läuft eine unstable-Version stabil. Sie wird nur deutlich schneller mit (geprüften) Pakerupgrades versorgt, die im deutschen Sinne zwar stabil laufen, aber in einer nächsten Version z.B. schon wieder durch andere Pakete und Abhängikeiten ersetzt werden könnten. Stable werden deshalb Linuxversionen bezeichnet, die sehr lange ohne Paketupgrades auskommen, bei denen sich z.B. Abhängikeiten ändern. Solche Versionen können dann auch oft mit einem s.g. Langzeitsupport, meist mit einem LTS hinter dem Namen versehen angeboten werden. Da garantieren dann die Herausgeber, dass trotz des Angebots weiterer Stable Releases (mit höheren Versionsnummern), auch die "alte" Version weiterhin betreut wird. Solche Systeme kann man dann über mehrere Jahre beinahe unbeaufsichtigt betreiben, was natürlich Kosten spart. Zudem kann man sicher sein, dass auch eigene oder für die Version beschaffte Programme weiter laufen.

    Grundsätzlich gibt es für Raspbian (und die meisten anderen Debian Clone) 4 Möglichkeiten ein System zu erreichen, welches je nach Sichtweise und Philosophie des Nutzers aktuell ist. Das apt-get update vor jeder dieser Aktualisierungen ist dabe Pflicht, weil dort gewährleitet wird, dass die Quellen der jeweiligen Version aktuell sind. apt-get führt man natürlich grundsätzlich mit rootrechten aus

    1. Mit einem apt-get upgrade aktualisiert man vorhandene Pakete, bleibt jedoch bei bestehenden Abhängigkeiten in der Version. Es werden weder neue Programme installiert / deinstalliert noch Programmabhängigkeiten verändert. Dies kann also bedeuten, dass sobald ein Programm eine Abhängikeit zu einem alten Paket aufgebaut hat, bleibt diese bestehen und die Version wird nicht geändert, obwohl neuere Pakete da sind.

    2. Mit einem apt-get dist-upgrade werden alte Pakete durch neue ersetzt und dabei auch die Abhängikeiten geändert. Es können dabei sowohl völlig neue Programme installiert werden, als auch alte gelöscht werden. Selbst kompilierte Programme oder mit einem Paketmanager installierte Programme (deb-Dateien) könnten danach weiter funktionieren, müssen aber nicht.

    3. Selbst kompilierte Systeme bleiben Profis vorbehalten, die in der Lage sind, dann auch die neusten Quelltexte zu denen es unter Umständen noch gar keine Quellen gibt, in Ihr System einzubeziehen. Das ist sehr viel Arbeit, wenn man Erfolg hat kann es aber auch sehr befriedigend sein. Aber selbst bei Profis laufen selbst kopilierte (Komplett-)Systeme oft nicht auf Anhieb.

    4. Raspbian bietet eine besondere Möglichkeit des upgrades auf eine aktuelle Version (die aktuellste). Dabei wird mittels des Scripts rpi-update sowohl die Firmware, die sich beim RasPi auf der SD-Karte befindet erneuert, als auch eine upgrade aus eigenen Paketquellen gemacht. Diese Versionen laufen im Deutsche Sinne stabil, sind aber unstable releases (siehe oben). Da muss man sich drauf einstellen, dass Neuigkeiten bedeuten schneller eingepflegt werden. Beispiele die den Leuten, die keine readme (warum die wohl so heißt) lesen Schwierigkeiten bereiteten waren z.B. die Nutzung des device tree (DT) zum Laden von Kernelmodulen oder die Nutzung des Networkmanagers, anstelle der interfaces zur Verwaltung von Netzwerken.

  • Punk 1 und 2 sind soweit richtig, aber zu dem Rest muss ich was los werden:


    Leider besteht bei Linux die Herausforderung, dass die Begrifflichkeiten nicht immer ihren deutschen Übersetzungen entsprechen. Da reiben wir uns hier oft dran. Stable heiß zwar im Deutschen stabil und unstable instabil, trotzdem läuft eine unstable-Version stabil. Sie wird nur deutlich schneller mit (geprüften) Pakerupgrades versorgt, die im deutschen Sinne zwar stabil laufen, aber in einer nächsten Version z.B. schon wieder durch andere Pakete und Abhängikeiten ersetzt werden könnten. Stable werden deshalb Linuxversionen bezeichnet, die sehr lange ohne Paketupgrades auskommen, bei denen sich z.B. Abhängikeiten ändern. Solche Versionen können dann auch oft mit einem s.g. Langzeitsupport, meist mit einem LTS hinter dem Namen versehen angeboten werden. Da garantieren dann die Herausgeber, dass trotz des Angebots weiterer Stable Releases (mit höheren Versionsnummern), auch die "alte" Version weiterhin betreut wird. Solche Systeme kann man dann über mehrere Jahre beinahe unbeaufsichtigt betreiben, was natürlich Kosten spart. Zudem kann man sicher sein, dass auch eigene oder für die Version beschaffte Programme weiter laufen.

    Im selben Absatz vermischst du leider Paketupdates mit Linux-Distributionen.
    Abhängigkeiten haben mit "unstable" usw nur indirekt etwas zu tun, was aber nichts mit "unstable" zu tun hat sondern mit Features auf die ein Paket angewiesen ist. Zum Beispiel benötigt ein Paket unbedingt gcc-4.8 damit es überhaupt funktioniert also ist das eine Abhängigkeit. Eine Abhängigkeit eines unstable Pakets kann aber auch erst später noch hinzugefügt werden damit es erst den stable Status erreichen kann.
    Unstable wird zurecht so genannt wie es auch Übersetzt im Deutschen lautet. Mag sein das eine als unstable markierte Version läuft - allerdings sind sich selbst die Entwickler bewusst das diese Version noch Fehler enthält und daher nicht sauber funktioniert und sogar crashen kann. Deshalb wird sowas erst als "unstable" markiert bevor es dann eigentlich erst den "testing" Status erreicht um ausgiebig getestet zu werden und erst wenn es auf mehreren verschiedenen Plattformen und nach ausgiebigen Tests nicht abstürzte wird es in den Status 'stable' versetzt. Es ist also eigentlich auch logisch das "unstable" Pakte mehr Updates erfahren als "stable", da an unstable immer noch entwickelt wird... Das bezieht sich btw auch nicht nur auf Linux-Versionen sondern auf alles, Pakete, Programme usw... Nur bei anderen Plattformen wie Windows oder MAC wird es 'alpha' und 'beta' genannt.
    Das kannst du in allen Beschreibungen zu dieser Thermatic nachlesen. Ich nannte dir auch schon mal welche aber nunja... Muss ich wohl mal jemand anderen bitten dir das akademisch zu erklären

    Eine Linux-Distribution als Stable ist etwas anders als ein Paket / Programm als Stable. Das sollte man schon Unterscheiden.

    LTE LTS ist ebenfalls etwas anders als du es beschreibst.
    LTE LTS wird von einer Community umgesetzt und kümmert sich eigentlich nur um Sicherheitsupdates oder wirklich kritische/schwere Fehler. Je nachdem wie viele dort mit machen kann es schnell oder länger gehen bis ein Update portiert wurde.
    LTE LTS hat also eigentlich nichts mit stable oder unstable zu tun, insbesondere nicht bezüglich Paketen. LTE LTS wird freilich erst gestartet wenn eine als stable markierte Distribution ihren Offiziellen Support beendet - die Distributions-Entwickler sich also auf das nächste Release konzentrieren.


    Grundsätzlich gibt es für Raspbian (und die meisten anderen Debian Clone) 4 Möglichkeiten ein System zu erreichen, welches je nach Sichtweise und Philosophie des Nutzers aktuell ist. Das apt-get update vor jeder dieser Aktualisierungen ist dabe Pflicht, weil dort gewährleitet wird, dass die Quellen der jeweiligen Version aktuell sind. apt-get führt man natürlich grundsätzlich mit rootrechten aus

    1. Mit einem apt-get upgrade aktualisiert man vorhandene Pakete, bleibt jedoch bei bestehenden Abhängigkeiten in der Version. Es werden weder neue Programme installiert / deinstalliert noch Programmabhängigkeiten verändert. Dies kann also bedeuten, dass sobald ein Programm eine Abhängikeit zu einem alten Paket aufgebaut hat, bleibt diese bestehen und die Version wird nicht geändert, obwohl neuere Pakete da sind.

    2. Mit einem apt-get dist-upgrade werden alte Pakete durch neue ersetzt und dabei auch die Abhängikeiten geändert. Es können dabei sowohl völlig neue Programme installiert werden, als auch alte gelöscht werden. Selbst kompilierte Programme oder mit einem Paketmanager installierte Programme (deb-Dateien) könnten danach weiter funktionieren, müssen aber nicht.

    3. Selbst kompilierte Systeme bleiben Profis vorbehalten, die in der Lage sind, dann auch die neusten Quelltexte zu denen es unter Umständen noch gar keine Quellen gibt, in Ihr System einzubeziehen. Das ist sehr viel Arbeit, wenn man Erfolg hat kann es aber auch sehr befriedigend sein. Aber selbst bei Profis laufen selbst kopilierte (Komplett-)Systeme oft nicht auf Anhieb.

    4. Raspbian bietet eine besondere Möglichkeit des upgrades auf eine aktuelle Version (die aktuellste). Dabei wird mittels des Scripts rpi-update sowohl die Firmware, die sich beim RasPi auf der SD-Karte befindet erneuert, als auch eine upgrade aus eigenen Paketquellen gemacht. Diese Versionen laufen im Deutsche Sinne stabil, sind aber unstable releases (siehe oben). Da muss man sich drauf einstellen, dass Neuigkeiten bedeuten schneller eingepflegt werden. Beispiele die den Leuten, die keine readme (warum die wohl so heißt) lesen Schwierigkeiten bereiteten waren z.B. die Nutzung des device tree (DT) zum Laden von Kernelmodulen oder die Nutzung des Networkmanagers, anstelle der interfaces zur Verwaltung von Netzwerken.

    Auch finde ich deinen 4.Punkt etwas zu ungenau beschrieben bzw sehe ich mich genötigt zu erwähnen das der 4.Punkt eigentlich kaum etwas mit den ersten beiden zu tun hat und auch nur entfernt mit dem 3.

    Durch "rpi-update" wird kein "eine upgrade aus eigenen Paketquellen" vollzogen. Da hast du glaub ich etwas falsch verstanden oder falsch aufgefasst.
    "rpi-update" ist ein einfaches bash Script. Wer bash bzw Konsolen Befehle versteht kann ja mal ein Blick drauf werfen: https://github.com/Hexxeh/rpi-update/blob/master/rpi-update
    Nach etwas lesen sollte man eigentlich erkennen das dieses Script ausschließlich Kernel und Firmware behandelt.

    Der 4.Punkt bezieht sich also ausschließlich auf Kernel und Firmware und davon abhängiges, aber nicht auf irgendwelche Pakete. Alles was zuvor beschrieben wurde muss von diesem Punkt eigentlich abgespaltet werden.

    Sicherlich kann man auch einen Kernel selber kompilieren (3.Punkt) aber nicht die Firmware. Auch kann Kernel und Firmware über einer der beiden ersten Punkte installiert werden, sobald diese als Stable markiert wurden, aber nunja, da sind wir wieder beim Unstable/Stable Verständnissproblem :-/


    Raspbian basiert auf Debian und dort ist es so, dass die Pakete nicht ständig erneuert werden, sondern erst ca. alle zwei Jahre mit einem neuen Release. Ab und zu gibt es Sicherheits- und Fehlerupdates. Aber in der Regel keine Versionen mit neuen Funktionen.

    Das hat natürlich Konsequenzen. Man arbeitet dann unter Umständen mit Paket-Versionen, die nicht auf dem aktuellen Funktionsstand sind. Dafür sind die Pakete ziemlich fehlerfrei und laufen sehr stabil.

    Das stimmt so nicht. Raspbian basiert zwar auf Debian, hat aber keinerlei Versions-Politik wie Debian.
    Siehe dazu auch raspiprojekt's Beschreibung bezüglich Punkt 1 und 2.
    Davon abgesehen kann es natürlich sein das ein Entwickler eine längere Zeit nichts macht und es einem deshalb so vorkommt als kämen keine Updates. Beispielsweise werden in "unstable" Distributionen auch schneller "unstable" Programme/Pakete eingesetzt als in Distributionen die bereits stable sind... Und auch hier wieder obiges Unstable/Stable Verständnissproblem beachten.
    Solange ein Entwickler sein Programm also nicht aus dem "unstable" Status heraus bringt, wird dieses Paket/Programm nur in einem als unstable markierten Repository verfügbar sein - beispielsweise Raspbian/Debian Jessie.
    Es kann aber auch sein das es von Paketen abhängig ist die erst später eingeführt wurden und welcher wiederum zu viel Abhängigkeiten von anderen Paketen haben als dass eine Einführung in ältere Distributionen Sinn machen würde....

  • OT: Vielleicht sollten wir das Thema wirklich mal in einem gesonderten Thread behandeln, sonst kommen hier einige Leute gar nicht mehr mit uns klar. Ich weiß schon was ich geschrieben habe. Ändere mal LTE bei Dir in LTS, sonst wird das noch verwirrender. Long time support ist glaub ich aber auch nicht der richtige Begriff, long term support ist wohl die offizielle Bezeichnung. LTS ist ein allgemeines Verfahren in der Soft- (und Hard)wareentwicklung und muss nicht durch eine Community erfolgen. Bei allen kommerziellen ablegern wird das durch die Entwickler gemacht, die sich aber auch gerne mal bei einer Community bedienen, wenns machbar ist. Was man sich wirklich häufig zu nutze macht, ist ein Bugtracker, den dann die Nutzer befüllen.

  • Naja, was hier besprochen wurde ist genau was der Threadersteller gefragt hat.
    Kurzgefasst: Raspbian basiert auf Debian, Debian fährt eine Strategie die darauf setzt gute bewährte und stabile Software zu verwenden auf die man sich verlassen kann. Es werden natürlich sofort Sicherheitsupdates eingespielt, jedoch KEINE Featureupdates. Das ist das Konzept von Debian und darauf schwören etliche Admins, weil ein Debian-Server einfach läuft und läuft und läuft....
    Die unstable -Version von Debian ist die nächste Version von Debian, die noch getestet wird. 2 Tage nach release der letzten Version ist die brandaktuell, 2 Tage vor Release der nächsten Version ist die "uralt" wie du es so schön sagtest. unstable ist also NICHT aus Prinzip aktuell oder soetwas.

    Viele andere Distributionen setzen auf Debian auf und nutzen das stabile Grundgerüst, setzen darauf aber aktuellere Programme auf.
    Das bei dir jetzt eine ganze Kette an Problemen auftritt ist relativ selten.

  • Liebe Poster
    Vielen Dank für die zahlreichen Antworten.


    Ich gehe jetzt davon aus, dass Du Raspbian Wheezy verwendest.


    Vernünftig


    Aber in der Regel keine Versionen mit neuen Funktionen.

    Genau das ist das Problem, wenn man in Feldern tätig ist, wo in den letzten Jahren viel gegangen ist. Dazu gehört die ganze GPS-Geschichte.


    Mit wenig Aufwand könntest Du Wheezy auf Jessie upgraden. Ob sich das lohnt, dazu müsstest Du prüfen, ob die Paket-Versionen, die Du brauchst in Jessie enthalten sind.

    Wenn nicht, dann bleibt Dir nur der Weg über eine andere Distribution, die mit aktuelleren Paket-Versionen arbeitet. Oder Du nimmst den steinigen Weg über alle abhängigen Pakete selber zu compilieren (nicht empfohlen).

    Welche Versionen in Jessie enthalten sind, konnte ich hier entnehmen, diese Versionen enthalten die Funktionen, die ich brauche. Sysprogs haben ein Image zum Herunterladen für den Pi, das ich nun ausprobieren werde.

Jetzt mitmachen!

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