Rustup offline network

I would like to be able to use rustup in an offline manner. I have read the instructions about how to install rust manually but I have a set of 10+ machines that will need to be setup with a rust development environment that are all on an airgapped network isolated from the internet. For example, the machines are centos and to get them updates I rsync the centos repos and then manually transfer the repo contents to a web server on the offline network. Can I do a similar thing to get rustup to work? In addition, some of the dev tools like RLS and the visual studio code integration really need rustup to work correctly. I have already found some examples of how to get cargo to work in an offline scenario but I need some help with rustup.

Luke

If you can use the EPEL repo, I've already built rust packages there, including RLS. You can also find them in SCL form mirroring the RHEL devtools, in the centos-sclo-rh repo.

If you really want rustup, you might be able to play with your own RUSTUP_DIST_SERVER, like we do for testing prerelease builds: Help test the 1.28.0 prerelease! - announcements - Rust Internals

Can static.rust-lang.org be rsynced or retrieved with another mass update method?

If your organization is big enough, could be worthed to use CVMFS

Now, what is CVMFS.

CVMFS (Cern Virtual Machine - FileSystem) is one of the ways we deploy software inside CERN, given the sheer amount of computation unit we manage it made sense to develop a solution specific for our needs.

Basically, there is a server that talks HTTP and provides a file catalogue along with the files themselves.

The clients connect to the server and using FUSE populate a specific directory /cvmfs/ by default with whatever software is installed on the server.

You also get a tag system, a little bit like git, where you can jump between different tags.

Maybe for 10 machines is not worthed, but if you scale it on the order of 50/100 you will definitely get some advantage from it. If you scale beyond that is the only scalable solution I know of.

If you are interested, get in touch :slight_smile:

Let me leave you the link to the documentation: Welcome to CernVM-FS’s documentation! — CernVM-FS 2.9.4 documentation and the one of the code: https://github.com/cvmfs/cvmfs

3 Likes

Check out romt - Rust Offline Mirror Tool.

Romt (Rust Offline Mirror Tool) aids in using the Rust programming language in an offline context.