Gdy korzystam z ifconfig
polecenia na serwerach, na których montuje się karty Infiniband, pojawia się następujące ostrzeżenie:
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.
Czy powinienem rzucić używanie ifconfig
? Czy jest to przestarzałe na korzyść ip
polecenia? Czy będzie aktualizowany w najbliższej przyszłości?
Uwaga: To pytanie i odpowiedzi dotyczą „głównych” dystrybucji GNU / Linux . Nie należy zakładać, że informacje dotyczą wszystkich dystrybucji, a zwłaszcza innych systemów operacyjnych.
ifconfig
. To sprawia, że operacje w systemie Windows są jeszcze przyjemniejsze. „ip add
-nie, czekaj, to nie to,ifcon
-NO, arghipconfig
”alias ipconfig='echo ipconfig is deprecated, use ip instead'
. Oczywiście tworzysz bardziej sensowne aliasy.ifconfig
jest przestarzałe? Musiałem mieszkać w jaskiniOdpowiedzi:
Cytując stronę internetową Thomasa Pirchera ( cc-by-sa ):
ifconfig vs ip
Komenda
/bin/ip
istnieje już od jakiegoś czasu. Ale ludzie nadal używają starszego polecenia/sbin/ifconfig
. Wyjaśnijmy:ifconfig
nie odejdzie szybko, ale jego nowsza wersjaip
jest mocniejsza i ostatecznie ją zastąpi.Strona
ip
podręcznika man może początkowo wydawać się onieśmielająca, ale po zapoznaniu się ze składnią polecenia jest łatwa do odczytania. Ta strona nie wprowadza nowych funkcji ip. To raczej dysponuje porównania side-by-side, jeśliifconfig
iip
uzyskać szybki przegląd składni poleceń.Pokaż urządzenia sieciowe i konfigurację
Włącz interfejs sieciowy
Interfejs sieciowy jest wyłączany w podobny sposób:
źródło
ifconfig
ip
zapewnia znacznie więcej funkcji. Oczywiście jest to bardziej złożone. W każdym razie wiele poleceń można skrócić. na przykładip addr show
może być skrócony doip a
,ip link show
doip l
,ip link set eth0 up
doip l set eth0 up
i tak dalej. To równaip
się zifconfig
.ifconfig
. Jeśli chcesz być administratorem systemu Unix (nie tylko administratorem Linuksa ), powinieneś upewnić się, że znasz przynajmniej ifconfig i jego podstawową składnię ...ip addr show
prawie zawiera dane wyjścioweip link show
.Tak,
ifconfig
jest przestarzałe na rzecz iproute2 (ip
polecenie) w systemie Linux .Podobnie
arp
,route
inetstat
polecenia są zalecane.Jednak iproute2 jest specyficzny dla Linuksa, gdy korzysta z niego kilka innych Uniksów
ifconfig
, więc może pomóc wiedzieć / pamiętać, jak to działa, jeśli kiedykolwiek będziesz używać innego Uniksa ...Aby poznać „nowy sposób”, proponuję spojrzeć na te 3 linki:
ip
kiedy to robi ).Według ostatniego linku
ifconfig
nie był utrzymywany przez +15 lat :źródło
ifconfig
został opracowany przez BSD w tamtych czasach. Linux zasadniczo używał stosu IP BSD (podobnie jak Windows i inni, dlaczegoipconfig
wciąż jest podobnyifconfig
). W jądrze Linuksa 2.4 zaczynającym się znacznie odbiegać od stosu BSD, był to początek 2001 roku. Nie jest tak, żeifconfig
w Linuksie od tego czasu nie było dobrze utrzymywane.ifconfig
od wielu lat jest przestarzały, czas na zmianę, szczególnie w przypadku takim jak twój.źródło
ip
. Właśnie przetestowałem to na serwerze FreeBSD i tak mówiip: Command not found.
. Być możeifconfig
jest przestarzałe tylko w systemie Linux.ip
Był już zalecanym wyborem dla jąder 2.4.ip
od jakiegoś czasu jest zamiennikiemifconfig
, prawdopodobnie w pewnym momencieifconfig
się zaktualizuje, ale nie czekałbym na to i nauczyłbym się z nim pracowaćip
. Obsługiwany jest we wszystkich dystrybucjach Linuksaźródło
ifconfig eth0 192.168.0.7/24
nie mają jasnego znaczenia: np. jeślieth0
ma już 2 adresy IP (dwa na nim, nie jeden alias jak eth0: 1).