Команда Debian ifconfig не найдена
Обновлено: 21.11.2024
Пользователям Windows знакома команда ipconfig , используемая для получения информации о конфигурации сетевого интерфейса и ее изменения. В Linux есть аналогичный инструмент, который называется ifconfig (расшифровывается как настройка интерфейсов).
Обычно требуется войти в систему как пользователь root или использовать sudo, чтобы иметь возможность использовать ifconfig на компьютере с Linux.
Не только для получения информации, ifconfig также можно использовать для изменения/настройки сетевых интерфейсов. Эта программа является важной частью многих операционных систем, поскольку она используется в сценариях запуска системы.
В новых версиях Linux при попытке вызвать ifconfig из командной строки может появиться всплывающее сообщение об ошибке ifconfig: команда не найдена или -bash: ifconfig: команда не найдена. Эта статья поможет вам понять, почему возникает ошибка и что можно сделать, чтобы ее исправить.
Почему происходит команда ifconfig не найдена?
В основном ошибка означает, что в системе не найдена такая команда с именем "ifconfig". С 2009 года планировалось отказаться от сетевых инструментов, частью которых является конфигурация, из-за отсутствия обслуживания. Но из соображений совместимости до недавнего времени он оставался частью стандартных библиотек.
Начиная с Debian Stretch и Ubuntu 18.04 и его производных, таких как Kali Linux, elementaryOS, net-tools вместе с ifconfig были заменены на iproute2util em>, который по умолчанию использует команду ip. Вы также обнаружите, что ifconfig отсутствует по умолчанию в CentOS 7 и Fedora 18.
Как исправить команда ifconfig не найдена в Ubuntu/Debian
Откройте терминал и введите следующую команду, чтобы установить пакет net-tools и прилагаемый к нему ifconfig.
Переключатель -y означает, что apt автоматически примет любое всплывающее приглашение.
После завершения установки вы сможете использовать ifconfig в обычном режиме.
Как исправить команда ifconfig не найдена в CentOS
Подобно дистрибутиву Ubuntu/Debian, вам необходимо установить net-tools, введя в терминале приведенную ниже команду.
Если yum не может найти net-tools, возможно, включенные вами репозитории не содержат пакет net-tools. Вам необходимо включить все глобальные репозитории CentOS.
Даже при наличии в вашей системе net-tools, в некоторых случаях проблема все еще существует. Вам необходимо вручную проверить, включен ли путь для двоичного файла ifconfig в системную переменную PATH.
Сначала необходимо проверить, существует ли /sbin/ifconfig. Вы можете ввести путь непосредственно в окно терминала или использовать эту команду:
Как только вы увидите, что двоичный файл ifconfig существует!, введите эту команду в терминал, чтобы увидеть текущую переменную PATH
Затем проверьте вывод. Если в выводе нет /sbin, вам нужно вручную добавить путь к системной переменной PATH, используя следующую команду
Перезагрузите компьютер, после чего вы сможете нормально использовать ifconfig.
Команда ifconfig Используется в операционных системах Linux для настройки сети или просмотра информации о ней. Он также присутствовал в дистрибутиве Debian 9, но позже было решено заменить этот инструмент другими, более подходящими для этой процедуры утилитами. Однако теперь ничто не мешает вам повторно ввести эту команду в вашей системе и продолжить ее использовать, вам просто нужно выполнить обычную установку этого компонента.
Оглавление
Устранение ошибки «ifconfig: команда не найдена»
Если при попытке активировать команду в "Терминале". возникает ошибка "Ifconfig: команда не найдена", это означает, что программное обеспечение, отвечающее за эту команду, не в системе. Сегодня мы хотим показать не только способ решения этой проблемы, но и рассказать о более новой альтернативе, заменяющей ifconfig. Начнем с пошагового описания первого метода.
Способ 1. Добавьте утилиту ifconfig
Те пользователи, которые привыкли использовать именно эту команду, найдут этот метод оптимальным. Инструмент ifconfig никуда не убрался, просто его нет в стандартном наборе системы, и вы можете добавить его, следуя этим инструкциям:
- Прежде всего, мы рекомендуем еще раз убедиться, что ifconfig недоступен. Запустите классический терминал по своему усмотрению.
- Назначьте постоянные права суперпользователя, введя su - .
- Введите пароль для корневого доступа и дождитесь появления новой строки ввода.
К настоящему времени вы знакомы с методом возврата старой стандартной утилиты в операционную систему Debian 9. Однако вы должны знать, что он был заменен более удобным инструментом, поэтому имеет смысл понять, как с ним обращаться и поддерживать свои старые. привычки.
Способ 2. Используйте команду ip
Существует ряд причин, по которым команда ifconfig была заменена на ip в стандартном ядре операционной системы Linux. Во-первых, он не позволял настраивать систему управления трафиком, некорректно работал с некоторыми устройствами, не показывал свой аппаратный адрес и не позволял генерировать сетевые устройства TUN/TAP. Все эти недостатки были исправлены и улучшены, но уже внедрены в функционал ip. Например, вы можете просмотреть основную информацию об интерфейсе, введя ip a .
Выдача в "Терминале". после активации предыдущей команды, она будет соответствовать той, что была бы показана в ifconfig, но с некоторыми дополнительными данными. Дополнительная информация по IPv4 получается через ip -4 a и по IPv6. ип -6 а . Также возможно получить данные по конкретному интерфейсу, введя ip show wlan0 и список работающих интерфейсов отобразится после ip link ls up .
Одной из основных задач при настройке сети всегда была процедура назначения определенного локального адреса определенному интерфейсу. При использовании старой утилиты вводная строка выглядела так: ifconfig eth0 192.168.1.101 Но с новой пользователю нужно было ввести i p a add 192.168.1.101/255.255.255.0 dev eth0, обязательно указав маску подсети. Обратите также внимание на возможное сокращение для ip a add 192.168.1.101/24 dev eth0 .
Если больше нет необходимости сопоставлять интерфейс с IP-адресом, эту строку довольно легко удалить. Все, что вам нужно сделать, это указать ip a del 192.168.1.101/24 eth0 и если вам нужно очистить весь список отношений, то лучше использовать ip -s -s a f to 192.168.1.0/24.
Команда ip также определяет управление таблицей маршрутизации. Таблица маршрутизации — это список сетевых маршрутов, предназначенный для определения наилучшего маршрута для передачи сетевого пакета. Вы можете увидеть все доступные таблицы с помощью следующей строки ip r .
В ситуациях, когда вам нужно перенаправить трафик вручную, лучше использовать команду ip с определенными аргументами. Тогда строка будет иметь вид, например ip route add 192.168.5.0/24 dev eth0 . Установленный путь также можно легко удалить с помощью ip route del 192.168.5.0/24 dev eth0 .
Благодаря двум предыдущим методам, теперь вы знаете, как можно не только восстановить оборудование ifconfig на ОС Debian 9, но и что является достойной альтернативой этой устаревшей утилите. Решение использовать новый инструмент или вернуться к старому остается за вами.
Мы рады, что смогли помочь вам с вашей проблемой.
Опишите, что вам не помогло.
Наши специалисты постараются ответить как можно быстрее.
В этой статье мы рассмотрим, как добавить отсутствующую команду ifconfig в Debian. Все это мы будем запускать на Debian версии 11, «яблочко». Эта версия Debian поставляется с новым пакетом ipp-usb, рекомендованным cups-daemon, и использует независимый от поставщиков протокол IPP-over-USB, усиленный несколькими современными принтерами. Это, в свою очередь, позволяет рассматривать USB-устройство как сетевое, расширяя бездрайверную печать на принтеры, подключенные через USB.
Команда ifconfig (настройка интерфейса) — жизненно важная утилита для настройки резидентных сетевых интерфейсов ядра. Он используется для инициализации интерфейсов по мере необходимости во время загрузки. С другой стороны, он также используется при отладке или настройке системы. Кроме того, эта команда используется для назначения IP-адреса и сетевой маски интерфейсу, а также для включения или отключения данного интерфейса. Команда доступна в пакете net-tools.
Отсутствует ifconfig в Debian
Некоторые из вас могли столкнуться с ошибкой при выполнении команды ifconfig. В основном это происходит при попытке аутентификации IP-адреса вашего сетевого интерфейса (ов). Предупреждение об ошибке указывает, что «команда ifconfig не найдена». как показано на следующем снимке:
ifconfig не найден
Так что же происходит дальше?
Начиная с Debian 9 (stretch) команда ifconfig устарела, и из-за этого вы получаете сообщение об ошибке, как показано на снимке выше, об отсутствующей команде ifconfig. Обходной путь для этой проблемы — команда ip addr, которая более или менее выполняет почти те же задачи, что и команда ifconfig, как показано на снимке ниже.
команда IP-адреса
На приведенном выше снимке экрана команда продолжает отображать IP-адрес и другие статистические данные всех ваших сетевых интерфейсов, что почти то же самое, что вы искали.
Но если вы по-прежнему настойчиво используете команду ifconfig, для этого вам потребуется установить пакет сетевых инструментов. Пакет net-tools — это каталог, содержащий набор программ, составляющих основу работы в сети Linux.
Этот пакет включает в себя hostname(1), iptunnel, mii-tool(8), nameif(8), arp(8), ifconfig(8), ipmaddr, netstat(8), rarp(8), route(8 ) и слаттах (8). Однако некоторые из этих инструментов уже устарели. Взгляните на следующую оценочную таблицу текущих программ/команд по сравнению с устаревшими командами.
Программы | Устарело |
---|---|
mii-tool | ethtool |
route | ip route |
nameif | ifrename |
ipmaddr | ip maddr |
iptunnel | ip туннель< /td> |
arp | ip-адрес |
ifconfig | ip-адрес |
Исправить отсутствующую команду ifconfig в Debian
Чтобы противостоять этой ошибке, мы установим пакет net-tools, выполнив следующую команду:
Флаг «–y» в команде помогает команде продолжить установку, не запрашивая у вас подтверждения вашего решения о том, продолжать установку или нет.
Приведенная выше команда запускает установку пакетов net-tools вместе с другими программными зависимостями, как показано на снимке ниже:
установить сетевые инструменты
После успешного завершения установки попробуйте еще раз запустить команду ifconfig, чтобы убедиться, что она прошла успешно. На этот раз ваша сетевая статистика должна отображаться на терминале.
Команда по-прежнему не найдена.
После повторного запуска команды вы должны увидеть сетевую статистику. Однако в некоторых случаях вы заметите, что ошибка сохраняется, как в нашем случае. Тогда как нам спастись от этого несчастья? Это легко, друзья; вы должны заметить, что обычный пользователь, которого мы вводим в команду, не имеет каталога /sbin в своем пути. Путь /sbin — это полный путь ifconfig. Короче говоря, нам нужно вызвать ifconfig, используя его полный путь; в противном случае команда ifconfig сама по себе не будет работать для тех, у кого возникла ошибка.
Давайте введем полный путь ifconfig, а затем команду, и она должна работать. Взгляните на этот снимок:
ifconfig работает нормально
Заключение
Это краткое руководство о том, как исправить отсутствующую ошибку команды ifconfig в Debian 11 (Bullseye). Мы надеемся, что приведенных шагов было достаточно, чтобы вы смогли обойти эту ошибку. Помимо команды ifconfig, вы также можете использовать ip-адрес, который мы рассмотрели ранее, чтобы получить статистику вашего сетевого интерфейса.
Нормальный ли мой путь? Если нет, то как я могу это изменить?
Кроме того, у меня пока нет подключения к Интернету на виртуальной машине, возможно, это фактор.
@Ramesh Нет необходимости в sudo : /sbin/ifconfig достаточно, если вы хотите увидеть настройки. Вам нужно только sudo, если вы хотите изменить настройки (и тогда достаточно sudo ifconfig).
@SHW То, что автор инструмента ip решил, что ifconfig устарел, не означает, что остальной мир должен прекратить его использовать.
3 ответа 3
TL/DR: ifconfig теперь имеет ip a . Попробуйте ip -s -c -h a .
Ваш путь выглядит нормально, но не включает /sbin , что может быть задумано.
Возможно, вы искали команду /sbin/ifconfig .
Если этот файл не существует (попробуйте ls /sbin/ifconfig ), возможно, команда просто не установлена.
Это часть пакета net-tools , который не устанавливается по умолчанию, поскольку он устарел и заменен командой ip из пакета iproute2 .
Функция ifconfig без опций заменена на ip с указанием адреса объекта .
эквивалентно
и, поскольку аргумент object может быть сокращен, а команда по умолчанию показывает , также
Формат вывода несколько отличается:
Обратите внимание, что вывод более лаконичен: он не показывает количество пакетов, обработанных обычным или другим способом.
Для этого добавьте опцию -s ( -stats , -statistics ):
Но на самом деле вы хотите увидеть следующее:
Он показывает число с такими суффиксами, как 26,1 млн или 79,3 тысяч, и выделяет цветом некоторые релевантные термины и адреса.
Если вы считаете, что команда слишком длинная, используйте короткие параметры:
Это эквивалентно:
Устарело, потому что это ifconfig? Им не нравится имя? (да, я понимаю суть функциональности, но это не повод просто удалять команду) Почему они просто не сохраняют команду для совместимости со скриптами на серверах, например, создавая псевдоним? Linux начинает терять смысл. и еще хрень там делается с линуксом, как systemd может быть полезен в простом unix-подобном сервере? лучше перейти на freebsd, пока не поздно? Например, сегодня практически невозможно простым способом изменить ip некоторых дистрибутивов без перезагрузки в текстовом режиме!
(проверено) Минимальная установка CENTOS 7 по умолчанию не устанавливает сетевые инструменты.
(проверено) команда ifconfig станет доступна при установке пакета сетевых инструментов
-Как установить net-tools через yum для не очень знатоков Linux.
1) иметь привилегированную оболочку root или быть в списке sudo.
2b) Учетная запись пользователя в списке sudo
Если пакет установлен, он сообщит об этом и завершит работу yum. (Тогда это звучит как проблема пути). Если он не установлен, yum предложит пользователю продолжить после нескольких локальных/сетевых проверок пакетов. Установка займет (должна) немного времени. Теперь ifconfig установлен.
Если вы чувствуете себя предприимчивым. Эквивалент использования ifconfig при отображении информации об интерфейсе / адресе с использованием ip
Поскольку все остальные уже дали ответ на поиск ifconfig или доступных альтернатив, я дам несколько общих советов о том, как выйти из этой ситуации, потому что это не первый и не последний раз, когда вам нужно получить команду. /package/utility в своей системе (по сути я учу человека ловить рыбу :). Инструкции предназначены для RHEL/CentOS.
Сценарий 1. Если эта команда уже существует в другой системе:
-
который ifconfig rpm -qf /usr/sbin/ifconfig sudo yum install net-tools yum whatprovides ifconfig . Это сообщит вам имя пакета, содержащего команду, и, если он уже существует в вашей системе, путь к команде. Если пакет не существует, вам просто нужно запустить sudo yum install, чтобы установить его, и вы должны быть в пути.
Это общие инструкции по поиску и установке любого пакета. Я не буду вдаваться в подробности о репозиториях/других дистрибутивах и прочем, чтобы вы могли приступить к работе.
Читайте также: