Skip to content

Gentoo 17.1 -> 23.0

Nachdem ich das ja jetzt lange genug vor mir her geschoben hatte, habe ich die letzten 48 Stunden mal Strom verschwendet und mein Notebook auf den aktuellen Stand gebracht. Da das am Desktop eigentlich ziemlich reibungslos funktioniert hat, hatte ich eigentlich keine größeren Probleme erwartet.

Wenn man sich schon so einen Satz zurecht legt, sollte einem sofort klar sein: Es geht nie ohne größere Probleme! ;-) Die Installation auf dem Notebook ist so steinalt, dass sie bereits von zwei vorherigen Geräten übernommen wurde. Bei dem geringen Durchsatz an Laptops, den ich habe - andere Leute verschleißen ja alle zwei bis drei Jahre eins, während ich noch immer mit dem alten Frist Gen i5 unterwegs bin -, heißt das: Es haben sich mit der Zeit ein paar Karteileichen angesammelt. Vor allem aber hatte ich bereits wochenlang das Update vor mir her geschoben, das hat der Konsistenz der installierten Pakete und deren Abhängigkeiten offenbar auch nicht besonders gut getan.

Jedenfalls lief das emerge mal wieder in eine zyklische Abhängigkeit, wenn es um das Update von mate ging, und gleichzeitig hatte es irgendwie Bock, die eine Hälfte der Pakete für python 3.11 zu bauen, während es die andere mit der aktuellen 3.12 machen wollte. Warum auch immer. Letzteres Problem habe ich erst mal auf die berühmte lange Bank geschoben, indem ich einfach für alle Pakete manuell den Support für sowohl 3.11 als auch 3.12 angeschaltet habe. In einer stillen Stunde, also nicht heute, werde ich dann eines von beidem wieder aus meiner packages.use raus nehmen und mal sehen, ob er es dann konsistent aussortiert bekommt.

Das erste Problem jedoch war gravierender, weil Portage das selber aus Gründen erst mal gar nicht gemerkt hatte und somit schon fleißig die Hälfte der Pakete in @world neu gebaut hatte, bevor mate-settings-daemon auffiel, dass ihm irgendeine library in der korrekten Version fehlte und daraufhin machte es Kawumm und alles brach in sich zusammen. Auch weiteres --skipfirst half nicht, sodass ich das Problem erst mal aussortieren musste. Ich habe dann aus Not zuerst einmal ein normales world-Update gemacht, um wieder ein einigermaßen konsistentes System zu bekommen, dann mate neu installiert und jetzt müsste ich - theoretisch zumindest - noch mal alles in @world neu bauen, um wirklich sicher gehen zu können, dass alle Pakete auch wirklich mit der neuen Toolchain gebaut wurden.

Praktisch stellt sich aber heraus, dass - bisher zumindest - alles einwandfrei funktioniert. Ich sehe das sowieso irgendwie nicht so ganz ein, bei einem Profil-Upgrade immer das ganze System neu zu bauen. gcc und dessen flags haben sich schließlich nicht geändert, der host ist auch gleich geblieben, also sollte da eigentlich nichts inkonsistent sein. (Normalerweise ignoriere ich deswegen auch die Angabe im gentoo-wiki, dass man AuF jEdEn FaLl world neu bauen soll, weil das gerade auf dem alterschwachen Notebook eben zwei Tage braucht. Nur habe ich das aus genau diesen Gründen schon ewig nicht mehr gemacht und war mir dementsprechend nicht mehr so sicher, ob da nicht noch libraries aus der Urzeit, als ich mein erstes 64-bit-Notebook bekommen habe, irgendwo im System stecken, die noch mit gcc-2 gebaut wurden! ;-) (Irgendwo müssen meine sporadischen, inkonsistenten und nicht nachvollziehbaren coredumps ja her kommen. :-D)

So viel zu dem Plan! Konnte der Stress nicht am Desktop sein? Der ist sehr viel schneller, wenn es an das Neubauen des Systems geht. Ist ja auch 15 Jahre neuere Hardware. Mit 3x so vielen Cores/Threads, doppelter Boost Clock und den üblichen Verbesserungen, die sich über die Jahre halt im Prozessordesign angesammelt haben. Von einem Cache, der so groß wie meine allererste Festplatte ist, mal ganz abgesehen. (Pervers, oder? Was sich in 35 Jahren so alles geändert hat?!)

Langer Rede kurzer Sinn: Ich hatte jetzt weder Lust noch Zeit, da mehr Energie rein zu stecken und lebe jetzt erst mal wieder mit einem potenziell inkonsistenten System. Wenn ich mit Geldverdienen fertig bin, kümmere ich mich um den Rest. ;-) Alternativ: Lernen, wie man binary builds benutzt.