Fixing unmerged python-exec: Gentoo Linux und Portage nach emerge -C python-exec reparieren

Das Problem:

Beim Versuch konfliktäre Abhängigkeiten zwischen Paketen im Portage Paketmanager aufzulösen, habe ich python-exec mittels emerge -C von meinem Gentoo-Linux-System entfernt. Hinterher ist man oftmals schlauer… ;-). Anschließend waren dummerweise auf dem System weder portage noch Python verfügbar. Noch schlimmer: Tools wie emerge, revdep-rebuild waren ebenfalls weg. Somit konnte ich weder python-exec noch portage mittels der Gentoo Standardtools einfach wieder mergen und das System fixen. Das dachte ich zumindest… 😉

Die Lösung:

Meine initiale Suche führte mich auf die „offizielle“ Seite des Gentoo Projekts [3]. Diese beschreibt, wie man generell ein nicht funktionierendes Portage manuell reparieren kann. Zwar finden sich auf dieser Seite viele generische Hinweise, ich rate allerdings in diesem Fall davon ab, die dort genannten Schritte durchzuführen. Denn diese beziehen sich nicht auf das spezielle oben genannte Problem (Auslöser: emerge -C python-exec). D.h. sie „verschlimmbessern“ unter Umständen sogar die Situation. Ich habe dies dummerweies getan, kontraproduktive Schritte ausgeführt und musste zahlreiche Schleifen/Umwege drehen, um Portage wieder lauffähig zu bekommen.

Danach bin ich bin ich in den Gentoo Foren (Quellen [1], [2]) auf die nachfolgende Lösung gestoßen. Die Lösung in Kürze: Trotz eines emerge -C verbleiben die entsprechenden Binaries für emerge etc. auf dem System. Diese befinden sich bspw. unter /usr/lib/python-exec/python2.7/emerge . Sucht einfach mal dort! Hinweis: Ggf. müsst Ihr je nach Python Version den Pfad anpassen.

Anschließend kann man mittels der noch vorhanden Werkzeuge einfach python-exec wiederherstellen. Portage Dienste und Python sollten damit wieder funktionieren:

/usr/lib/python-exec/python2.7/emerge -1 dev-lang/python-exec
Hoffentlich konnte ich Euch damit etwas Zeit sparen. Solltet Ihr in die gleiche Falle wie ich gelaufen haben und hängen geblieben sein: Meldet Euch einfach, ggf. kann ich weiterhelfen! Wie immer gilt: Alle Hinweise/Ratschläge in diesem Blog erfolgen ohne Gewähr. Feedback ist willkommen!

Quellen:
[1]: https://forums.gentoo.org/viewtopic-p-7719268.html?sid=6874eea7b7dd5c57627428e9f8a1dfb3
[2]: https://forums.gentoo.org/viewtopic-p-7648990.html#7648990
[3]: https://wiki.gentoo.org/wiki/Project:Portage/Fixing_broken_portage