- Исправление ошибки «ifconfig: команда не найдена» в Debian 9
- Исправляем ошибку «ifconfig: команда не найдена»
- Способ 1: Добавление утилиты ifconfig
- Способ 2: Использование команды ip
- Команда ifconfig — синтаксис и примеры
- Установка
- Синтаксис
- Примеры
- ⏭ Как установить недостающую команду ifconfig в Debian
- Исправление отсутствующей команды ifconfig в Debian
- Заключительные мысли
- Решение проблемы «bash: ifconfig: команда не найдена»
- Вместо net-tools теперь iproute2, а вместо ifconfig теперь ip a
- Почему заменили ifconfig
- Примеры использования ip. Аналоги ip для ifconfig
- Сбор информации
- Изменение интерфейса
- Управление таблицей маршрутизации
- ARP протокол
- Связанные статьи:
- Рекомендуемые статьи:
- 11 Комментарии
Исправление ошибки «ifconfig: команда не найдена» в Debian 9
Команда ifconfig используется в операционных системах на Linux для настройки сети или просмотра информации о ней. В дистрибутиве Debian 9 она тоже раньше присутствовала, однако позже было принято решение заменить этот инструмент другими, более подходящими для этой процедуры утилитами. Впрочем, сейчас ничто не мешает вам вернуть эту команду в систему и продолжать использовать ее, нужно лишь провести процедуру обычной инсталляции этого компонента.
Исправляем ошибку «ifconfig: команда не найдена»
Если при попытке активировать команду в «Терминале» вы сталкиваетесь с ошибкой «ifconfig: команда не найдена», значит программное обеспечение, отвечающее за эту команду, отсутствует в системе. Сегодня мы бы хотели показать не только метод исправления этой неполадки, но и рассказать о более новом альтернативном варианте, заменяющим ifconfig. Давайте начнем с пошагового разбора первого способа.
Способ 1: Добавление утилиты ifconfig
Тем пользователям, которые привыкли задействовать именно эту команду, данный способ покажется оптимальным. Инструмент ifconfig не был удален вовсе, он просто отсутствует в стандартном наборе приложений системы, а добавить его можно, выполнив следующие инструкции:
- Для начала рекомендуем еще раз убедиться в том, что ifconfig недоступна. Запустите классический терминал любым удобным вариантом.
Присвойте постоянные права суперпользователя, написав su — .
Укажите пароль от рут-доступа и ожидайте появления новой строки ввода.
Если по-прежнему появляется уведомление об отсутствии команды в системе, установите набор компонентов net-tools, введя apt install net-tools .
Ожидайте завершения добавления и настройки новых библиотек.
По завершении инсталляции еще раз выполните ifconfig , чтобы убедиться в успешности операции.
Теперь вы знакомы с методом возвращения ранее стандартной утилиты в операционную систему Debian 9. Однако стоит понимать, что ей на замену пришел более удобный инструмент, из-за чего есть смысл разобраться в управлении с ним и оставить старые привычки.
Способ 2: Использование команды ip
Существует ряд причин, по которым команда ifconfig была заменена на ip в стандартной комплектации ОС на ядре Linux. Во-первых, она не разрешала настраивать систему контроля трафика, некорректно работала с некоторыми устройствами, не отображала их аппаратный адрес и не позволяла генерировать сетевые устройства TUN/TAP. Все эти недочеты были исправлены и доработаны, но уже внесены в функциональность ip. Например, просмотреть основную информацию по интерфейсу можно, введя ip a .
Выдача в «Терминале» после активации указанной выше команды будет соответствовать той, которая была бы показана при ifconfig , но с некоторыми дополнительными данными. Дополнительные сведения по протоколу IPv4 получаются через ip -4 a , а по IPv6 — ip -6 a . Еще присутствует возможность получить данные по конкретному интерфейсу, для этого вводится ip a 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, но и какая есть достойная альтернатива этой устаревшей утилите. Использовать ли новый инструмент или вернуться к старому — решать только вам.
Помимо этой статьи, на сайте еще 12315 инструкций.
Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Источник
Команда ifconfig — синтаксис и примеры
Для обмена данными между хостами от одного компьютера к другому используется технология, которая называется ethernet. Чтобы обмен данными стал возможен, как минимум необходимо настроить сеть между двумя устройствами.
В операционных системах linux для настройки сети есть сетевая утилита ifconfig, она позволяет смотреть сетевые настройки, а также изменять их, делать свою конфигурацию, назначать IP, шлюз, маску подсети и даже мак-адрес.
Установка
Сейчас все больше дистрибутивов linux отказываются от установки утилиты ifconfig по умолчанию. Поэтому чтобы ее использовать нужно предварительно установить. Это связано с тем что вышла более новая команда «ip» и ifconfig считается устаревшей утилитой, однако пользователи линукс уже привыкли использовать ее и выучили некоторые параметры этой команды.
Чтобы определить установлена ли сетевая утилита достаточно ввести ее название без аргументов.
Утилита не установлена, если оболочка командной строки выдаст одно из сообщений:
- команда не найдена;
- command not found;
- not found.
Сама утилита входит в пакет «net-tools», поэтому устанавливать нужно этот пакет.
ВАЖНО! Не надо писать apt «install ifconfig» программа не установится.
Установка на Centos:
yum install net-tools
На Ubuntu:
apt install net-tools
apt install net-tools
Синтаксис
ifconfig ключи interface параметры команда
- -a. Показать все интерфейсы, включая отключенные.
- -s. Краткий список interface.
- up — включить интерфейс.
- down — выключить интерфейс.
- hw — установить мак-адрес.
- netmask — назначить маску подсети.
- broadcast — установить широковещательный адрес
- del — удалить ip-адрес.
- mtu — назначить максимальный размер передаваемого пакета. Для Ethernet по умолчанию 1500.
- arp — включить протокол arp. По умолчанию включен.
- -arp — отключить arp.
- irq — назначить номер прерывания.
Под интерфейсом понимается его название. Например eth0, eth1, eth2, eth3.
Примеры
Запустим команду без параметров.
Как видно на скриншоте выше команда без ключей покажет информацию о всех включенных интерфейсах.
- Eth0 и l0 — название интерфейса.
- RX- cчетчик приема пакетов.
- TX — счетчик передачи пакетов.
- inet addr — IP-адрес четветой версии.
- inet6 addr — IP-адрес версии шесть.
- Bcast — широковещательный адрес.
- UP BROADCAST RUNNING MULTICAST — означает, что интерфейс включен.
- Mask — маска подсети.
- collisions:0 — коллизия.
- txqueuelen:1000 — длина очереди.
Выключим interface lo.
ifconfig lo down
Чтобы включить обратно lo выполним:
Вывести информация о всех интерфейсах, включая отключенные, поможет ключ -a:
Покажем конфигурацию только интерфейса eth0.
Чтобы назначить сетевому адаптеру IP-адрес 192.168.20.2, необходимо написать название команды, interface и сам IP.
Источник
⏭ Как установить недостающую команду ifconfig в Debian
Debian 10 (кодовое название Debian Buster) наконец-то явился миру с удивительными классными функциями и новой темой оформления.
Однако вы, возможно, столкнулись с ошибкой при попытке проверить IP-адрес вашего сетевого интерфейса (ов) при выполнении команды ifconfig, что указывает на то, что «команда ifconfig не найдена».
В Debian 10 (начиная с Debian 9) команда ifconfig устарела.
Вот почему вы получаете сообщение об отсутствующей команде ifconfig.
Обходным путем к этому препятствию является ip addr, который в значительной степени выполняет ту же задачу, что и команда ifconfig, как показано во фрагменте ниже.
Как видно из приведенного выше фрагмента, команда все равно будет отображать IP-адрес и другую статистику всех ваших сетевых интерфейсов.
Если вы все еще настаиваете на использовании старой доброй команды ifconfig, вам необходимо установить пакет net tools.
Пакет net-tools представляет собой инструментарий, который содержит спектр программ, которые составляют основу сетей Linux.
Он включают в себя следующее:
Исправление отсутствующей команды ifconfig в Debian
Чтобы исправить вышеуказанную ошибку, установите пакет net-tools, как показано далее:
Это запускает установку пакетов net-tools вместе с другими программными зависимостями, как показано далее:
После того, как установка завершится и будет успешной, попробуйте снова запустить команду ifconfig, и на этот раз ваша сетевая статистика будет отображаться на терминале, как показано в последнем разделе фрагмента выше.
Заключительные мысли
Это краткое руководство о том, как можно исправить ошибку команды ifconfig в Debian 10.
Мы надеемся, что теперь у вас есть достаточно знаний, необходимых для обхода этой ошибки.
Кроме того, вы можете использовать команду ip addr, чтобы получить статистику интерфейсов без особых хлопот.
Если у вас есть какие-либо вопросы по этой теме, не стесняйтесь оставлять нам комментарии.
Спасибо за ваше время и не забудьте поделиться этим руководством в своих социальных сетях.
Источник
Решение проблемы «bash: ifconfig: команда не найдена»
Вместо net-tools теперь iproute2, а вместо ifconfig теперь ip a
Если вы работаете с командной строкой в Linux, то почти наверняка используете команду ifconfig. Возможно, использовали её уже много лет. Она упоминается во многих инструкциях и книгах. И тем больше, я думаю, вы удивитесь, узнав, что пакет net-tools (которому принадлежит ifconfig) больше не устанавливается по умолчанию, поскольку теперь считается устаревшим.
Его место занял пакет iproute2, а вместо ifconfig нужно использовать команду ip. Запуск ifconfig без аргументов:
или в укороченной форме:
Почему заменили ifconfig
ifconfig – это программа из пакета net-tools, который на протяжении долгого времени не мог в полной мере поддерживать сетевой стек Linux. Он также по-прежнему использует ioctl для настройки сети, что является безобразным и менее продуктивным способом взаимодействия с ядром.
Множество изменений в сетевом коде Linux и множество новых возможностей недоступны при использовании net-tools: многолучеввая маршрутизация, политики маршрутизации (смотрите RPDB). route позволяет делать глупые вещи, такие как добавление множества маршрутов к одному месту назначения с той же метрикой.
- ifconfig не сообщает должный аппаратный адрес для некоторых устройств.
- Вы не можете настроить ipip, sit, gre, l2tp и т.д. во встроенных в ядро статичных туннелях.
- Вы не можете создавать устройства tun или tap.
- Способ добавления множества адресов данному интерфейсу также имеет бедную семантику.
- Вы также не можете настраивать систему контроля трафика Linux используя net-tools.
Примеры использования ip. Аналоги ip для ifconfig
Сбор информации
Первое, что большинство людей изучает с командой ifconfig – это как узнать, какой IP адрес назначен интерфейсу. Это обычно делается командой ifconfig без флагов или аргументов. Чтобы сделать это же самое с командой ip, запустите её так:
Эта команда выведет список интерфейсов и связанную с ними информацию.
Допустим, вы хотите увидеть только информацию по IPv4 (для ясности). Чтобы сделать это, наберите команду:
Или вы хотите увидеть информацию только по IPv6:
Что если вы хотите увидеть информацию, связанную с конкретным интерфейсом? Вы можете вывести список данных по беспроводному соединению командой:
Вы можете задать ещё более конкретные условия этой командой. Если вы хотите увидеть IPv4 по интерфейсу wlan0, наберите команду:
Вы можете составить список только из работающих интерфейсов используя:
Изменение интерфейса
Теперь мы входим в сердце команды… использование её для изменения интерфейса. Допустим вы хотите назначить конкретный адрес первому ethernet интерфейсу eth0. С командой ifconfig это выглядело бы примерно так:
С командой ip это выглядит примерно так:
Вы можете немного сократить её:
Ясно, что вы должны знать маску подсети адреса, который вы назначаете.
Что насчёт того, чтобы удалить адрес из интерфейса? С командой ip вы также можете сделать это. Например, для удаления только что назначенного для eth0 адреса, наберите следующую команду:
Что если вы хотите просто очистить все адреса для всех интерфейсов? Командой ip это делается так:
Другой ключевой аспект команды ip – это возможность поднимать/отключать интерфейс. Чтобы отключить интерфейс eth0 наберите:
Чтобы обратно поднять eth0, используйте
С командой ip вы можете также добавлять и удалять шлюз по умолчанию. Работать с этим примерно так:
Добавление псевдонима (алиаса) интерфейса с ifconfig:
Если вы действительно хотите углубиться в детали, вы можете отредактировать очередь передачи. Вы можете задать низкое значение в очереди передачи для медленных интерфейсов и более высокое значение для быстрых интерфейсов. Чтобы сделать это, команда должна выглядеть примерно так:
Вышеприведённая команда установила бы высокую очередь передачи. Вы можете поиграться с этой величиной, чтобы найти, что лучше всего работает для вашего железа.
Вы также можете установить Maximum Transmission Unit (MTU) вышего сетевого интерфейса командой:
После сделанных изменений, используйте
для проверки, что изменения возымели эффект.
Управление таблицей маршрутизации
С командой ip вы также можете управлять системными таблицами маршрутизации. Это очень мощный элемент команды ip, и вам следует использовать его с осторожностью.
Допустим, вы хотите просмотреть все таблицы маршрутизации. Чтобы сделать это, наберите команду:
Вывод может выглядеть примерно так:
Теперь, допустим, вы хотите переправлять весь трафик через шлюз 192.168.5.0, подключённый через сетевой интерфейс eth0. Чтобы сделать это, наберите команду:
Для удаления этого же маршрута наберите:
ARP протокол
Добавьте любую запись в вашу ARP таблицу:
Отключите преобразование ARP на устройстве с ifconfig:
Цель этой заметки – дать начальное представление о команде ip. Конечно необязательно полностью отказываться от использования ifconfig, но теперь программа не предустановлена по умолчанию во многие дистрибутивы. И нужно быть готовым использовать команду ip.
При написании этой заметки использовались материалы:
Связанные статьи:
- Нерекомендуемые сетевые команды Linux и их замена (99.6%)
- Как использовать команду ip в Linux (61.8%)
- Переход с устаревшей команды iwconfig (wireless_tools) на iw (59.5%)
- Ошибка «Authentication helper program /usr/lib64/squid/basic_ncsa_auth: (2) No such file or directory» (РЕШЕНО) (52.9%)
- Как узнать IP DNS сервера в Linux (52.4%)
- Ошибка «Cannot uninstall . It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.» (РЕШЕНО) (RANDOM — 0.5%)
Рекомендуемые статьи:
11 Комментарии
Все прекрасно работает,
ifconfig в debiane прекрасно работает от рута.
И да, он таки от обычного пользавателя пишет, что команда не найдена, но под рутом все прекрасно работает.
За всю историю юзанья, никогlа не сталкивался с невозможностью чего либо соорудить при работе с ifconfig.
Нет чтобы сделать аналог без больших изнений, нет бли =н непонятно для чего все усложнили. Отправилил эту команду туда же куда и NetworkManager
sudo apt-get install net-tools
Есть «философия UNIX». Следуйте ей, если работаете в этой системе.
Как говорится, со своим уставом в чужой монастырь не ходят.
Не превращайтесь в Windows 🙁
Цитаты хорошие, но суть претензий я не понял…
«Unix прост. Но надо быть гением, чтобы понять его простоту» — Деннис Ритчи.
«Unix не предназначен для ограждения своих пользователей от глупостей, поскольку это оградило бы их и от умных вещей» — Дуг Гвин.
«Unix никогда не говорит „пожалуйста“» — Роб Пайк.
Это ни в коем случае не претензия. Вы меня не правильно поняли.
Я про «Вместо net-tools теперь iproute2». iproute2 просто монстр какой-то. Всё может. От чего и предостеригали. Огромному большинству пользователей вполне хватало возможностей net-tools. Не так много как у великолепного и всемогущего iproute2, но… А тут выпиливают проверенный и привычный всем «инструмент» (в Debian 10) и ставят другой с «колосальными возможностями», которыми воспользуются всего-то 2, максимум 5 % ползователей данной «оси». Лично я был неприятно этим удивлён. Пришлось выпиливать эту «заботу» и возвращать старое и проверенное. Возможно я консерватор, но не надо «чинить то, что работает», не надо считать пользователя идиотом и делать ему хорошо. Он сам себе сделает хорошо. А если не сумеет сделать, значит оно ему не надо, не созрел ещё до этого. За чем усложнять-то всё? К примеру — route позволяет делать глупые вещи, такие как добавление множества маршрутов к одному месту назначения с той же метрикой. Да и ладно! Мозги зачем? Этак теперь nix стал win-подобным. Уберегает пользователя от всего! «Unix не предназначен для ограждения своих пользователей от глупостей, поскольку это оградило бы их и от умных вещей» — Дуг Гвин. «Unix никогда не говорит „пожалуйста“» — Роб Пайк. А теперь говорит. А теперь уберегает. Что сказать, превращается в систему для домохозяек, как хотел БГ. Хотя с другой стороны, это ХОРОШО. Лично меня это заставляет гораздо раньше, чем планировал, приняться изучать — Linux from Scratch где можно самому всё под себя. Ну… в общем мысль ясна 🙂
первое и самое важное, linux никогда не был unix, да и вообще linux — это не OS, это оболочка ядра(пакетный менеджер) и рассказывать что debian стал для домохозяек очень смешно, изначально для десктопа — ubuntu ( клон деба) а сам деб инетерсней использовать на серверах, и да , кто использует его на серверах — очень давно отказались от net-tools из-за дырявости данного пакета, + если ты уже так силь хочешь себе, скорее всего на десктоп unix — консервативный , тогда тебе нужно смотреть на FreeBSD и вообще на BSD системы, а насчет LFS какая разниза если ты влюбом варианте будетшь использовать одинаковое ядро ? и какая разница где ты будешь ставить пакеты в gentoo или в debian — хочешь позамарачивать, ставь в дебиане пакеты с исходного кода ))
«улыбнуло», но хотелось бы уточнить 🙂 …..
— «lnux» не nix подобная ли ось?
— более конкретно, не ядро ли этой оси «lnuux»?
— точно ли ubuntu клон debiana? может быть он на нём основан?
— в чём «дырявость» пакета net-tools? только конкретно;
— кто эти мифические парни, «кто использует его на серверах — очень давно отказались от net-tools из-за дырявости данного пакета»? В моём понимании, представлении и по опыту «локальных войн», сервер настроил, запустил, и забыл его ковырять. На сервере «не играются» с пакетами. На нём вообще не играются. Контролируют его работу.
И ещё, LFS и ставить пакеты в Debian из исходного кода, это так же как угол в 100 градусов и температура кипения воды. Цифра одна, а остальное не очень 😉
И кстати, коллега, теперь не eth0, а epn3s0. И полноценный su теперь не su, а su — 😉
Источник