Let us say, you have a system (Windows or Linux) with high-speed Internet connection at work and a Debian or any Debian derived systems with no internet connection or very slow Internet connection(like dial-up) at home. You want to upgrade your offline home system. What would you do? Buy a high speed Internet connection? Not necessary! You still can update or upgrade your offline system with Internet. This is where Apt-Offline comes in help.
As the name says, apt-offline is an Offline APT Package Manager for APT based systems like Debian and Debian derived distributions such as Ubuntu, Linux Mint. Using apt-offline, we can fully update/upgrade our Debian box without the need of connecting it to the Internet. It is cross-platform tool written in the Python Programming Language and has both CLI and graphical interfaces.
Requirements
- An Internet connected system (Windows or Linux). We call it online system for the sake of easy understanding throughout this guide.
- An Offline system (Debian and Debian derived system). We call it offline system.
- USB drive or External Hard drive with sufficient space to carry all updated packages.
Installation
Apt-Offline is available in the default repositories of Debian and derivatives. If your Online system is running with Debian, Ubuntu, Linux Mint, and other DEB based systems, you can install Apt-Offline using command:
If your Online runs with any other distro than Debian, git clone Apt-Offline repository:
Go the directory and run it from there.
Steps to do in Offline system (Non-Internet connected system)
Go to your offline system and create a directory where you want to store the signature file:
You can use any directory of your choice. Then, run the following command to generate the signature file:
Sample output would be:
By default, apt-offline will generate database of files that are needed to be update and upgrade. You can use —update or --upgrade options to create database for either one of these.
Copy the entire tmp folder in an USB drive or external drive and go to your online system (Internet-enabled system).
Steps to do in Online system
Plug in your USB drive and go to the temp directory:
Then, run the following command:
Here, “–threads 5” represents the number of APT repositories. You can increase the number if you want to download packages from more repositories. And, “–bundle apt-offline-bundle.zip” option represents all packages will be bundled in a single archive file called apt-offline-bundle.zip. This archive file will be saved in your current working directory.
The above command will download data based on the signature file generated earlier in the offline system.
This will take several minutes depending upon the Internet connection speed. Please note that apt-offline is cross platform, so you can use it to download packages on any OS.
Once completed, copy the tmp folder to USB or External drive and return back to the offline system. Make sure your USB device has enough free space to keep all downloaded files, because all packages are available in the tmp folder now.
Steps to do in offline system
Plug in the device in your offline system and go to the tmp directory where you have downloaded all packages earlier.
Then, run the following command to install all download packages.
This will update the APT database, so APT will find all required packages in the APT cache.
Note: If both online and offline systems are in the same local network, you can transfer the tmp folder to the offline system using “scp” or any other file transfer applications. If both systems are in different places, copy the folder using USB devices.
And, that’s all for now folks. I hope this guide will useful for you. More good stuffs to come. Stay tuned!
Cheers!
Resource: