Install a .deb debian program with dependencies of older libraries

How in Linux is it possible to install a program from 2007 with libraries from 2007 in debian/ubuntu/pureos where the current OS with respective 2023 installed dependency libraries are of a higher version and the .deb install will therefore always fail. This i find quite annoying and results in fragmentation in the Linux appverse. This is fragmentation by time and I find it is quiet unnecessary to have this limitation. Debian also doesn’t allow me to install older version of the package, but why not?

This is as bad as iOS, MacOS where old apps after a while can’t be installed due to failing version/ dependency checks.

Wouldn’t a good OS (ideally Linux) allow install of any application (akin to appimage, flatpak) regardless of already installed libraries especially if there is a version mismatch? Why doesn’t the packaging manager just install multiple versions of the same library and use whatever version it neeeeeds???

Maybe another way to phrase this, is there a smart packaging manager that can actually do that already in Linux using .deb install files?

  1. download .deb program
  2. download the libraries with older versions required to install the .deb program
  3. execute install command dpkg -i .deb program with all the other necessary files in the same folder
  4. instead of checking what is installed in the current OS it uses the libraries provided manually and needed in that same folder.

My Daily rant regarding current state of, not so smart, software OS development approaches.

My attempt to install Polarr 4.0 foiled by:

Because Linux. :wink:

There is an OS that will do it, find out yourself, I’ll give you a track and it’s not Linux itself.

Ok don’t keep me waiting!! But please don’t say Windows or I will puke :stuck_out_tongue:

1 Like

Maybe it could be installed in a docker container.

1 Like

That could have disturbing security implications i.e. missing out on 16 years of bugfixes.

Virtual Machine?

Flatpak?

That won’t always work. (That is, no matter what trickery you use in order to have two different versions of a package running concurrently, they may not work correctly together i.e. if they can interact in any way. As a trivial example, if the package depends on the content of a file, the format of the file may not be compatible. So at a minimum, the file would then need to disappear into the “folder”.)

You’re looking for Nix or Guix :slight_smile:

But those are still rather niche, modern operating systems did not historically develop with that mindset, and trying to do that means changing many entrenched aspects of packaging.

To answer your question, I would suggest exploring containers. I start a Docker container with the old operating system, give it access to X11 and some directory to share data with the host, and install the application inside. It’s finicky, but can work.

1 Like

:slight_smile:

Ok i will give that a spin, it appears Nix, or Guix can be run as package managers independently on your Ubuntu or other Linux system as well. Somewhere it said its a pretty steep learning curve though to use it.

If your software is not packaged for Nix/Guix, then you’ll have to package it yourself and find out the dependencies. Keep in mind that

So I would recommend containers as the first attempt.

Are talking about Qubes OS?

I talk about gnu guix.

1 Like

Are you using Qubes OS?

Yes, I do.

1 Like

I never used Qubes OS, but seems it could be an option perhaps to install an old OS to old application.

You can absolutely install an old Debian into a Qubes VM and have all the old packages you need.

Great, thanks to tell us about.