Wget is the command-line tool through which you can download anything from the internet using HTTP, HTTPS, and FTP protocols. It supports IPv4 (Internet Protocol version 4) as well as IPv6 (Internet Protocol 6) addresses to connect to the internet.
If for some reason you wish to connect with either IPv4 or IPv6 protocols, then you have to specify it each time you use the wget command, or you would have to change the default settings. In this article, we will take a look at exactly that procedure.
Also read: wget vs. curl – What is the difference between the wget and curl commands?
Installing wget
The tool is installed in most the Linux distributions by default, so first, check its version by typing the following commands in the terminal:
wget --version
If the above result does not show up, you can install the tool from the command line, depending upon your Linux distribution, as follows :
For Debian and Ubuntu-based distributions
In the terminal, type and execute the following commands :
sudo apt update && sudo apt install wget
On Fedora Workstation
Fedora has dnf and yum package manager, so you can install any application from the terminal like this :
sudo dnf install wget
On Arch Linux and Arch-based distributions :
On Arch and its derivative operating systems, pacman is used as the package manager. So, the installation process looks like this :
sudo pacman -S wget
Enforcing IPv4 & IPv6 protocols for a single-use
If you simply use the wget command along with a URL, then by default, it connects to the internet using both 32-bit IPv4 addresses and 128-bit IPv6 addresses such as:
wget https://ftp.gnu.org/gnu/fdisk/fdisk-0.9.1.tar.bz2
To use the IPv4 protocol, we need to use the –inet4-only flag along with the command:
wget --inet4-only https://ftp.gnu.org/gnu/fdisk/fdisk-0.9.1.tar.bz2
Similarly, you can use the –inet6-only flag to force the download to commence via IPv6 protocol like this:
wget --inet6-only https://ftp.gnu.org/gnu/fdisk/fdisk-0.9.1.tar.bz2
Enforcing IPv4 & IPv6 protocols permanently
To enforce anything permanently, you have to modify the .wgetrc file located at ~/.wgetrc or at /etc/wgetrc for a single user or for all users, respectively. Open the file using a text editor such as vim or nano:
vim ~/.wgetrc
# or vim /etc/wgetrc
Now, just add (or uncomment by removing #) the following to the file to force IPv4 or IPv6:
inet4_only = on/off
# or
inet6_only = on/off
Summary
I’d urge that you should only use the temporary flags to use IPv4 or IPv6 unless you know what you’re doing. If you force the IPv6 and the host DNS does not have that connection, then you will encounter ‘Failed: No address associated with hostname’ error.