Вопрос: Должен ли я отказаться от использования Ifconfig?


С серверами, которые устанавливают карты Infiniband, когда я использую ifconfig команда, я получаю это предупреждение:

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.

Должен ли я отказаться от использования ifconfig? Устарела ли она в пользу ip команда? Или это будет обновлено в ближайшем будущем?

Заметка: Этот вопрос и ответы касаются GNU / Linux в «основные» распределения. Не следует полагать, что информация распространяется на все дистрибутивы, и особенно на другие ОС.


149
2017-12-17 08:52


Источник


Чем скорее вы переключитесь, тем лучше. Мне потребовалось месяцы для замены мышечной памяти ifconfig, Тем не менее, это делает операции с Windows еще более увлекательными. "ip add-Не, подождите, это не так, ifcon-NO, argh ipconfig" - Charles
Возможно, псевдоним поможет: alias ipconfig='echo ipconfig is deprecated, use ip instead', Конечно, вы настраиваете более точные псевдонимы. - ott--
ifconfig не рекомендуется? Я, должно быть, жил в пещере - wim
Мне любопытно, что команда под названием «ip» имеет возможность выполнять операции на уровне ссылки. - James O'Gorman
В некоторых операционных системах он устарел. Если вы используете материал вне Linux, я считаю, что ifconfig все еще используется. Например, я не вижу такого предупреждения о FreeBSD. - Stefan Lasiewski


Ответы:


квотирование Томас Пирхерсайт (CC-BY-SA): 

ifconfig vs ip

Команда /bin/ip существует уже некоторое время. Но люди продолжают использовать старшую команду /sbin/ifconfig, Поясним: ifconfig не будет быстро уходить, но его новая версия, ip, является более мощным и в конечном итоге заменит его.

Страница руководства ip может выглядеть запуганным сначала, но как только вы познакомитесь с синтаксисом команды, это легко прочитать. Эта страница не представит новые функции ip. Это скорее имеет бок о бок сравнение, если ifconfig а также ip чтобы получить краткий обзор синтаксиса команды.

Показать сетевые устройства и конфигурацию 

ifconfig

ip addr show
ip link show

Включить сетевой интерфейс

ifconfig eth0 up
ip link set eth0 up

Сетевой интерфейс отключается аналогичным образом:

ifconfig eth0 down
ip link set eth0 down

141
2017-12-17 09:48



Интересно, как в каждом используемом вами случае вы указали, что команда ip больше и сложнее. Вероятно, это будет главная причина, по которой люди все еще используют ifconfig - TheLQ
@TheLQ: ip обеспечивает гораздо больше возможностей. Конечно, это сложнее. Во всяком случае, многие команды могут быть сокращены. например ip addr show можно сократить до ip a, ip link show в ip l, ip link set eth0 up в ip l set eth0 up и так далее. Это приносит ip на одном уровне с ifconfig, - BatchyX
Просто помните, что весь мир не является машиной Linux. Solaris, AIX, HP-UX, все BSD и SCO (не то, чтобы кто-то заботился о их) все используют ifconfig, Если вы хотите быть Юникс admin (а ​​не только Linux admin), вы должны убедиться, что вы, по крайней мере, знакомы с ifconfig и его базовым синтаксисом ... - voretaq7
Ваш первый пример отвечает на него. Зачем запускать 2 команды, когда 1 делает это? - ott--
@ott ip addr show в значительной степени включает вывод ip link show, - nyuszika7h


Да, ifconfig устарел в пользу iproute2 ( ip команда) на Linux,

Аналогичным образом, arp, route а также netstat Команды также устарели.

Однако iproute2 является специфичным для Linux, когда некоторые другие Unix используют ifconfig, так что это может помочь узнать / запомнить, как это работает, если вы когда-нибудь собираетесь использовать другой Unix ...

Чтобы узнать «новый способ», я предлагаю вам взглянуть на эти 3 ссылки:

Согласно последнему сообщению, ifconfig не поддерживается в течение +15 лет:

За исключением массива патча, накопленного Debian, сетевые инструменты   пакет не видел ни одного восходящего развития после версии 1.60,   выпущен примерно 15 апреля 2001 года.


37
2018-04-30 09:56



ifconfig был разработан BSD еще в тот же день. Linux по существу использовал стек IP-сетей BSD (как и Windows и другие в то время, почему ipconfig по-прежнему схож с ifconfig). В 2.4 ядрах Linux, начиная с большого стека из стека BSD, это было в начале 2001 года. Не случайно, ifconfig в Linux с тех пор не поддерживается. - Chris S
10 лет!? Полагаю, что время для запуска проекта «save ifconfig» на GitHub. - kenchilada


ifconfig устарел много лет, время для переключения, особенно в таком случае, как ваш.


19
2017-12-17 08:57



Мне также нравится сокращение команды cisco-esque. "ip a" = "ip address show" - Coops
Мех. Там достаточно скриптов и других инструментов, которые построены поверх ifconfig, что я не чувствую необходимости переключаться, пока он не исчезнет ... - Jason Antman
Я никогда не слышал о ip, Я просто протестировал его на сервере FreeBSD, и он говорит: ip: Command not found., Может быть ifconfig только устарел на Linux. - ctype.h
@ ctype.h: Действительно, он только устарел на linux. Исходный листинг linux ifconfig относится к 1999 году. ip был уже рекомендованным выбором для ядер 2,4. - BatchyX


ip была заменой для ifconfig на некоторое время, возможно, в какой-то момент ifconfig будет обновляться, однако я бы не стал дожидаться этого и научиться работать с ip также. Поддерживается на всех дистрибутивах linux


5
2017-12-17 08:57



ip был заменой ifconfig на Linux, как выбор, сделанный некоторыми дистрибутивами. - Kaz
кажется крайне маловероятным, что ifconfig может быть полностью совместим с linux. команды вроде ifconfig eth0 192.168.0.7/24 не имеют четкого значения: например. если eth0 уже имеет 2 ip-адреса на нем (два на нем, а не один псевдоним вроде eth0: 1). - Jasen