Devo smettere di usare Ifconfig?


171

Con i server che montano le schede Infiniband, quando utilizzo il ifconfigcomando, ricevo questo avviso:

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.

Dovrei smettere di usare ifconfig? È deprecato a favore del ipcomando? O sarà aggiornato nel prossimo futuro?

Nota: questa domanda e le risposte riguardano le "maggiori" distribuzioni di GNU / Linux . Non si deve presumere che le informazioni si applichino a tutte le distribuzioni, in particolare ad altri sistemi operativi.


23
Prima cambi, meglio è. Mi ci sono voluti mesi per sostituire la memoria muscolare di ifconfig. Rende ancora più divertenti le operazioni su Windows. " ip add-no, aspetta, non è così, ifcon-NO, argh ipconfig"
Charles

7
Forse un alias aiuterà: alias ipconfig='echo ipconfig is deprecated, use ip instead'. Ovviamente hai creato alias più sensati.
ott--

98
ifconfigè deprecato? Devo aver vissuto in una grotta
wim

26
Trovo curioso che un comando chiamato "ip" abbia la capacità di eseguire operazioni a livello di collegamento.
James O'Gorman,

12
È deprecato solo su alcuni sistemi operativi. Se usi cose al di fuori di Linux, credo che ifconfig sia ancora in uso. Non vedo questo avviso su FreeBSD, per esempio.
Stefan Lasiewski il

Risposte:


154

Citando il sito Web di Thomas Pircher ( cc-by-sa ):

ifconfig vs ip

Il comando /bin/ipè in circolazione da un po 'di tempo ormai. Ma le persone continuano a usare il comando precedente /sbin/ifconfig. Cerchiamo di essere chiari: ifconfignon scomparirà rapidamente, ma la sua versione più recente ip, è più potente e alla fine lo sostituirà.

La pagina man di all'inizio ippuò sembrare intimidatoria, ma una volta acquisita familiarità con la sintassi del comando, è una lettura facile. Questa pagina non introdurrà le nuove funzionalità di ip. Presenta piuttosto un confronto side-by-side se ifconfige ipper ottenere una rapida panoramica della sintassi del comando.

Mostra dispositivi e configurazione di rete

ifconfig

ip addr show
ip link show

Abilita un'interfaccia di rete

ifconfig eth0 up
ip link set eth0 up

Un'interfaccia di rete è disabilitata in modo simile:

ifconfig eth0 down
ip link set eth0 down

50
Interessante come in ogni caso d'uso il comando ip sia stato più lungo e più complesso. Probabilmente sarà la ragione principale per cui le persone usano ancoraifconfig
TheLQ

22
@TheLQ: ipoffre molte, molte più funzioni. Certo che è più complesso. Ad ogni modo, molti comandi possono essere abbreviati. ad es. ip addr showpuò essere abbreviato in ip a, ip link showin ip l, ip link set eth0 upin ip l set eth0 upe così via. Questo porta ipalla pari ifconfig.
BatchyX il

16
Ricorda, il mondo intero non è una macchina Linux. Solaris, AIX, HP-UX, tutti i BSD e SCO (non che a nessuno importa di loro ) tutti usano ifconfig. Se vuoi essere un amministratore unix (non solo un amministratore Linux ) devi assicurarti di avere almeno familiarità con ifconfig e la sua sintassi di base ...
voretaq7

9
Il tuo primo esempio risponde. Perché eseguire 2 comandi quando 1 lo fa?
ott--

6
@ott ip addr showinclude praticamente l'output di ip link show.
nyuszika7h,

40

Sì, ifconfigè deprecato a favore di iproute2 (il ipcomando) su Linux .

Analogamente, i arp, routee netstatcomandi sono anche obsoleti.

Tuttavia, iproute2 è specifico di Linux, quando alcuni altri Unix usano ifconfig, quindi potrebbe aiutare a sapere / ricordare come funziona se hai mai intenzione di usare un altro Unix ...

Per imparare il "nuovo modo", ti suggerisco di guardare quei 3 link:

Secondo l'ultimo collegamento, ifconfignon è stato mantenuto per +15 anni :

Ad eccezione della massa di patch accumulata da Debian, il pacchetto net-tools non ha visto alcuno sviluppo a monte dopo la versione 1.60, rilasciata circa il 15 aprile 2001.


9
ifconfigè stato sviluppato da BSD nel corso della giornata. Linux utilizzava essenzialmente lo stack IP di BSD (così come Windows e altri del tempo, perché ipconfigè ancora simile a ifconfig). Nel kernel 2.4 di Linux iniziando a divergere pesantemente dallo stack di BSD, quello era l'inizio del 2001. Non è un caso che da allora ifconfigLinux non sia stato ben mantenuto.
Chris S,

3
10 anni!? È ora di lanciare un progetto "save ifconfig" su GitHub.
Kenchilada,

20

ifconfig è deprecato da molti anni ormai, è tempo di cambiare, soprattutto in un caso come il tuo.


1
Mi piace anche l'accorciamento dei comandi in stile Cisco. "ip a" = "ip address show"
Coops

5
meh. Ci sono abbastanza script e altri strumenti intorno che sono costruiti su ifconfig, che non sento il bisogno di cambiare finché non scompare ...
Jason Antman,

10
Non ne ho mai sentito parlare ip. L'ho appena testato su un server FreeBSD e dice ip: Command not found.. Forse ifconfigè deprecato solo su Linux.
ctype.h,

2
@ ctype.h: In effetti, è solo deprecato su Linux. La versione di ifconfig destinata a Linux risale al 1999. ipera già la scelta consigliata per i kernel 2.4.
BatchyX il

5

ipè stato il sostituto per ifconfigun po ', probabilmente ad un certo punto ifconfigsi aggiornerà, tuttavia non lo aspetterei e imparerei anche a lavorare ip. È supportato su tutte le distribuzioni Linux


8
ip è stato il sostituto di ifconfig su Linux , come scelta fatta da alcune distro.
Kaz,

sembra estremamente improbabile che ifconfig possa essere reso pienamente compatibile con Linux. comandi come ifconfig eth0 192.168.0.7/24non hanno un significato chiaro: es. se eth0ha già 2 indirizzi IP su di esso (due su di esso, non uno alias come eth0: 1).
Jasen,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.