What is the first thing you do when you want to install any Linux distribution? You go to the respective page to Download the ISO file. But If I say you can download the ISO file directly from a terminal without getting your hand dirty.
The conventional method to download ISO is best when you have access to Graphical User Interface (GUI), but what to do when you just have a command-line interface? In this situation, you seek another system and get back with an ISO image, quite awful aha!
If you are too possessive with a command line, then you must try it.
Table of Contents
What is OSGET utility?
OSGET is a command-line application to download ISO from a terminal. Moreover, it has the capability to search, list OS, update repositories to fetch the latest version of os, and transmission-CLI support included for torrent links.
The Basic syntax of OSGET is as follows.
$ osget [options] [operatingsystem] [operatingsystem2]
- [options]: use for listing Linux OS, download location, etc.
- [operatingsytem]: mention the distribution name.
- [operatingsystem2]: capable of downloading multiple ISO.
If you just hit osget on a terminal, it will show you a list of options and an example to download OS.
Download & Install OSGET
I’m assuming git is already installed in your system. If it is missing, please install it before proceeding ahead.
The steps to install OSGET is quite simple, open a terminal and type the following command to download the installer script.
$ git clone https://github.com/gnarlin/osget.git $ cd osget $ ls
Once you pass the ls command, it shows you a list of files available in the osget directory.
A Debian & Ubuntu-based distribution can use the .deb package to Install OSGET, pass the following command to install, and make sure to replace X.X with a file version.
$ sudo apt install ./osget_X.X_all.deb $ sudo dpkg -i osget_X.X_all.deb
Other distributions can use the below script.
$ sudo ./install.sh --install
Uses of OSGET in Linux
Once the installation is over you can use OSGET to list, search, download, update, and modify osget.conf.
List Linux distributions using OSGET
You can list out all the available Linux Distributions using –list or -l options. When you invoke the below command, it will show you a list of operating systems, including different releases and versions.
$ osget ---list $ osget --list | less
Search Linux distributions using OSGET
As of now, 180+ Linux distributions is available to download, including various releases & version. Instead of listing out, you can use search options to find specific releases or distributions like a below output
$ osget --search manjaro $ osget -s manjaro-xfce
Download Linux distributions using OSGET
As far as you know, the iso name you can start the downloading. If you are not sure about the ISO name, please use the above command, and once you get the proper file name, type the below command and ensure to replace the ISO filename; else, end up with Debian ISO.
$ osget debian-11.0.0-amd64-netinst
You can also provide a specific directory to download an ISO image. For that, you can use –directory or -d.
$ osget -d ~/Downloads/ debian-11.0.0-amd64-netinst
Although you can change the default Download location to store ISO files, you need to modify the osget.conf file.
$ sudo nano /etc/osget/osget.conf
Once you open the file, search for “DOWNLOAD_DIR=” if it is commented, then please remove # and add the new path location, save and close.
Update OSGET to fetch the latest resource from an online repository
A newer release of ISO can be found only if you update the OSGET. To update OSGET, use –update or -u with sudo privileges.
$ sudo osget -u
You can use the same script to uninstall OSGET from your system. Go to the directory where the script is present and paste the below code.
$ sudo ./install-sh --uninstall
Finally, you can download the ISO file using a command line. There are many features that can be implemented to make it robust and scalable. While using it, I found some errors like mirror down, and there is no alternative way to rescue it.
I’m not sure whether OSGET supports bandwidth control, thread for better usability.
A man with a tech effusive who has explored some of the amazing technology stuff and is exploring more. While moving towards, I had a chance to work on Android development, Linux, AWS, and DevOps with several open-source tools.