Where is the statement of deprecation of ifconfig (on linux)?

Posted on

Where is the statement of deprecation of ifconfig (on linux)? – A server stack is the collection of software that forms the operational infrastructure on a given machine. In a computing context, a stack is an ordered pile. A server stack is one type of solution stack — an ordered selection of software that makes it possible to complete a particular task. Like in this post about Where is the statement of deprecation of ifconfig (on linux)? was one problem in server stack that need for a solution. Below are some tips in manage your linux server when you find problem about linux, networking, ifconfig, iproute2, .

A lot of people is stating that the ifconfig command is deprecated in favor of the ipone (on linux at least).

This is often used as an argumentation to switch from ifconfig to ip (see some comment and answer of Should I quit using Ifconfig?).

Where can we find a statement about that (i.e. where is it stated that ifconfig won’t be supported in the future) ?

The official statement regarding the plans to obsolete net-tools was made on the debian-devel mailing list in early 2009 by one of the net-tools maintainers. True to their statement, net-tools has been hardly maintained at all since that time.

Luk Claes and me, as the current maintainers of net-tools, we’ve been
thinking about it’s future. Net-tools has been a core part of Debian and
any other linux based distro for many years, but it’s showing its age.

It doesnt support many of the modern features of the linux kernel, the
interface is far from optimal and difficult to use in automatisation,
and also, it hasn’t got much love in the last years.

On the other side, the iproute suite, introduced around the 2.2 kernel
line, has both a much better and consistent interface, is more powerful,
and is almost ten years old, so nobody would say it’s untested.

Hence, our plans are to replace net-tools completely with iproute, maybe
leading the route for other distributions to follow. Of course, most
people and tools use and remember the venerable old interface, so the
first step would be to write wrappers, trying to be compatible with
net-tools.

At the same time, we believe that most packages using net-tools should
be patched to use iproute instead, while others can continue using the
wrappers for some time. The ifupdown package is obviously the first
candidate, but it seems that a version using iproute has been available
in experimental since 2007.

The idea to write wrappers was eventually abandoned as unworkable, and nearly all Linux distributions have switched to iproute2 since then.

The man page of ifconfig says:

IFCONFIG(8)           Linux System Administrator's Manual          IFCONFIG(8)

NAME
       ifconfig - configure a network interface

SYNOPSIS
       ifconfig [-v] [-a] [-s] [interface]
       ifconfig [-v] interface [aftype] options | address ...

NOTE
       This  program  is obsolete!  For replacement check ip addr and ip link.
       For statistics use ip -s link.

The Arch Linux news page says:

Deprecation of net-tools

2011-06-08 – Tom Gundersen

This April marked the ten year anniversary of the last net-tools
release. We decided to look at this as an opportunity to deprecate
net-tools and provide alternative, and better maintained, solutions
for net-tools functionality. This has a few consequences, but most
people should not notice.

net-tools will continue to be in the repositories, so scripts relying
on it should still work.

And Linux Foundation says much the same thing:

net-tools
By Linux Foundatio… – November 19, 2009 – 10:23am

networking

Overview

A collection of programs that form the base set of the NET-3
networking distribution for the Linux operating system. This package
includes arp(8), hostname(1), ifconfig(8), ipmaddr, iptunnel,
mii-tool(8), nameif(8), netstat(8), plipconfig(8), rarp(8), route(8)
and slattach(8).

Maintainers: Bernd Eckenfels, Phil Blundell
Current Version: net-tools 1.60 (see upstream git for updates)

Please keep in mind that most net-tools programs are obsolete now:

program   obsoleted by
arp       ip neigh
ifconfig  ip addr
ipmaddr   ip maddr
iptunnel  ip tunnel
route     ip route
nameif    ifrename
mii-tool  ethtool

You would probably want to review iproute2 page.

I am not sure why Ubuntu doesn’t carry the note on deprecation though.

This is a distro-specific issue. net-tools has been deprecated by just about every major distro (or distro upstream), though, so in effect the entire community is switching from ifconfig to ip — but the change is slow, as some distros have an extremely long shelf-life (RHEL,for example).

You are less likely to find a deprecation announcement than an item in the release notes of a major release for a distro stating something like “As of FooLinux v2.0 net-tools has been deprecated in favor of the ‘ip’ command”. (If the distro has major releases, that is. Gentoo and Arch being interesting exceptions which handle this sort of thing through news announcements that appear as admin notices within the system and sometimes on their websites: https://www.archlinux.org/news/deprecation-of-net-tools/.)

You can find plenty of chatter about net-tools’ (slow) demise in bug trackers and dev roadmaps, also:

It is entirely possible that a distro somewhere may decide to stick with net-tools and adopt maintenance of it as their pet project, but this is unlikely since the end result would be expending substantial effort maintaining a set of tools nobody writes other software against. Unless that distro is owned by Apple, of course. 😉

In the end, the real lesson is to read your release notes. Linux is a moving target, especially if you are managing more than a single distro at once, so don’t disregard the docs or assume something in release X is the same as it was in X-1.

ifconfig isn’t part of Linux. It’s a tool that’s available under most Linux based distributions. You will have to refer to distribution specific documentation to find out why it’s being deprecated.

Leave a Reply

Your email address will not be published. Required fields are marked *