Как исправить ошибку "ifconfig: command not found" и перейти на iproute2

ifconfig — удобная сетевые утилита, которая показывает параметры сетевых интерфейсов машины. Ранее она шла предустановленной во многих дистрибутивах Linux, но пакет net-tools (включающий ifconfig) был объявлен устаревшим из‑за отсутствия поддержки и улучшений.
Из‑за этого при попытке вызвать ifconfig из терминала вы можете увидеть ошибку “ifconfig: command not found”. Если вы хотите продолжить пользоваться ifconfig на современном Linux-системе, его нужно установить вручную или пользоваться альтернативой.
Установка пакета net-tools в Linux
Если попытка установить ifconfig не удалась, это потому что ifconfig не устанавливается отдельно — он входит в пакет net-tools. Чтобы использовать ifconfig, сначала установите net-tools.
Откройте терминал и выполните команду, соответствующую вашему дистрибутиву:
На Debian/Ubuntu и производных:
sudo apt update
sudo apt install net-toolsНа Arch‑производных:
sudo pacman -Syu
sudo pacman -S net-toolsНа Fedora, CentOS (modern) и RHEL используйте dnf:
sudo dnf install net-toolsПосле установки пакет net-tools добавит бинарники, включая /sbin/ifconfig. В большинстве случаев это устраняет ошибку “ifconfig: command not found” — но бывают исключения.
Что делать, если ошибка сохраняется после установки net-tools
Установка пакета часто решает проблему. Если нет, причина обычно в том, что каталог с бинарниками (/sbin или /usr/sbin) не включён в PATH для вашей учётной записи или текущей сессии.
- Проверьте, существует ли бинарник:
[[ -f /sbin/ifconfig ]] && echo "ifconfig существует" || echo "ifconfig не найден в /sbin"Если команда выводит “ifconfig существует”, бинарник на месте. Если нет — переустановите пакет net-tools.
- Посмотрите текущий PATH:
echo $PATHИщите /sbin или /usr/sbin в выводе. Если их нет, можно временно добавить директорию в PATH для текущей сессии:
export PATH=$PATH:/sbin:/usr/sbinЗатем проверьте ifconfig снова. Для постоянного решения добавьте строку экспорта в ваш профиль: ~/.profile, ~/.bashrc, ~/.bash_profile или /etc/profile.d/custom-sbin.sh (требуются права root для системного файла). Пример для ~/.profile:
# в ~/.profile
export PATH="$PATH:/sbin:/usr/sbin"После изменения перезайдите в сессию (или выполните source ~/.profile).
Важно: иногда ifconfig доступен только суперпользователю, поэтому можно запускать прямо из полного пути или через sudo:
/sbin/ifconfig -a
sudo /sbin/ifconfigЕсли вы используете systemd‑нижний пользователь или оболочку, которая загружает другой профиль, проверьте соответствующий конфигурационный файл (например, ~/.bash_profile или ~/.zshrc).
Note: не используйте пробелы вокруг знака равенства в команде export (export PATH = …) — это синтаксическая ошибка.
Современная альтернатива: ip и пакет iproute2
Хотя ifconfig может быть привычен, рекомендуется перейти на современные инструменты из iproute2. Пакет iproute2 включает утилиты: ip, ss, tc, devlink и другие — они более поддерживаемы и функциональны.
Обычно ip уже установлен. Аналог ifconfig:
ip aПримеры полезных команд iproute2:
ip link show # показать все сетевые интерфейсы
ip addr show # показать адреса интерфейсов (аналог ifconfig)
ip route show # таблица маршрутизации
ip neigh # ARP/NDP (аналог arp -a)
ss -tulwn # показать слушающие сокеты (альтернатива netstat)Для справки используйте –help или man:
ip --help
man ipКраткий справочник: команды для работы с сетью (cheat sheet)
- Показать все интерфейсы и адреса:
ip aилиifconfig -a - Включить/выключить интерфейс:
sudo ip link set dev eth0 up/... down - Добавить IP-адрес:
sudo ip addr add 192.0.2.10/24 dev eth0 - Удалить IP-адрес:
sudo ip addr del 192.0.2.10/24 dev eth0 - Показать таблицу маршрутизации:
ip routeилиroute -n - Диагностика сокетов:
ss -tulwn - ARP:
ip neighилиarp -n
Когда стоит оставить ifconfig и когда переходить на ip
- Оставить ifconfig: когда у вас устаревшие скрипты или ПО, которое строго требует ifconfig и вы не можете быстро их обновить.
- Перейти на ip: для новых скриптов, автоматизации, сетевых конфигураций и когда нужен более точный контроль (ip поддерживает более сложные операции с маршрутами, метками, правилами).
Контрпример: если у вас корпоративный сервис, который завязан на вывод ifconfig — возможно, проще установить net-tools и оставить его, чем переписывать весь стек немедленно.
Практические рекомендации и модель принятия решения
Модель «минимум риска / постепенный переход»: сначала установите net-tools, исправьте PATH и убедитесь, что текущие сервисы работают. Параллельно начните перевод скриптов и playbook’ов на ip. Отключение legacy‑пакета выполняйте только после полного тестирования.
Контрольные списки по ролям
Администратор / DevOps:
- Установить net-tools, проверить /sbin/ifconfig
- Добавить /sbin в PATH глобально, если нужно
- Протестировать запуск сервисов и cron‑задач
- Начать миграцию скриптов на ip
Разработчик / Служба поддержки:
- Проверить, где в коде используется ifconfig
- Предложить патчи с ip (или временно вызывать /sbin/ifconfig)
- Описать поведение в тикете и согласовать с админом
Обычный пользователь:
- Использовать
ip aдля просмотра адресов - Попросить админа установить net-tools, если приложение требует ifconfig
Мини‑методология миграции (пошагово)
- Оцените зависимые сервисы (скрипты, monitoring, custom‑tools).
- Установите net-tools и проверьте, что ifconfig работает.
- Планово переводите скрипты на ip, добавляя тесты для вывода команд.
- Проведите нагрузочное тестирование и мониторинг после миграции.
- Удалите net-tools только после подтверждения отсутствия зависимостей.
Критерии приёмки
ip aи/илиifconfigкорректно показывают интерфейсы и адреса- Средства мониторинга не теряют метрик
- Скрипты, которые были переписаны, проходят тесты
- Пользователи не жалуются на регрессии
Глоссарий (1‑строчники)
- ifconfig — устаревшая утилита для просмотра/настройки сетевых интерфейсов.
- net-tools — набор утилит, включающий ifconfig, объявлен устаревшим.
- iproute2 — современный набор сетевых утилит (ip, ss, tc и др.).
- PATH — системная переменная окружения, определяющая, где оболочка ищет исполняемые файлы.
Риски и меры смягчения
- Риск: старые скрипты перестанут работать при удалении net-tools. Митигирование: поэтапная миграция и поддержка обратной совместимости.
- Риск: /sbin не в PATH, что приведёт к «command not found» для системных утилит. Митигирование: добавить /sbin в соответствующие файлы профиля.
Итог
ifconfig по‑прежнему доступен через пакет net-tools, но пакет устарел. Лучший путь — временно установить net-tools, если это необходимо, и постепенно переписать ваши скрипты и процедуры на утилиты из iproute2 (ip, ss и др.). Если команда не видна после установки, проверьте наличие бинарника в /sbin и поправьте PATH или запускайте утилиту по полному пути.
Важное: всегда тестируйте изменения в контролируемой среде и имейте план отката.
Похожие материалы
Подготовка к техническому собеседованию разработчика
Запуск мастера устранения неполадок в Windows
Как создать мем: полное руководство
Как устранить BSOD 0x0000003B в Windows
Clone Stamp в Photoshop — подробное руководство