Vraag Moet ik stoppen met het gebruik van Ifconfig?


Met de servers die Infiniband-kaarten koppelen, wanneer ik de ifconfig opdracht, krijg ik deze waarschuwing:

Ifconfig uses the ioctl access method to get the full address 
information, which limits hardware addresses to 8 bytes.
Because Infiniband address has 20 bytes, only the first 8 bytes 
are displayed correctly.
Ifconfig is obsolete! For replacement check ip.

Moet ik stoppen met gebruiken ifconfig? Is het verouderd ten gunste van de ip commando? Of zal het in de nabije toekomst worden bijgewerkt?

Notitie: Deze vraag en antwoorden zijn met betrekking tot GNU / Linux "grote" distributies. Er mag niet worden verondersteld dat de informatie van toepassing is op alle distributies, en vooral niet op andere besturingssystemen.


155
2017-12-17 08:52


oorsprong


Hoe eerder u schakelt, hoe beter. Het kostte me maanden om het spiergeheugen van te vervangen ifconfig. Het maakt het werken op Windows echter nog leuker. "ip add- nee, wacht, dat is het niet, ifcon- Nee, argh ipconfig" - Charles
Misschien helpt een alias: alias ipconfig='echo ipconfig is deprecated, use ip instead'. Natuurlijk stel je meer zinvolle aliassen in. - ott--
ifconfig is verouderd? Ik moet in een grot hebben geleefd - wim
Ik vind het merkwaardig dat een opdracht genaamd "ip" de mogelijkheid heeft om op koppelniveau bewerkingen uit te voeren. - James O'Gorman
Het is alleen verouderd op bepaalde besturingssystemen. Als je dingen buiten Linux gebruikt, geloof ik dat ifconfig nog steeds in gebruik is. Ik zie zo'n waarschuwing bijvoorbeeld niet op FreeBSD. - Stefan Lasiewski


antwoorden:


citeren Thomas Pircherwebsite (cc-by-sa): 

ifconfig vs ip

Het bevel /bin/ip bestaat al een tijdje. Maar mensen blijven het oudere commando gebruiken /sbin/ifconfig. Laten we duidelijk zijn: ifconfig zal niet snel verdwijnen, maar de nieuwere versie, ip, is krachtiger en zal deze uiteindelijk vervangen.

De manpagina van ip kan aanvankelijk intimiderend lijken, maar als u eenmaal bekend bent met de syntaxis van de opdracht, is dit gemakkelijk te lezen. Deze pagina introduceert niet de nieuwe functies van ip. Het geeft eerder een vergelijking naast elkaar weer als ifconfig en ip om een ​​snel overzicht te krijgen van de syntaxis van de opdracht.

Toon netwerkapparaten en configuratie 

ifconfig

ip addr show
ip link show

Schakel een netwerkinterface in

ifconfig eth0 up
ip link set eth0 up

Een netwerkinterface is op dezelfde manier uitgeschakeld:

ifconfig eth0 down
ip link set eth0 down

143
2017-12-17 09:48



Interessant hoe in elke use-case die u noemde het ip-commando langer en complexer is. Waarschijnlijk een primaire reden waarom mensen nog steeds gebruiken ifconfig - TheLQ
@TheLQ: ip biedt veel, veel meer functies. Natuurlijk is het complexer. Hoe dan ook, veel opdrachten kunnen worden ingekort. bijv. ip addr show kan worden ingekort ip a, ip link show naar ip l, ip link set eth0 up naar ip l set eth0 up enzovoorts. Dit brengt ip op hetzelfde niveau als ifconfig. - BatchyX
Vergeet niet dat de hele wereld geen Linux-machine is. Solaris, AIX, HP-UX, alle BSD's en SCO (niet dat iemand om hem geeft hen) allemaal gebruiken ifconfig. Als je een wilt zijn unix admin (niet alleen een Linux admin) moet je er zeker van zijn dat je op zijn minst bekend bent met ifconfig en de basissyntaxis ... - voretaq7
Uw eerste voorbeeld beantwoordt het. Waarom voer ik 2 opdrachten uit als ik dit doe? - ott--
@ott ip addr show vrijwel de uitvoer van ip link show. - nyuszika7h


Ja, ifconfig is verouderd ten gunste van iproute2 (de ip commando) op Linux.

Evenzo, de arp, route en netstat opdrachten zijn ook verouderd.

Echter, iproute2 is Linux-specifiek, wanneer sommige andere Unixen gebruiken ifconfig, dus het kan helpen om te weten / onthouden hoe het werkt als je ooit nog een Unix gaat gebruiken ...

Om de "nieuwe manier" te leren, raad ik aan om naar die 3 links te kijken:

Volgens de laatste link, ifconfig is al 15 jaar niet meer onderhouden:

Met uitzondering van de patchmassa die Debian heeft verzameld, de net-tools   pakket heeft geen upstream-ontwikkeling gezien na versie 1.60,   vrijgegeven ergens rond 15 april 2001.


38
2018-04-30 09:56



ifconfig werd door BSD op de dag zelf ontwikkeld. Linux gebruikte in essentie de IP-stack van BSD (zoals Windows en anderen van die tijd, waarom ipconfig is nog steeds vergelijkbaar met ifconfig). In de 2,4 Kernel Linux-start die zwaar van BSD's stack divergeerde, was dat begin 2001. Het is geen toeval dat ifconfig in Linux is sindsdien niet goed onderhouden. - Chris S
10 jaar!? Tijd om een ​​"save ifconfig" -project op GitHub te starten, denk ik. - kenchilada


ifconfig is al vele jaren verouderd, tijd om over te schakelen, vooral in een geval als het uwe.


19
2017-12-17 08:57



Ik hou ook van zijn cisco-esque opdrachtverkorting. "ip a" = "ip-adres weergeven" - Coops
meh. Er zijn genoeg scripts en andere gereedschappen rond die zijn gebouwd over ifconfig, dat ik niet de behoefte voel om te wisselen totdat het verdwijnt ... - Jason Antman
Ik heb nog nooit van gehoord ip. Ik heb het zojuist op een FreeBSD-server getest en het zegt ip: Command not found.. Kan zijn ifconfig is alleen gedeprecieerd op Linux. - ctype.h
@ ctype.h: inderdaad, het is alleen gedeprecieerd op Linux. ifconfig's release targeting linux dateert uit 1999. ip was al de aanbevolen keuze voor 2.4 kernels. - BatchyX


ip is de vervanging geweest voor ifconfig voor een tijdje, waarschijnlijk op een gegeven moment ifconfig wordt bijgewerkt, maar ik zou niet wachten en leren werken ip ook. Het wordt ondersteund op alle Linux-distributies


5
2017-12-17 08:57



ip is de vervanging geweest voor ifconfig op Linux, als een keuze gemaakt door een aantal distributeurs. - Kaz
het lijkt uiterst onwaarschijnlijk dat ifconfig volledig compatibel met linux zou kunnen worden gemaakt. commando's zoals ifconfig eth0 192.168.0.7/24 hebben geen duidelijke betekenis: bijv. als eth0 heeft al 2 ip-adressen erop staan ​​(twee erop, niet één een alias zoals eth0: 1). - Jasen