Wo ist die Erklärung der Ablehnung von ifconfig (unter Linux)?

41

Viele Leute behaupten, dass der ifconfigBefehl zugunsten des Befehls veraltet ist ip(zumindest unter Linux).

Dies wird häufig als Argumentation für den Wechsel von ifconfigzu verwendet ip(siehe Kommentar und Antwort von Soll ich Ifconfig beenden? ).

Wo finden wir eine Aussage dazu (dh wo steht, dass ifconfigdies in Zukunft nicht mehr unterstützt wird)?

Bruno BEAUFILS
quelle
15
Zum einen die Manpage.
Michael Hampton
5
Sei wie ich ... benutze ipconfig so lange du kannst ... bis du nicht mehr kannst . Gleiches gilt für IPv6!
Ewwhite
3
@ewwhite RHEL 7 installiert standardmäßig nicht einmal Net-Tools. Viel Glück damit.
Michael Hampton
4
@MichaelHampton Nicht auf meiner manSeite
Izkata
3
@ewwhite: Du benutzt Windows?
Slebetman

Antworten:

30

Die offizielle Erklärung zu den Plänen, Net-Tools zu veralten, wurde Anfang 2009 auf der Debian-Entwickler-Mailingliste von einem der Net-Tools-Betreuer abgegeben. Net-tools ist ihrer Aussage nach seitdem kaum mehr gewartet worden.

Luk Claes und ich, die derzeitigen Betreuer von Net-Tools, haben über die Zukunft nachgedacht. Net-tools ist seit vielen Jahren ein Kernbestandteil von Debian und jeder anderen Linux-basierten Distribution, aber es zeigt sein Alter.

Es unterstützt nicht viele der modernen Funktionen des Linux-Kernels, die Benutzeroberfläche ist bei weitem nicht optimal und bei der Automatisierung schwierig zu verwenden, und es hat in den letzten Jahren auch nicht viel Liebe bekommen.

Auf der anderen Seite hat die iproute-Suite, die um die 2.2-Kernel-Linie eingeführt wurde, eine viel bessere und konsistente Oberfläche, ist leistungsstärker und fast zehn Jahre alt, so dass niemand sagen würde, dass sie ungetestet ist.

Aus diesem Grund planen wir, Net-Tools vollständig durch iproute zu ersetzen, was möglicherweise den Weg für andere Distributionen ebnet. Natürlich benutzen und erinnern sich die meisten Leute und Tools an die alte, ehrwürdige Oberfläche. Der erste Schritt wäre also, Wrapper zu schreiben und zu versuchen, mit Net-Tools kompatibel zu sein.

Gleichzeitig glauben wir, dass die meisten Pakete, die Net-Tools verwenden, gepatcht werden sollten, um stattdessen iproute zu verwenden, während andere die Wrapper für einige Zeit weiter verwenden können. Das ifupdown-Paket ist offensichtlich der erste Kandidat, aber es scheint, dass eine Version mit iproute seit 2007 im experimentellen Bereich verfügbar ist.

Die Idee, Wrapper zu schreiben, wurde schließlich als nicht funktionsfähig aufgegeben, und fast alle Linux-Distributionen sind seitdem auf iproute2 umgestiegen.

Michael Hampton
quelle
21

Die Manpage von ifconfigsagt:

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.

Auf der Arch Linux- Newsseite heißt es:

Abschaffung von Netzwerkzeugen

08.06.2011 - Tom Gundersen

Im April dieses Jahres jährte sich das letzte Release von net-tools zum zehnjährigen Bestehen. Wir haben uns entschlossen, dies als Gelegenheit zu betrachten, um Net-Tools zu verwerfen und alternative und besser gewartete Lösungen für die Funktionalität von Net-Tools bereitzustellen. Dies hat einige Konsequenzen, aber die meisten Leute sollten es nicht bemerken.

net-tools werden weiterhin in den Repositorys vorhanden sein, sodass Skripte, die sich darauf stützen, weiterhin funktionieren sollten.

Und die Linux Foundation sagt fast dasselbe:

net-tools
Von Linux Foundatio ... - 19. November 2009 - 10:23 Uhr

networking

Überblick

Eine Sammlung von Programmen, die den Basissatz der NET-3-Netzwerkdistribution für das Linux-Betriebssystem bilden. Dieses Paket enthält arp (8), hostname (1), ifconfig (8), ipmaddr, iptunnel, mii-tool (8), nameif (8), netstat (8), plipconfig (8), rarp (8) und route (8) und Slattach (8).

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

Bitte beachten Sie, dass die meisten Net-Tools-Programme derzeit veraltet sind:

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

Sie möchten wahrscheinlich die Seite iproute2 überprüfen.

Ich bin mir nicht sicher, warum Ubuntu den Hinweis auf Ablehnung nicht trägt.

Fragenüberlauf
quelle
Du sagst nicht in welcher Distribution. Ubuntu hat immer noch eine echte Manpage für iconfig.
Andrew Schulman
@ AndrewSchulman, hat meine Antwort mit einem Link zur Manpage aktualisiert.
Fragenüberlauf
1
Es wurde jedoch im Vorfeld veraltet. Es ist nicht abzusehen, wann sich das irgendwann administrativ niederschlägt. Einige Subsystem-Updates scheinen einige Jahre lang Änderungen im Standard-Fenstermanager (Unity) nach sich gezogen zu haben - was seltsamerweise genau null Personen betrifft, die ich persönlich kenne, auch mich. Aber irgendwann werden die Netzwerkzeuge verschwinden. es wird nichts Neues gegen seine Bibliotheken geschrieben.
zxq9
@ AndrewSchulman, ich habe deine Aussage zu Ubuntu zurückgesetzt, da ich das nicht sagen wollte.
Fragenüberlauf
10

Dies ist ein distro-spezifisches Problem. net-tools wurde jedoch von fast jeder großen Distribution (oder Distribution im Upstream-Bereich) verworfen. In der Tat wechselt die gesamte Community von ifconfig zu ip - aber die Änderung ist langsam, da einige Distributionen eine extrem lange Haltbarkeit haben (RHEL zum Beispiel).

Es ist weniger wahrscheinlich, dass Sie eine Ankündigung der Nichtbeachtung finden als ein Element in den Versionshinweisen einer Hauptversion für eine Distribution, die etwas wie "Ab FooLinux v2.0 wurde net-tools zugunsten des Befehls 'ip' nicht mehr empfohlen". (Wenn die Distribution Hauptversionen hat, sind das Gentoo und Arch interessante Ausnahmen, die diese Art von Dingen durch Ankündigungen von Nachrichten handhaben, die als Administratorbenachrichtigungen im System und manchmal auf ihren Websites erscheinen: https://www.archlinux.org/ news / verfall von netzwerkzeugen / .)

In Bug-Trackern und Entwicklungs-Roadmaps wird viel über den (langsamen) Untergang von Net-Tools geredet.

Es ist durchaus möglich, dass eine Distribution irgendwo beschließt, sich an net-tools zu halten und deren Wartung als Hauptprojekt zu übernehmen. Dies ist jedoch unwahrscheinlich, da das Endergebnis einen erheblichen Aufwand für die Wartung einer Reihe von Tools bedeuten würde, gegen die niemand andere Software schreibt. Es sei denn, diese Distribution gehört Apple. ;-)

Am Ende besteht die eigentliche Lektion darin, Ihre Versionshinweise zu lesen . Linux ist ein bewegliches Ziel, besonders wenn Sie mehr als eine einzelne Distribution gleichzeitig verwalten. Ignorieren Sie daher nicht die Dokumente und nehmen Sie nicht an, dass etwas in Release X dasselbe ist wie in X-1.

zxq9
quelle
1
@BrianKnoblauch Denk nicht zu viel darüber nach. Es gibt eine komplexe Mischung aus politischen, geschäftlichen und (tatsächlichen) technischen Gründen. Manche Dinge ändern sich so schnell und andere so langsam. Sie müssen nur akzeptieren, dass uns die Dinge in regelmäßigen Abständen in die Luft jagen und hin und wieder auf Versionshinweise achten. :-)
zxq9
1
Die @R-Wartung umfasst immer mindestens das Paketieren aller Kerndienstprogramme, die Ihre Distribution enthält (was letztendlich bedeutet, dass Sie andere, nicht verwandte Upstream-Pakete portieren oder patchen, um den Einschränkungen eines Systems zu entsprechen, das veraltete Komponenten enthält) - ganz zu schweigen von Sicherheitspatching (Betrachten Sie das zunehmende Dilemma von Apple). Aus alten Paketen werden mit der Zeit Tarbabies, vor allem die, die Sie am wenigsten erwarten. Bastiats Unterscheidung zwischen dem Gesehenen und dem Nicht Gesehenen ist hier periphere aufschlussreich, ebenso wie Heinleins Behauptung, es gäbe kein freies Mittagessen.
zxq9
2
Dies ist nicht korrekt: Für jede Distribution, die einen aktuell verwalteten Kernel verwendet, können Netzwerkschnittstellen eingerichtet werden, die mit ifconfig nicht funktionieren .
Mikemaccana
1
@ zxq9 Ich verstehe, dass Sie erwähnt haben, dass es sich um ein distro-spezifisches Problem handelt. Ich habe gezeigt, dass es sich nicht um eine Distribution handelt. Alle Linux-Distributionen verwenden denselben Kernel, keine einzige Distribution verwendet einen Kernel, der alle Netzwerkkonzepte so ausdrücken kann, dass ifconfig die konfigurierten Netzwerkschnittstellen korrekt anzeigt.
Mikemaccana
1
@ zxq9 Alle Linux-Distributionen verwenden den Linux-Kernel, in dem die Netzwerke ioctlimplementiert sind. Sie haben falsch verstanden und gedacht, ich meine die Kernel-Version. Alle Linux-Distributionen, die gewartet werden (z. B. mit einem Kernel, der jünger als 10 Jahre ist), haben das Problem, dass ifconfig z. B. keine virtuelle IP in einem VLAN auf einer verbundenen Netzwerkkarte darstellen kann (was populärer ist als Sie denken). Da dies wiederum alle verwalteten Linux-Distributionen betrifft, handelt es sich nicht um ein distro-spezifisches Problem.
Mikemaccana
2

ifconfigist nicht Teil von Linux. Es ist ein Tool, das unter den meisten Linux-basierten Distributionen verfügbar ist. Sie müssen sich auf die verteilungsspezifische Dokumentation beziehen, um herauszufinden, warum sie veraltet ist.

Gen
quelle
4
Es ist jetzt nicht Teil von Linux . Es begann unter Linux, als Linux den BSD IP Stack verwendete (ifconfig ist ein Teil des BSD IP Stack). Linux hat um 2001 einen eigenen IP-Stack geschrieben und aus Kompatibilitätsgründen eine eigene ifconfig als Teil von net-tools.
Chris S