I am trying to install multiple versions of python on my machine using the deadsnakes ppa on debian (not ubuntu):

deb http://ppa.launchpad.net/fkrull/deadsnakes/ubuntu xenial main


However, I'm finding problems with package dependencies. Older versions of python (e.g. python3.4) depend upon udeb packages, but apt can't find these.

The strange things is that I can find these packages on the debian package lists: (e.g. https://packages.debian.org/buster/zlib1g-udeb). And if one follows the links through then the udeb packages seem live in main like other packages http://ftp.us.debian.org/debian/pool/main/z/zlib/zlib1g-udeb_1.2.8.dfsg-5_amd64.udeb . But apt just isn't finding these.

One finds the ominous warning:

Warning: This package is intended for the use in building debian-installer images only. Do not install it on a normal Debian system.


But I would prefer not to build python from source so am wiling to take the risk of installing these packages on my machine.

How can I get apt to find these udeb packages?

As the “ominous” warning says, micro-debs (udebs) are only intended for use in the Debian installer (they contain simplified packages which are used to build the installation environment). They mustn’t be installed on a normal system: they aren’t intended to be uninstalled or upgraded, which makes them unsuitable for use in an installed system (the installer runs a RAM-based system, so they’re fine there). udebs are typically either specific to the installation process, or have non-udeb equivalents which should be used instead (see for example libevdev2 and libevdev2-udeb).
No non-udeb package should have a dependency on a udeb, and indeed as far as I can tell none do (in Debian and Ubuntu).
• See the Debian Installer internals guide. If you install a udeb, there are no guarantees you’ll be able to uninstall it or upgrade it. udebs are typically either specific to the installation process, or have non-udeb equivalents which should be used instead (see for example libevdev2 and libevdev2-udeb). – Stephen Kitt Dec 11 '17 at 16:18
• Thanks for the details. Umm I was trying to track down the dependency chain. Basically I got into a state where apt-get install was refusing to install stuff due to missing -udeb packages. – Att Righ Dec 11 '17 at 16:30
• Right, that would explain it — I was looking for a -udeb dependency in the “main” packages and coming up empty-handed. – Stephen Kitt Dec 11 '17 at 16:55