Fix: Python-Fehler bei Ubuntu Upgrade
Momentan nutze ich zwar sogut wie keine Gnome-Oberfläche (da ich dem wmii-Windw-Manager verfallen bin), wollte aber dennoch mein Ubuntu-Grundsystem von Version 9.04 auf die eben erschienene Version 9.10 aktualisieren. Dazu gibt es verschiedene Wege, bber keiner funktionierte bei mir auf Anhieb. Egal ob man den grafischen Update-Manager (System > Administration > Update Manager oder sudo update-manager
) oder ein Upgrade auf der Konsole mittels sudo do-release-upgrade
bemüht, letztendlich werden die apt-Programme immer eine Rolle spielen. Dazu zählt z. B. auch dpkg und oft sind es Python-Scripte die in diesem Zusammenhang ausgeführt werden.
Leider hatte ich einige Zeit lang Probleme mit Python und diverse Fehler versperrten die Verwendung mancher Tools und auch das Upgrade wurde verweigert.
1. python-apt
Lange quälte mich folgende Meldung (ohne Trace):
Nun meinte die Packetverwaltung, dass python-apt aber installiert sei und auch eine reinstallation des Packets führte nicht zum Ergebnis. Wie sich später herausstellte war das Packet aber nur für Python 2.5 installiert und nicht im verwendeten Python 2.6. Abhilfe wurde durch eine Diskussion bei ubuntuforums.org gebracht: Die Datei "/var/lib/dpkg/status" muss bearbeitet werden:
Darin muss dann der Eintrg zum Packet phython-apt manuell entfert werden, bei mir sah der Abschnitt folgendermaßen aus:
Status: install ok installed
Priority: optional
Section: python
Installed-Size: 3268
Maintainer: APT Development Team <deity@lists.debian.org>
Architecture: amd64
Version: 0.7.91
Provides: python2.4-apt, python2.5-apt, python3.1-apt
Depends: python (<< 3.2), python (>= 2.4), python-central (>= 0.6.11), libapt-inst-libc6.9-6-1.1, libapt-pkg-libc6.9-6-4.7, libc6 (>= 2.2.5), libgcc1 (>= 1:4.1.1), libstdc++6 (>= 4.2.1), lsb-release
Recommends: iso-codes, libjs-jquery
Suggests: python-apt-dbg, python-gtk2, python-vte
Breaks: debdelta (<< 0.28~)
Description: Python interface to libapt-pkg
The apt_pkg Python interface will provide full access to the internal
libapt-pkg structures allowing Python programs to easily perform a
variety of functions, such as:
.
- Access to the APT configuration system
- Access to the APT package information database
- Parsing of Debian package control files, and other files with a
similar structure
.
The included 'aptsources' Python interface provides an abstraction of
the sources.list configuration on the repository and the distro level.
Python-Version: 2.4, 2.5, 3.1
Anschließend muss das nun (scheinbar) fehlende Packet komplett neu installiert werden:
sudo apt-get upgrade -f
Damit war nun python-apt auch in Version 2.6 verfügbar.
2. Python default version
Die nächsten Steine wurden durch eine anscheinend falsch konfigurierte Defaultversion von Python in den Weg gelegt. Versin 2.5 und 2.6 von Python sind installiert und /usr/bin/python zeigte auf Version 2.5. Folgender Fehler wurde mir präsentiert:
Checking for a new ubuntu release
Done Upgrade tool signature
Done Upgrade tool
Done downloading
extracting 'karmic.tar.gz'
authenticate 'karmic.tar.gz' against 'karmic.tar.gz.gpg'
Reading cache
Checking package manager
Can not upgrade
Your python install is corrupted. Please fix the '/usr/bin/python'
symlink.
Änderte ich den SymLink so, dass er auf Python 2.6 zeigte, waren andere Fehler die Folge. Aber anscheinend war der SymLink kein Problem mehr:
Der entscheidente Hinweis war auf ubuntugeek.com zu finden: Man sollte sicher stellen, dass der SymLink /usr/bin/python auf die selbe Version zeigt, die in der Datei /usr/share/python/debian_defaults angegeben ist. In der Tat, sah der Inhalt der Datei bei mir folgendermaßen aus:
# the default python version
default-version = python2.5
# all supported python versions
supported-versions = python2.5, python2.6
# formerly supported python versions
old-versions = python2.3, python2.4
# unsupported versions, including older versions
unsupported-versions = python2.3, python2.4
Die Lösung bestand nun darin den /usr/bin/python-SymLink auf Version 2.6 zu setzen und in der eben gezeigten Datei die Defaultversion auf python2.6 zu ändern.
Die nun behobenen Python-Probleme waren auch der Grund warum das Update-Script der Alternate-CD seinen dienst mit folgender Meldung beendete:
Nun werkelt das Update-Script und alles scheint zu klappen :-).
Momentan nutze ich zwar sogut wie keine Gnome-Oberfläche (da ich dem wmii-Windw-Manager verfallen bin), wollte aber dennoch mein Ubuntu-Grundsystem von Version 9.04 auf die eben erschienene Version 9.10 aktualisieren. Dazu gibt es verschiedene Wege, bber keiner funktionierte bei mir auf Anhieb. Egal ob man den grafischen Update-Manager (System > Administration > Update Manager oder sudo update-manager) oder ein Upgrade auf der Konsole mittels sudo do-release-upgrade bemüht, letztendlich werden die apt-Programme immer eine Rolle spielen.
cool, vielen Dank für die Ausführung...Mich würde übrigens interessieren, wie man es schafft, sich in diesen ganzen Dingen so gut auszukennen. Ist das nur reines Hobby?
- Antwort
Submitted by Immobilien Neuss (not verified) on Mon, 2009-11-09 09:41.Freut mich, wenn es etwas gebracht hat. Um ehlich zu sein, in den meisten Fällen eigne ich mir das Wissen erst kurze Zeit vorm Schreiben an. Grundsätzlich bastel ich sehr gern an kleinen Problemen herum, will aber die Lösung nicht vergessen und dokumentiere hier meine Erkentnisse. Bedingt durch mein Studium (Informatik) ist das alles nicht nur Hobby, aber irgendwie bedingt es sich gegenseitig :-).
- Antwort
Submitted by tom on Tue, 2009-11-10 22:35.