команда не найдена. Сообщество Linux расстаётся с Net-Tools
Тяжело расставаться с привычными инструментами в Linux, которыми пользовался годами. Так, при установке OpenMediaVault был озадачен отсутствием команд ifconfig, route и netstat. В результате, простейшая задача по смене ip-адреса неожиданно заиграла новыми красками.
Я как-то упустил тот момент, когда пакет Net-Tools признали устаревшим и ему на смену в Linux пришёл другой сетевой инструмент iproute2. По этой причине последние версии многих дистрибутивов Linux больше не содержат привычных команд ifconfig или route.
На самом деле и iproute2 нельзя назвать чем-то принципиально новым, ведь этот пакет известен ещё с начала 2000-х годов и основным его минусом всегда считалось отсутствие актуальной документации (отсылки типа «смотри исходный код» не считаются).
Что делать, придётся избавляться от старых наработанных привычек и заново изучать новые команды и синтаксис пакета iproute2. Из очевидных плюсов нам обещают больший контроль над сетевыми параметрами и функциями Linux.
Я нашёл неплохой мануал Task-centered iproute2 user guide о практическом использовании iproute2, правда на английском языке https://baturin.org/docs/iproute2/.
Самой востребованной функцией, без чего не обходится ни одна настройка сети, остаётся определение IP адреса, назначенного интерфейсу. Ранее это делалось командой ifconfig без каких-либо дополнительных аргументов. Теперь следует писать так:
ip a
Команда выведет список интерфейсов и связанную с ними сопутсвующую информацию:
Если требуется вывести информацию, связанную с конкретным интерфейсом, например по беспроводному соединению, командой приобретает следующий вид:
ip a show wlan0
или ещё более конкретизированный запрос с информацией только о IPv4:
ip -4 a show wlan0
Поднятие сетевого интерфейса и изменение ip адреса
Пример включения сетевого интерфейса (как было и как стало):
ifconfig eth0 up
ip link set eth0 up
Теперь давайте назначим адрес сетевому интерфейсу, пусть это будет eth0. Снова, для сравнения, первый вариант будет с использованием команды ifconfig, а второй с ip:
ifconfig eth0 192.168.11.101
ip a add 192.168.11.101/24 dev eth0
Управление таблицами маршрутизации
Таблицы маршрутизации также управляются командой ip. Вот как можно посмотреть таблицу маршрутизации:
ip r
Добавляем новый маршрут (как и в предыдущих примерах по принципу «было-стало»):
route add -net 192.168.11.0/24 dev eth3
ip route add 192.168.11.0/24 dev eth3
или маршрут по умолчанию:
route add default gw 192.168.100.1
ip route add default via 192.168.100.1
Я не ставил целью рассказать о всех возможных вариантах использования iproute2, сам только начинаю привыкать к команде ip и её синтаксису. Кому-то хватит даже этих базовых команд, а дальнейшее изучение каждый желающий может продолжить самостоятельно.
Подписывайтесь на канал
Яндекс.
и узнавайте первыми о новых материалах, опубликованных на сайте.
centos — команда ifconfig не найдена
TL/DR: ifconfig
теперь ip a
. Попробуйте ip -s -c -h a
.
Ваш путь выглядит нормально, но не включает /sbin
, что может быть задумано.
Вероятно, вы искали команду /sbin/ifconfig
.
Если этот файл не существует (попробуйте ls /sbin/ifconfig
), возможно, команда просто не установлена.
Является частью упаковки сетевые инструменты
,
который не установлен по умолчанию, потому что он устарел и заменены командой ip
из пакета iproute2
.
Функция ifconfig
без опций заменена на ip
с указанием объекта адрес
.
ифконфиг
эквивалентен
ip addr show
и т.
show
, а такжеip a
Формат вывода несколько отличается:
$ ifconfig lo Link encap: Локальная петля инет-адрес: 127.0.0.1 Маска: 255.0.0.0 адрес inet6: ::1/128 Область: Хост UP LOOPBACK RUNNING MTU:65536 Метрика:1 Пакеты RX: 10553 ошибки: 0 отброшены: 0 переполнены: 0 кадр: 0 Пакеты TX: 10553 ошибки: 0 отброшены: 0 переполнены: 0 перевозчик: 0 коллизии: 0 txqueuelen: 0 Байты приема: 9258474 (9,2 МБ) TX байт: 9258474 (9,2 МБ) [ ... ]
и
$ IP-адрес 1: lo:mtu 65536 qdisc noqueue state UNKNOWN group default ссылка/петля 00:00:00:00:00:00 брд 00:00:00:00:00:00 инет 127.0.0.1/8 область хоста lo valid_lft навсегда inet6 :: 1/128 узел области видимости valid_lft навсегда [ ... ]
Обратите внимание, что вывод более краток:
Он не показывает количество пакетов, обработанных обычным или другим способом.
Для этого добавьте опцию -s
( -stats
, -statistics
):
$ ip -s addr 1: lo:mtu 65536 qdisc noqueue state UNKNOWN group default ссылка/петля 00:00:00:00:00:00 брд 00:00:00:00:00:00 инет 127.0.0.1/8 область хоста lo valid_lft навсегда inet6 :: 1/128 узел области видимости valid_lft навсегда RX: байты, пакеты, ошибки, потерянные, переполняют mcast 74423 703 0 0 0 0 TX: байты, пакеты, ошибки, отброшенные операторы связи 74423 703 0 0 0 0
Но на самом деле вы хотите увидеть следующее:
$ ip -stats -color -human addr 1: lo:mtu 65536 qdisc noqueue state UNKNOWN group default ссылка/петля 00:00:00:00:00:00 брд 00:00:00:00:00:00 инет 127.0.0.1/8 область хоста lo valid_lft навсегда inet6 :: 1/128 узел области видимости valid_lft навсегда RX: байты, пакеты, ошибки, потерянные, переполняют mcast 74,3к 700 0 0 0 0 TX: байты, пакеты, ошибки, отброшенные операторы связи 74,3к 700 0 0 0 0
Он показывает количество с суффиксами, такими как 26.
или 1M
79.3k
, и выделяет цветом некоторые соответствующие термины и адреса.
Если вы считаете, что команда слишком длинная, используйте короткие опции:
Это эквивалентно:
ip -s -c -h a
linux — команда ifconfig и locate не найдена, `bash: ifconfig: команда не найдена`
спросил
Изменено 5 месяцев назад
Просмотрено 2к раз
В терминале Linux-Ubuntu:
-
ifconfig
выдаетbash: ifconfig: команда не найдена
-
команда locate
делает то же самое. -
sudo yum install net-tools
throws:bash: yum: command not found
также, но я, возможно, также сделал там орфографическую ошибку, когда тестировал ее.
Что это значит, нужно ли устанавливать ифконфиг
? Или есть альтернативные команды?
- linux
- команда
- ifconfig
- найти
0
Различные дистрибутивы Linux имеют разные инструменты для установки пакетов, известные как менеджеры пакетов — вам нужно использовать правильный для вашего дистрибутива. Yum — это менеджер пакетов для систем Red Hat. Вместо этого вам нужно использовать apt, менеджер пакетов Ubuntu. Попробуйте:
sudo apt install net-tools locate
Этот шаблон должен работать для большинства пакетов в Ubuntu. net-tools
— это пакет, содержащий ifconfig в Ubuntu. ОДНАКО, ifconfig сильно устарел и существует уже несколько лет. Вы должны использовать ip
, который уже должен быть установлен в Ubuntu.
0
Установите net-tools
и mlocate
в дистрибутиве на основе Debian (Ubuntu):
sudo apt установить сетевые инструменты sudo apt установить mlocate обновленоb
В настоящее время не поставляются со стандартным модулем.