Score:1

Install software on Ubuntu using apt without root?

mx flag

I’ve got accounts on many HPC clusters. The machines have a minimal install, and the admins won’t add much else. I need to install lots of typical software. Normally I’d do this with apt, but of course I don’t have root on these machines. Some alternatives:

  1. The admin recommended spack. Then they told me privately everyone hates spack and avoids it. It failed badly for me.
  2. Download source, compile+install myself. This is annoying, it’s difficult to update, and not all packages are easy to move their install location.
  3. Nix. Appears to do (2) automatically. Some say it’s hard to install without root. Don’t know…
  4. OverlayFS? Is there a way to trick the system into believing I have root permissions everywhere?
  5. Rootless Docker. Ultimately the software I produce needs to run on a cluster. It can’t be in a container. And I’m using zillions of GPUs, which is trickier with docker.

This should be a common problem. Most companies won’t give root access to everyone. What’s the best way to install software without any root privileges?

Score:1
in flag

Spack, like Nix, does (2) automatically, but lets you build against external packages like the system MPI, math libraries, etc. It also gives you more flexibility around versions, compilers, and other aspects of the build. Honestly, it was created (disclaimer: by me!) for this use case. The community is supportive; if you're having build issues you can likely get help quickly on spack slack. It's active; there are around 2,500 users on there.

Your other decent options are:

  1. EasyBuild, which will also build from source (smaller community, more targeted at admins and modules)
  2. Conda, conda-forge, or mamba (conda with a much faster solver). Binary only, won't build with the system MPI, not likely to have all the HPC software you may want.
  3. Linuxbrew Similar issues to Conda, not focused on scientific software at all.
projectshave avatar
mx flag
Thanks! I’ll join the spack slack. I new to HPC and still learning everything.
Score:0
ws flag

Sounds like the XY problem.

I’ve got accounts on many HPC clusters

....where you need to maintain software? Then you should seriously be considering an orchestration tool.

Rootless Docker

Docker? You don't change docker software, you build a new one and redeploy.

If, for some obscure reason you've not stated, it is the right thing to do (I'm skeptical) then you must already be running unattended-upgrades on the hosts - set up your own ppa and use meta-pacjkages/dependencies to define the additional packages to install/maintain.

I sit in a Tesla and translated this thread with Ai:

mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.