Titel: Pakete neubauen bei Versionsänderung einer lib?
Beitrag von: Andreas am 03. Mai 2025, 09:18:38
Ich betreibe ja mehrere Webserver (mit 24/7 365/y direkt mit dem Internet verbunden) auf denen ein komplexes System aus unterschiedlichen PHP-Versionen läuft. Viele Webprojekte sind absolut nicht up-2-date und laufen nur mit älteren PHP-Versionen, die bei Arch nur noch in den AURs sind...
Wird ein Core-Paket upgedatet auf das diese PHP-Pakete bauen kommt es auf einen Schlag dazu, dass bis auf die aktuelle alle PHP-Versionen neu gebaut werden müssen, weil sie auf eine nicht mehr vorhandene lib zugreifen wollen (im aktuellen Fall auf libxml2.so.2). Die gibt es nun nicht mehr - die aktuelle heißt libxml2.so.16 (und ist ein Symlink auf libxml2.so, welche wiederum ein Symlink auf libxml2.so.16.0.2 ist).
Wenn man sich ganz sicher ist, dass die neue lib die Funktionen der alten exakt genauso unterstützt (Changelogs lesen!!!), dann braucht man nicht alles neu zu bauen. Es reicht in dem Fall, einen Symlink mit dem Namen libxml2.so.2 anzulegen, der auf libxml2.so verweist. Checkrebuild beschwert sich nun nicht mehr und alles läuft wie gewohnt auch ohne Neubau. Besonders bemerkenswert: php70-php73 sind seit längerem nicht mehr in den AURs (der Maintainer hatte keine Lust mehr). Auch diese Versionen laufen nach der "Symlinkoperation" wieder problemlos. Einige Softwarepakete meiner Kunden benötigen diese PHP-Versionen. Es gibt von diesen Softwarepaketen keine aktuelleren Versionen und die Kunden sind darauf angewiesen.
Irgendwann möchte man vielleicht nachschauen, ob es durch diese Aktionen tote Symlinks gibt. Die würden zwar das System selbst nicht stören - aber vielleicht den eigenen Qualitätsanspruch ::). Man kann diese finden mit find /Pfad/zum/Ordner/ -xtype l . Das "x" bewirkt, dass tote Symlinks gefunden werden. Lässt man es weg, werden alle Symlinks gefunden. Will man sie in einem Rutsch alle entfernen, kann man find /Pfad/zum/Ordner/ -xtype -deletel abfeuern.
Sicher: die Methode erfordert, dass man weiß, was man tut. Aber sie kann einem stundenlange Bau-Orgien ersparen, damit auch Rechenzeit / Energie und sie zeigt, dass man bei einer intelligenten Systempflege sehr flexibel vorgehen kann.
LG Andreas
|
Titel: Re:Pakete neubauen bei Versionsänderung einer lib?
Beitrag von: Sebastian am 03. Mai 2025, 15:00:12
Gut zu wissen, und eigentlich auch logisch, dass neue Libs (indem alte Funktionen gleichgeblieben sind) weiterhin mit Altsoftware funktioniert, wenn diese dies auch finden kann. Und da kann man sich mit Symlinks ja ganz gut behelfen.
Ich gehe aber auch ganz stark davon aus, das die Software, die noch sehr alte Libs benötigt, wahrscheinlich auch schon "End of Live" ist. Und daher wahrscheinlich genauso wie die alten Libs keine Sicherheitsupdates mehr bekommen und mehr und mehr zum Sicherheitsrisiko werden können. Es ist zwar schön und gut das man alte Libs irgendwie wieder zum laufen bekommt und mitschleifen kann, damit die alte Software X,Y weiterhin funktioniert, und man kann sich damit auch erst mal eine Zeitlang behelfen, aber auf lange Sicht würde ich doch eher dazu anraten auf moderne Software zu migrieren (wo es denn möglich ist) als Altlasten immer und immer weiter mitzuschleppen, samt ihrer Sicherheitslücken.
Ich schneide da lieber alte Zöpfe ab und freunde mich lieber mit neuer Software an (die vielleicht auch wieder eine Einarbeitungszeit benötigt) als "End of Live" Software immer weiter mitzuschleppen. Klar kann das von Einzelfall zu Einzelfall anders sein (z.B. wenn dies unverhältnismäßig neue Kosten verursachen würde).
In deinem Fall Andreas der seinen Kunden genau das bieten möchte (Das der Kunde seine alte Software weiterhin nutzten kann) hast du ja keine Wahl und musst diese Mitschleppen. Mann könnte hier höchsten seinen Kunden nahe legen auf eine Alternative zu wechseln oder wirklich sagen, das wird nicht mehr von dir weiter Supported. Aber wie du ja auch schon geschrieben hast scheinen einige deiner Kunden keine Wahl bzw. keine Alternative zu haben, und sind auf Altsoftware X angewiesen, da es dafür keine Alternative gibt.
Ich als Privatperson kann mir zum Glück den Luxus leisten, flexibel bei meiner Softwareauswahl zu sein, und kann daher ohne Probleme mit neuen Libs arbeiten. Aber das soll bitte nicht als Beispiel oder Referenz herangezogen werden, da ich sowieso keine großen Ansprüche habe, und daher eher ein untypischer fall bin.
LG Sebastian |
Titel: Re:Pakete neubauen bei Versionsänderung einer lib?
Beitrag von: Andreas am 03. Mai 2025, 15:07:53
Du hast die Kernaussagen in deinem Post drin:- die Kunden wollen auf die Software nicht verzichten
- es gibt keine Updates für die Software
- es gibt auch keine Alternativen, auf die sie migrieren könnten
Auch ich habe dies Problem öfter in meinem persönlichen Nutzungsprofil. Software, um bestimmte programmierbare Bausteine zu bearbeiten, die seit 20 Jahren nicht mehr produziert werden, ist nur noch in Uralt-Versionen existent. Mein Berufsgebiet ist "Nachhaltigkeit und Reparatur" - Sprüche wie "migrieren auf was Neues" sind ein absolutes no-go. Wenn ich ein komplexes Gerät retten kann, indem ich so einen Uralt-Baustein noch irgendwo ausgeschlachtet bekomme und mit der Uralt-Software bearbeiten kann, habe ich unserem Planeten einen großen Dienst erwiesen (nicht nur dem Kunden). Da muss auch ich ab und an auf diese Methode zurückgreifen. Da gibt es nichts was das ersetzen könnte. Und schön, dass man da unter Linux Lösungen finden kann. Unter Windows geht das sehr oft nicht!
LG Andreas
|
Titel: Re:Pakete neubauen bei Versionsänderung einer lib?
Beitrag von: Sebastian am 03. Mai 2025, 15:32:07
Mein Berufsgebiet ist "Nachhaltigkeit und Reparatur" - Sprüche wie "migrieren auf was Neues" sind ein absolutes no-go. Wenn ich ein komplexes Gerät retten kann, indem ich so einen Uralt-Baustein noch irgendwo ausgeschlachtet bekomme und mit der Uralt-Software bearbeiten kann, habe ich unserem Planeten einen großen Dienst erwiesen (nicht nur dem Kunden).
|
|
Ich bezog mich mit migrieren da auch wirklich nur auf den Software Part. Wenn man diese gegen eine neue bzw. gegen eine Alternative Austauschen kann, würde ich, das immer bevorzugen. Klar, wenn dies bedeuten würde auch die Hardware tauschen zu müssen, ist das für mich auch ein No-Go. Auch wenn ich in meinen vorherigen Post mich da eher auf dem wirtschaftlichen Teil bezogen habe. Das aber auch nur, weil den meisten Menschen mehr an ihren Portmonee Wert drauflegen als an unseren Planeten und dieses Argument leider eher Anklang findet.
LG Sebastian |
Titel: Re:Pakete neubauen bei Versionsänderung einer lib?
Beitrag von: Andreas am 03. Mai 2025, 16:42:00
Ja, die meisten achten zuerst auf das eigene Portemonnaie. Da aber "Ersparnis" und "Nachhaltigkeit" oft deckungsgleich sind, kann man viele genau damit catchen und sie zu mehr Nachhaltigkeit zu bewegen. Das mache ich ja schon seit ich berufstätig bin, nein: seit ich anderen geholfen habe indem ich ihre Sachen repariert habe. Das ging mit etwa 7 Jahren los.
LG Andreas |
Diskussions- und Newsboard der Linux Interessen Gruppe Suletuxe | Powered by YaBB SE
© 2001-2003, YaBB SE Dev Team. All Rights Reserved.
|