adr aequinox alix android apt apu artificial-intelligence asa asciidoc auswahl backup bash bewegung bom buecher c cfengine checklisten cisco citrix computernetz container crypto ddr debian denog dhcp docker dokumentieren duply dvcs ebtables email epub fairphone2 fairphone3 fairphone5 fedora firewall fossilscm git gns3 gre grep guug hardware i2c iproute ipsec iptables ipv6 kalender konferenz kpartx latex laufen lernen libgcrypt lighttpd linux lua lur make mexiko mikrotik monotone mount mysql netbox netflow nfdump nfsen openvpn openwrt pac paketfilter pcap performance perl podman podman-toolbox postfix programmieren projekt proxmox-ve proxy pxelinux python qubes-os rancid reisen rezension rfc rpm rs232 schreiben script seriell sftp shell software spiel stehen switch sysadmin syslog system systemd termux test troubleshoot ubuntu uci vcs virtualbox virtuell vpn wine wireshark xen xml

Ubuntu 22.04 Python Downgrade

Vor Jahren hatte ich mir ein Ubuntu System 20.04 eingerichtet, welches ich zwar viel nutzte, für das ich aber keine Zeit zum Aktualisieren auf neuere Versionen fand. Denn das ging nur in-place, Neuinstallation war keine Option.

Schließlich fand ich die Zeit, um das System mit do-release-upgrade auf Version 22.04 anzuheben. Das lief einige Stunden, während derer ich andere Dinge zu erledigen hatte. Soweit schien das Upgrade erfolgreich durchgelaufen zu sein, bis ich das nächste Journal schreiben wollte und dabei bemerkte, dass vim-nox nicht mehr installiert war. Dieses Paket brauchte ich für die Vim-Plugins. Kein Problem dachte ich, sudo apt install vim-nox bringt es mir wieder auf das System. Leider nicht.

Vim-nox ist abhängig von libpython3.10, welches wiederum von libpython3.10-stdlib in Version 3.10.12-1~22.04.15 (momentan genau dieser) abhängig ist, während auf dem System die Version 3.10.18-1 installiert war. Diese hatte ich aus dem Deadsnake-PPA installiert, welches zwar beim Upgrade aus der sources.list entfernt wurde, die Python-Pakete jedoch nicht, weil sie neuer waren als die von Ubuntu 22.04.

Welcome to Dependency Hell.

Ich musste also ein Downgrade der Python-Pakete von Deadsnake machen. Und zwar gleichzeitig, damit apt keine systemrelevante Software deinstalliert.

Eine Recherche im Internet ergab zunächst wenig Brauchbares, das meiste lief auf Deinstallation der Pakete mit --force und anschließende Neuinstallation von Ubuntu hinaus. Ohne mich.

Schließlich fand ich in einem Reddit-Thread dann einen Weg, der Abhilfe ohne Neuinstallation erlaubte.

Als erstes listete ich die betroffenen Pakete auf:

apt list ~i~V3.10.18-1\*

Der '*' am Ende ist wichtig, da die Paketversion eine Tilde (~) enthält, nach der die Angaben zur Ubuntu-Version stehen. apt list interpretiert diese anscheinend als Anweisung im Muster und ganz ohne den Suffix passt das Match auch nicht. Mit \* funktionierte es gut genug.

Im nächsten Schritt simulierte ich das Downgrade, um zu sehen, was passiert:

sudo apt --simulate install ?and"(~i,~V3.10.18-1*)"=3.10.12-1\*

Es stellte sich heraus, dass es die Pakete python3.10-distutils und python3.10-lib2to3 nicht in Ubuntu 22.04 gibt (stattdessen gibt es python3-distutils und python3-lib2to3). Da kein Paket von diesen abhängig war, habe ich sie entfernt:

sudo apt purge python3.10-distutils python3.10-lib2to3

Danach zeigte die Simulation keinen Fehler mehr und ich konnte Python 3.10 auf die Version aus Ubuntu 22.04 herunterstufen:

sudo apt install ?and"(~i,~V3.10.18-1*)"=3.10.12-1\*

Damit konnte ich vim-nox installieren und die Vim-Plugins funktionieren nun wieder.

Posted 2026-05-25 Tags:

Ubuntu 22.04 Python Downgrade
Posted 2026-05-25
Systeme verstehen in Theorie und Praxis (2)
Posted 2026-05-10
Zusammenfassung April 2026
Posted 2026-05-03
Container für Citrix ICA Client
Posted 2026-04-12
Zusammenfassung März 2026
Posted 2026-04-05
Systeme verstehen in Theorie und Praxis (1)
Posted 2026-03-31
GUUG Frühjahrsfachgespräch 2026
Posted 2026-03-08
Normseiten mit Asciidoctor erzeugen
Posted 2026-02-21
Eine VM von Proxmox VE zu VirtualBox migrieren
Posted 2026-02-08
Computer in der DDR
Posted 2025-12-26