Вопрос или проблема
Вопрос: Как использовать iwconfig
в чисто установленной Debian?
Лог
root@debian:/home/[usr]# apt install --reinstall wireless-tools
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 0 not upgraded.
Need to get 114 kB of archives.
After this operation, 0 B of additional disk space will be used.
Get:1 http://deb.debian.org/debian buster/main amd64 wireless-tools amd64 30~pre9-13 [114 kB]
Fetched 114 kB in 0s (595 kB/s)
(Reading database ... 176551 files and directories currently installed.)
Preparing to unpack .../wireless-tools_30~pre9-13_amd64.deb ...
Unpacking wireless-tools (30~pre9-13) over (30~pre9-13) ...
Setting up wireless-tools (30~pre9-13) ...
Processing triggers for man-db (2.8.5-2) ...
root@debian:/home/[usr]# iwconfig
bash: iwconfig: command not found
root@debian:/home/[usr]#
Какую команду вы использовали, чтобы получить root? Вероятно, у вас нет /sbin в вашем пути.
Попробуйте /sbin/iwconfig
В Linux, когда вы пытаетесь выполнить команду, такую как iwconfig
, система ищет исполняемый файл в каталогах, перечисленных в переменной окружения $PATH
. Переменная PATH — это список каталогов, где оболочка ищет исполняемые файлы при вводе команды. Чтобы увидеть каталоги, включенные в вашу текущую переменную PATH, вы можете использовать команду echo $PATH
.
Если команда, которую вы пытаетесь выполнить (например, iwconfig
), находится в каталоге, не включенном в ваш $PATH
, вы получите ошибку команда не найдена
. В вашем случае iwconfig
обычно находится в каталоге /sbin/
, который обычно не включается в стандартный PATH для обычных пользователей.
Чтобы решить эту проблему, у вас есть два варианта:
- Добавить
/sbin/
в вашу переменную PATH, чтобы оболочка могла находить исполняемые файлы в этом каталоге. - Использовать полный путь к команде, запустив
/sbin/iwconfig
, что напрямую указывает оболочке, где найти исполняемый файл. Добавив/sbin/
в ваш PATH или указав полный путь, вы сможете успешно выполнитьiwconfig
.
Ответ или решение
Теория
При использовании команды iwconfig
в свежей установке Debian возникает ошибка bash: iwconfig: command not found
. Это может произойти из-за того, что команда iwconfig
не находится в одной из директорий, перечисленных в переменной окружения PATH
. Переменная PATH
определяет, где оболочка будет искать исполняемые файлы, когда пользователь вводит команду. В случае с iwconfig
, она часто располагается в директории /sbin/
, которая может не быть частью пути по умолчанию для обычных пользователей.
Важно отметить, что директория /sbin/
обычно содержит системные утилиты, которые, как правило, требуют привилегий суперпользователя. Поэтому она может быть включена в PATH
по умолчанию только для пользователей с правами администратора или "root".
Пример
Рассмотрим журнал установки пакета wireless-tools
, где должно находиться исполнение команды iwconfig
:
root@debian:/home/[usr]# apt install --reinstall wireless-tools
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 0 not upgraded.
Need to get 114 kB of archives.
After this operation, 0 B of additional disk space will be used.
Get:1 http://deb.debian.org/debian buster/main amd64 wireless-tools amd64 30~pre9-13 [114 kB]
Fetched 114 kB in 0s (595 kB/s)
(Reading database ... 176551 files and directories currently installed.)
Preparing to unpack .../wireless-tools_30~pre9-13_amd64.deb ...
Unpacking wireless-tools (30~pre9-13) over (30~pre9-13) ...
Setting up wireless-tools (30~pre9-13) ...
Processing triggers for man-db (2.8.5-2) ...
root@debian:/home/[usr]# iwconfig
bash: iwconfig: command not found
Несмотря на успешную установку пакета, при попытке выполнения команды iwconfig
она не находится. Это предполагает, что либо команда на самом деле не установлена, либо точка пути к ней отсутствует в PATH
.
Применение
1. Проверка и исправление PATH
Для проверки текущей переменной окружения PATH
, можно использовать команду:
echo $PATH
Если в выводе отсутствует /sbin/
, необходимо его добавить. Это можно сделать временно:
export PATH=$PATH:/sbin
Или постоянно добавив в файл ~/.bashrc
следующую строку:
export PATH=$PATH:/sbin
После этого необходимо перезагрузить настройки оболочки:
source ~/.bashrc
2. Прямое выполнение iwconfig
Другим способом является использование полного пути к исполняемой команде:
/sbin/iwconfig
Это решение подразумевает использование полного пути для каждого вызова команды, что может быть неудобно, но устраняет необходимость модификации PATH
.
3. Проверка прав пользователя
Убедитесь, что вы выполняете iwconfig
от имени пользователя с достаточными привилегиями, скорее всего, "root". Если используете sudo:
sudo iwconfig
или, если используете полное название:
sudo /sbin/iwconfig
Заключение
Проблема command not found
для команды iwconfig
в свежей установке Debian может быть связана с отсутствием указания на директорию /sbin/
в переменной PATH
. Добавление данной директории в $PATH
или выполнение команды с полным путём решает эту проблему. Удостоверьтесь, что вы обладаете соответствующими привилегиями для выполнения команды, так как iwconfig
часто используется для настройки параметров сети, которые требуют прав администратора.