Pkg3 install packages for entire system

Please pardon my sudden joining and immediate question to this forum. I’m teaching a university-level course in numerical methods. Our setup is to ipxe boot the lab computers to a network-mounted live Linux image that has been configured for the course. Student home directories are automatically mounted over samba as needed on each workstation. System directories are made writeable using a RAM-backed overlay filesystem.

I unpacked the latest Julia into /usr/local/julia created a suitable symbolic link in /usr/local/bin and then pushed a new boot image with these changes to the server. Everything appears to work well: Upon logging in the students can start Julia and run simple scripts.

Where things fall apart is when we want to use a package like Plots in class that needs to be added using pkg. It simply doesn’t work to have 50 students simultaneously installing such a large set of dependencies simultaneously in the lab and the samba server used to store their home directories is not suitable for all those packages. I want instead to install one copy of Plot ahead of time to the live Linux image like I did with Julia itself.

I’ve read the documentation and done some web searching and still have no idea how to properly do this. Most of the web searches return obsolete information about the previous package manager and the documentation does not have a section about how to install packages at the system level.

Thanks for any help.

See How to create a system administrator depot? and How does one set up a centralized Julia installation?

4 Likes

Thanks for the quick reply. It looks like pkg was designed under the assumptions of high-speed Internet connectivity, few users and huge amounts of home-directory storage space. From the number of me-too posts, it seems these assumptions (though valid for single-user personal computers) are limiting for what some people want to do.

It’s difficult to understand the work around. However, after reading 30 posts of do this and then it doesn’t quite work, I have a much better idea of what to try. I just want the students to plot the output of simple numerical experiments in class without needing to configure their own custom software-engineering environments.

While the thread started with the optimistic idea of writing a best-practices how-to after the discussion, it appears no such document has been produced.

I’ll try a few things before class today. Any further help would be greatly appreciated. And again thanks for pointing out those threads.

2 Likes