From time to time I run into situations where someone would like to install the Cumulus Linux operating system as well as additional packages that aren’t part of the default binary install package. This short excerpt is meant to assist in helping get those additional packages into an air-gapped environment for the install where you don’t have a repo or mirror available to pull from.
For instance, let’s say we want to install TACACS+ on an air-gapped switch and we don’t have access to a mirrored repo. There is a very tedious method which I’ll outline first, then there is the more Linux admin like option which is much more streamlined.
One thing that could be done is to run through the install on a switch with outside connectivity, gather the package and dependency info… manually pull the deb’s off of the repo on whatever media you are using to transfer files to the new switch. Then copy all of the packages over and install them. It’s the hard way, but sometimes that’s the road we have to take.
The long way
Pull the package list from a switch connected to the repo:
All of the packages should be in the Cumulus repo, in the case of Cumulus Linux 3.x that would be this URL.
I can go to the package list here.
From the specific package list I want I can pull the directory name for each specific package:
Then go snag the deb from the directory specified by the package listing here.
The smart way
Make good and sure that if you are using the following commands that you match up the Cumulus Linux version and switch processor type (x86 or ARM) with the target install device.
Get the list of repo links
Click on each URL to pull save that package to a media source you can use to transfer files to the air-gapped device for install.
If you’re on a machine that can run “for” loops, the following command will download all of the deb’s into your current directory for easy zip+transfer.
And to confirm the files are pulled down
Finishing the job
Transfer the debs to the Cumulus Linux device by whatever file transfer means are possible for your scenario, and then Install the deb’s with the “dpkg” command.
Install the packages that are called out in the “apt-get install”, including the dependencies and then follow the Cumulus Linux User Guide to provision and test the newly installed services.