Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

What's the best way to run software on an old Ubuntu system that I don't want to upgrade or run apt-get on, and I don't want to run stuff inside a Virtual Machine, and snap is broken, and docker as well? Compiling stuff seems too much trouble because of all the dependencies. I was hoping for Nix to save me here, but it only compiles for a specific libc version.


It sounds like your asking how to install software without using precompiled artifacts and also without compiling stuff.


Well, I want to run new versions of software on a system in which I basically don't want to touch system directories like /usr and /lib etc.


You can download precompiled binaries of a lot of things from git these days. You can modify your PATH to include a location of your choosing and put the binaries there. It probably won't work well though because you'll be missing dependencies.

You could also chase down debs, download those and install them manually and specify your install path. (I don't have the deb switches memorized, so many pages are your friend.) You'll have dependency problems here too but you'll get friendly warnings that can help you hunt down other missing packages and you can work your way up from there. It won't be fun.

I'm glad I started in Slackware and used it for about 15 years as my daily driver. I'm comfortable with Linux The Hard Way and when people tell me how hard it is to run Linux because all the weird kinks, I just chuckle.


Hey, I started with Slackware too, and like you said, some of those installation methods won't be fun. I'm looking for something that Just Works^TM.


> I basically don't want to touch system directories like /usr and /lib etc.

How about touching (creating) a /nix? That'll sit next to the rest of the system just fine, although I don't know how new of a kernel it needs.

Alternatively, there's always the old standby: Can you create a chroot of a newer system and install stuff that way?


Flatpack and appimage are similar to snap but less obnoxious I believe.


Figure out why docker and snap are broken?

---

You could use https://wiki.debian.org/nspawn unless it's really old.


On a technicality I will say you can use podman or distrobox/toolbox assuming you can install them.

More seriously your best bet is to compile things on other systems and move them over.


What's wrong with Nix in this situation? A Nix package's closure will come with its own new-enough glibc, right?


Yes, but an external glibc puts extra constraints on the nvidia driver versions I can use. The driver I have now works fine.


I see how that's a problem.

I know that GPU stuff is an area that requires some impurity on foreign Linux with Nix. I didn't realize that had implications for libc versions. :(


It wouldn't be a problem if it was easy to recompile the entire Nix system with a different glibc version.


To change glibc do you have to override the stdenv? Why is that hard? Do you have to make a new bootstrap or something awful like that?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: