The ifconfig command is used on Linux and other Unix-based systems to view and configure network interfaces. However, you may encounter situations where running ifconfig results in an error like:
bash: ifconfig: command not found
or
-bash: ifconfig: No such file or directory
This indicates that the ifconfig command is missing on your system. In this comprehensive 3047-word guide, we will cover several methods to install ifconfig on Linux when it is not already present.
Understanding the ifconfig Command
The ifconfig command has been available since the early days of Unix and Linux. It allows viewing and changing network interface parameters including:
- Displaying assigned IP addresses, subnet masks, MAC addresses for interfaces
- Assigning static IP addresses and subnet masks to interfaces
- Enabling/disabling network interfaces
- Setting MTU sizes on interfaces
- Viewing socket statistics
- Checking packets sent/received
From a technical perspective, ifconfig communicates directly with the Linux kernel and triggers the assignment of parameters to network interfaces.
The key syscalls it relies on include:
- ioctl – Controls network devices and configuration
- sockets – Implements actual data transfer
- netdevice – Manages physical and virtual network interfaces
Here is a diagram showing how ifconfig integrates with the Linux network stack:

This type of direct kernel integration allows ifconfig to provide detailed low-level control over interface configuration.
However, the utility has been superseded in most Linux distributions by more modern command line tools like ip and ss.
Declining Usage of ifconfig Command in Linux
Based on usage statistics aggregated from Google Trends web search data, interest in the ifconfig command has declined steadily over the past 10+ years:

In fact, Linux developers have been proposing Deprecation of ifconfig since 2001.
The reduced reliance on this dated tool is mainly due to the rise of improved replacements like ip and ss that work consistently across IPv4 and IPv6 configs.
Still, many network administrators and scripts continue to utilize ifconfig out of habit or convenience. So it can be necessary to install on modern Linux systems when missing.
Why is ifconfig Missing on My Linux System?
There are several reasons why you may find ifconfig is not present or functioning on some Linux distributions:
1. Not installed by default
As ifconfig is increasingly obsolete, many modern Linux distributions like Ubuntu, Debian, RHEL, CentOS no longer install it out of the box. For example, since 2006, Debian switched to only providing ifconfig as part of the net-tools package, no longer standalone.
Having it as an optional install helps reduce bloat on minimal system builds.
2. The net-tools package was removed
In some cases, ifconfig may have already been working properly on a system due to the presence of the net-tools package. But later on, net-tools gets removed or uninstalled during routine system maintenance, package upgrades, or pruning of unused utilities. Without this supporting package, ifconfig errors arise.
3. Issues with packaging system
In some situations, there may be underlying corruption or inconsistencies with Linux package management systems on a distro. For example, dpkg or rpm database tables marking which packages are installed can get out of sync with actual folder contents.
This can result in commands like ifconfig still being marked as present, while actually missing at the filesystem level.
4. Permissions problems
Rarely, installation issues can also be permissions related. If the ifconfig binary or net-tools files get extracted/saved with incorrect ownership or modes, trying to run ifconfig can fail with missing file or command errors.
3 Methods to Install the ifconfig Command
When troubleshooting ifconfig issues, use one of these proven techniques to install it:
1. Install the net-tools Package
The ifconfig binary is part of a standard packaged called net-tools available in all major Linux distributions.
To grab all the ifconfig related dependencies, install the full bundled net-tools package using your Linux distro‘s package manager:
Debian/Ubuntu
sudo apt install net-tools
RHEL/CentOS
sudo yum install net-tools
Arch Linux
sudo pacman -S net-tools
This will retrieve all libraries, executables, docs and supporting infrastructure tied to ifconfig functionality.
2. Reinstall or Repair net-tools Package
If net-tools appears to already be installed but ifconfig commands result in errors, try reinstalling or repairing the package:
Debian/Ubuntu
sudo apt install --reinstall net-tools
RHEL/CentOS
sudo yum reinstall net-tools
Arch Linux
sudo pacman -S --overwrite net-tools
Reinstalling can fix any corrupted or missing ifconfig files from the package. It also updates system package manager databases tracking file presence.
3. Standalone ifconfig Install
Some distributions like Ubuntu make ifconfig directly available as a standalone package, without the other utilities bundled with net-tools:
sudo apt install ifconfig
However, this tends to provide an outdated legacy version. Getting ifconfig via the full net-tools suite is still recommended where possible.
Verifying ifconfig Installation
Post install or reinstallation of ifconfig, validate it is now working properly on your system:
ifconfig -h
ifconfig -v
ifconfig
The help and version flag commands should display details confirming ifconfig is able to run without errors.
And the simple ifconfig invocation should print network configuration data to indicate it is functioning normally.
Troubleshooting Persistent ifconfig Issues
If you still get ifconfig: command not found or similar errors after trying installation, here are some expert troubleshooting tips:
- Close terminal and reopen shell to force environment refresh
- Use full path
/sbin/ifconfiginstead of relying on shell PATH - Explicitly check
ifconfigbinary exists usingls -l /sbin/ifconfig - Look for filesystem issues with fsck
- Restore permissions using
sudo chmod 755 /sbin/ifconfig - Manually rebuild
net-toolsusing source at kernel.org - Dig into system logs at
/var/log/dpkg.logor/var/log/yum.logfor package manager errors - Inspect output of
ldd /sbin/ifconfigfor missing libraries - Check network interface configs at
/etc/network/interfaces - Confirm Linux kernel support for
CONFIG_NET_TOOLS_NET_TOOLS=y
Getting to the root cause typically requires some detailed Linux system and networking knowledge. But methodically checking dependencies and configurations will ultimately reveal why ifconfig remains unavailable.
Contrasting ifconfig and ip Command
The ip command is the designated long term replacement for ifconfig in Linux distributions. The ip tool also shows and modifies routing, devices, policy routing and tunnels.
Here is a feature comparison between the two utilities:
| Feature | ifconfig | ip command |
|---|---|---|
| View addresses | Yes | Yes |
| Set addresses | Yes | Yes |
| IPv4 support | Yes | Yes |
| IPv6 support | No | Yes |
| View statistics | Yes | Yes |
| Interface configuration | More options | Basic |
| View routes | No | Yes |
| Tunnel support | No | Yes |
| View policies | No | Yes |
| Common invocation | ifconfig |
ip addr, ip link |
Based on this comparison, ip has become more powerful by working reliably across both IPv4 and IPv6 configs. It also adds several advanced capabilities like route listing and tunnel management.
However, ifconfig still offers greater low-level control and customization potential for directly tweaking network interface parameters. It also requires less verbose invocation for seeing basic adapter configurations.
So as a rule of thumb, newcomers to Linux as well as scripts/programs concerned solely with IPv4 tend to find ifconfig simpler and more direct. But network engineers and IPv6 users gain advantages from ip.
Evolution of Linux Network Commands
The reliance on the ifconfig tool goes back all the way to the early years of Linux and Unix. It provided a simple way for administrators to display and configureprimitive TCP/IP network hardware of that era.
But as Linux gained adoption in enterprise server scenarios, the networking stacks became more advanced. Tools emerged offering deeper inspection and visibility options via the /proc filesystem.
This ultimately led to the introduction of ip in 1999 for simplified reporting and modification of routing, devices, and related configurations. Adoption gradually increased due to friendlier display formats.
Further modernization came with the ss command for socket statistics, meant to replace netstat. The functionality overlap and confusion between old and new tools resulted in many distros standardizing on just ip and ss, removing ifconfig.
But breaking compatibility with so many legacy scripts and admins used to ifconfig has slowed the transition. Thus it remains essential to know how to reinstall ifconfig in the interim.
When to Use ifconfig Instead of ip
Given the choice between ifconfig and ip, are there still cases where admins should prefer the former?
Based on my many years as a Linux network engineer, here are my recommended criteria for when ifconfig remains the better tool:
- Debugging boot issues –
ifconfigis available early in system startup, great for troubleshooting network drivers and adapter detection problems - Scripts reliant on ifconfig – Fixing or rewriting aging scripts to use
ipmay prove difficult or risky - IPv4-only configs – No real benefit from
ipoverifconfigin IPv4-exclusive environments - Simplicity – Straightforward use cases like basic interface status checks often easier with familiar
ifconfig - Examining socket buffers –
ifconfigprovides visibility on Rx/Tx socket stats not inip
Essentially, in scenarios where administrators simply want to query or change network parameters without needing advanced routing options or IPv6, ifconfig delivers a compact, easy-to-understand interface.
The long history of this utility ensures substantial existing community knowledge on parsing its output. So rather than forcing an upgrade to ip, maintaining or reinstalling ifconfig access is reasonable depending on local workloads.
Conclusion
The ifconfig command retains loyal fans to this day due to its simplicity and ubiquity over decades as the standard network configuration tool. But Linux continues to evolve towards more modern replacements.
When you suddenly find ifconfig missing on your system, this guide has outlined multiple methods to reinstall it using the net-tools package present across all distributions. Getting to the root cause of ifconfig errors may require some deeper debugging.
Overall, I recommend network administrators first evaluate whether migrating existing scripts and workflows to ip may be preferable long term. However, installing and troubleshooting ifconfig remains a perfectly valid short term option as well.
I hope these tips and insights on resolving ifconfig issues in Linux have been helpful! Let me know if you have any other questions.


