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

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 (inkl. aller Tools wie emerge, revdep-rebuild) noch Python verfügbar. Somit konnte ich weder python-exec noch portage mittels der Gentoo Standardtools einfach wieder aufsetzen und das System fixen. Das dachte ich zumindest… 😉

Meine initiale Suche führte mich auf die “offizielle” Seite des Gentoo Projekts [3], die beschreibt, wie man ein nicht funktionierendes Portage generell manuell reparieren kann: Zwar finden sich auf diese Seite viele generische Hinweise, um Portage Probleme beseitigen. Ich würde allerdings in diesem Fall davon abraten, die dort genannten Schritte durchzuführen. Diese beziehen sich nicht speziell auf das oben genannte Problem (Auslöser: emerge -C python-exec) und verschlimmbessern die Situation unter Umständen. Ich habe dies getan, kontraproduktive Schritte ausgeführt und musste zahlreiche Schleifen/Umwege drehen, um das verschlimmbesserte Portage wieder gerade zu ziehen…

Vielmehr bin ich in den Gentoo Foren (Quellen [1], [2]) auf die nachfolgende Lösung gestoßen. In Kürze: Trotz eines emerge -C verbleiben die entsprechenden Binaries für emerge etc. auf dem System. Diese befinden sich bei mir bspw. unter /usr/lib/python-exec/python2.7/emerge (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!

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

Wieder aktuell mit der Veröffentlichung von iOS 9: Nicht ausreichend Speicher auf iOS-Device vorhanden – Limit kann mithilfe von iTunes umgangen werden.

Zwar ist das Update auf iOS9  weniger speicherintensiv als noch das iOS8-Update (siehe http://www.macerkopf.de/2015/06/09/app-thinning-ios9-update-gb/). Hat man bspw. iOS 8.4.1 als Grundlage, braucht man nur noch ungefähr 1,8 GByte freien Platz auf dem Gerät, wenn man ein Over-the-Air-Update mit der Downloaddatei (Größe ca. 1GB) macht. Bei nahezu voller Belegung des Speicherplatz (insb. auf 16GB Devices) können allerdings auch weiterhin entsprechende Fehlermeldungen (“zu wenig Speicherplatz”) und Probleme beim Over-the-Air-Update direkt am iPhone/iPad auftreten. Im nachfolgenden Blogpost hatte ich dieses Thema bereits schon einmal aufgegriffen. Damals im Kontext des iOS 8.0 Updates, welches deutlich mehr Speicherplatz benötigt hatte. Die grundsätzlichen Aussagen gelten auch weiterhin:

https://www.doktorlatte.de/ios-8-0-update-braucht-ca-6gb-freien-speicher/

Die Kurzform: Sollte das over-the-air-Update von iOS 9 auf Eurem Gerät mangels Speicherplatz fehlschlagen, dann stellt das Update via iTunes Software auf Eurem Windows- bzw. Mac-Rechner einen Workaround dar. Denn hierbei wird, vereinfacht ausgedrückt, die neue iOS Version nicht auf Eurem iPhone oder iPad sondern auf dem lokalen Rechner entpackt.

Update: Danke für die Hinweise zum verringerten Speicherbedarf von iOS9 gegenüber iOS8 (@Olaf, der mal wieder der Schnellere war, und Chris). Ich habe die Überschrift entsprechend angepasst.