Tuesday, February 24, 2026

Another use for APT-Offline

2/25/26

 

APT-offline came in handy when I was creating my MX-Linux 25.1 installation. I wanted to install Audacity on it, but my MX-L 23.3 installation became flaky when I installed Audacity on it and I didn't want the same thing to happen to my "master" installation of MX-L 25.1. 

My master-installation isn't the absolute first installation in the process I use. I buy Linux on DVDs from Shop Linux Online, use a "burner" program to make ISOs from them, and check the checksum of each ISO against the one provided by the official website. Then I use Etcher to create a non-persistent live installation from the ISO, then boot the live installation, and use the resulting live session to create a full installation on an SSD, which is the master-installation, which I then set-up and use for my first Snapshot-ISO. For the next ISO (creating the final ISO typically requires several ISO-iterations), I reboot the latest Snapshot-ISO to ensure that the live session is an accurate reflection of the ISO, then make all the desired changes, then create another Snapshot. If I were to use the master-installation, it would accrue all sorts of garbage that would end up on the Snapshots.

To avoid potential instability in my master-installation of MX-Linux 25.1, I didn't install Audacity on it. Instead, I used the Snapshot tool to turn it into an ISO, created a nonpersistent live installation from the ISO, booted the live installation, and added Audacity to the resulting live session. This required me to install a package index (a 90MB download) on the live session. 

But if I were to simply connect the live session to the internet and perform an update (which downloads and installs a fresh copy of the online package index, and entirely deletes the previously-installed package index, if there is one, to prevent conflicts), the package index would be stored in DRAM only, and if the PC were to shut down, the package index would be lost, and I'd have to download it all over again.  

But by using APT-offline (which I installed on the master installation, and which was therefore included in the Snapshot-ISO), I was able to download a copy of the package index to a storage device, and then install a copy onto the live session, to avoid the possibility of having to download it all over again. If APT-Offline were installed on MX-Linux by default, I could have downloaded the package index once and installed it on the full installation as well. But I had to install the package index on the full installation before I could install APT-offline on it. [1] 

So I created the aforementioned Snapshot-ISO, turned it into a live installation, booted it, and used APT-Offline to download and install the package index, and then Audacity. Then I made a Snapshot-ISO of it, and then a live installation from the Snapshot-ISO. So far, there have been no indications that Audacity introduced any instability, other than the panel jumping around a bit when Audacity is launched.

Although I hadn't used APT-offline in a long time, it didn't take long to get the hang of it again, thanks to my system which allows me to use the same simple get- and install-commands for everything. I use the GUI to perform the set-op, i.e. to generate signature files, but my tutorial includes set-commands for those who don't have the GUI yet.

Get-operation error messages

It's normal to get a lot of error messages when performing a get-op, i.e. using APT-Offline to download stuff from the repository, because there are two systems for organizing the servers, and signature files include a set of URLs for each system. The typical error messages just flag the set of URLs that aren't compatible with the chosen server. If the same signature file were used on a server with the other organization, the other set of URLs would be flagged. I just ignore the error messages and have always obtained the required files.

Notes

[1] There are ways to install APT-Offline without first installing the package index, as explained elsewhere in this blog. But they're a PITA, especially if the PC has no internet connection, which is why APT-offline was created. By not including it by default, its purpose, which is to make it convenient to install stuff without an internet connection, is defeated. 

It seems to me that including at least a command-line version of APT-Offline, at least when it wouldn't require any dependencies of significant size, and letting people know that software can be installed on those Debian derivatives without a direct high speed internet connection, would make them more popular. 

I think of APT-Offline as a little jewel of a tool, or a toy, which does something which is traditionally considered to be impossible - installing software on Linux without a direct internet connection. It's the culmination of a great deal of development by those who developed the Debian package-management system. Many approaches were tried, and APT-offline came out on top.