1

Is there a way for a parallel tree of packages or tools to be installed? If I were in Ubuntu, how could I put all the default packages for release 12.04 at /12.04/ right next to 10.04 at /10.04/ and next to 9.10 at /9.10/ and then have these trees of tools only depend on their version direction tree and still mostly work? There would be different versions of X and the windows managers for the different releases, but if I started a VNC under 9.10, then all the apps would work and would point to them. Corporations are obviously maintaining old versions of tools for backwards compatibility, but I'm wondering if anyone has somehow made this problem easier than manually fetching all the tar-balls and descending into dependency hell.

  • I guess installing multiple systems is not an option? You want to have access to each of the releases from within a single installed system? You might be able to do something clever with chroot. – terdon May 29 '13 at 0:03
  • Unfortunately, that is correct. I would like to have access to each of these releases from one single system. I realize that 100% backwards compatibility is likely impossible, but I'm wondering if people are having some reasonable level of backwards compatibility without resorting to manual, recursive tarball madness. – Ross Rogers May 29 '13 at 0:06
  • 1
    Not Ubuntu, but you should still check out NixOS, nixos.org/nixos . – Ambroz Bizjak May 29 '13 at 0:19
  • Forgive my ignorance, but would it be possible to install the NixOS package manager on a different distro? – Ross Rogers May 29 '13 at 0:25
  • @RossRogers I have yet to get more familiar with Nix, but I do believe the Nix package manager can work on different distros. But it probably won't install Ubuntu packages. – Ambroz Bizjak May 29 '13 at 1:42
2

I don't really know if this would work but it might be worth a try. If you set up a chroot environment for each release, you should be able to install packages within it. I stress that I havent tried this but how about:

  1. Create a minimal live usb install of each of the releases you are interested in. Let's say they are Ubuntu 12.04, 10.04 and 9.10. Boot once into each one of them and copy over the system files:

    cp -r /etc /var /boot /sys /usr /bin /path/to/local/root/<release name>
    

    Once that is done, you will have a set of directories in your / called 12.04, 10.04 and 9.10, each of which contains the basic system files of each distribution. You probably don't need all the directories I am mentioning to get chroot to work properly, feel free to experiment.

  2. Now boot back into your normal system. If you want to install a deb for 12.04, you would do something like this:

    sudo chroot /12.04
    sudo apt-get install package_name
    

I'm really not sure about the details but you could use this as a starting point.

  • Great idea. It will take me a long time to verify/accept this, but this is a good idea. – Ross Rogers May 29 '13 at 0:20
  • Yes, I imagine it will, good luck! Do post back if you try it out though, I am quite curious to know if this would work. – terdon May 29 '13 at 0:23
  • +1 on the chroot approach. I'd recommend it as well. – xpt May 29 '13 at 3:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.