- Странности Debian
- Ошибка ifconfig команда не найдена
- Ошибка ifconfig команда не найдена
- Выводы
- Как исправить ошибку “команда не найдена” в Linux
- Понимание переменных среды и чувствительности к регистру
- 1. Проверьте наличие синтаксических ошибок
- 2. Укажите путь к вашему исполняемому файлу
- 3. Используйте переменные среды
Странности Debian
Здравствуйте. Я только что установил Debian на ноутбук. Всё хорошо, но.
Я не могу выключить ПК из консоли.
/home/user# shutdown -h now bash: shutdown: команда не найдена /home/user# reboot bash: reboot: команда не найдена /home/user# halt bash: halt: команда не найдена /home/user# poweroff bash: poweroff: команда не найдена /home/user#
Иногда графика виснет. Я научился переходить в консоль и убивать процессы. Это Debian тоже не умеет, что за фигня?
/home/user# killall abiword bash: killall: команда не найдена /home/user#
Или вместо su используй su —
Flotsky ★★ ( 23.06.20 13:25:58 MSK )
Последнее исправление: Flotsky 23.06.20 13:29:49 MSK (всего исправлений: 1)
reboot и прочее в systemd-sysv или в sysvinit , если древний дебиан.
Проверяй, установлены или нет.
И про путь /sbin/reboot уже написали, тоже надо проверить. Как и /usr/bin/killall .
vvn_black ★★★★★ ( 23.06.20 13:31:34 MSK )
Последнее исправление: vvn_black 23.06.20 13:34:22 MSK (всего исправлений: 2)
reboot и прочее в systemd-sysv или в sysvinit, если древний дебиан.
user@debian:~$ apt-cache search psmisc psmisc - утилиты, использующие файловую систему proc user@debian:~$ apt-cache search systemd-sysv systemd - загрузчик системы и служб systemd-sysv - загрузчик системы и служб — ссылки SysV user@debian:~$
~$ su - Пароль: ~# /sbin/reboot bash: /sbin/reboot: Нет такого файла или каталога ~# /usr/bin/killall bash: /usr/bin/killall: Нет такого файла или каталога ~#
~# echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin ~#
~# dpkg --status psmisc Package: psmisc Status: install ok installed Priority: optional Section: admin Installed-Size: 627 Maintainer: Craig Small Architecture: i386 Multi-Arch: foreign Version: 23.2-1 Replaces: procps (= 2.8), libselinux1 (>= 1.32), libtinfo6 (>= 6) Description: utilities that use the proc file system This package contains miscellaneous utilities that use the proc FS: . - fuser: identifies processes that are using files or sockets. - killall: kills processes by name (e.g. "killall -HUP named"). - peekfd: shows the data traveling over a file descriptor. - pstree: shows currently running processes as a tree. - prtstat: print the contents of /proc//stat Homepage: http://psmisc.sf.net/ ~# dpkg --search killall zsh-common: /usr/share/zsh/functions/Completion/Unix/_killall sysvinit-utils: /sbin/killall5 psmisc: /usr/bin/killall psmisc: /usr/share/man/man1/killall.1.gz bash-completion: /usr/share/bash-completion/completions/killall sysvinit-utils: /usr/share/man/man8/killall5.8.gz ~#
Всё на месте. Ковыряйся с правами и с PATH.
# ls -l /usr/bin/killall -rwxr-xr-x 1 root root 24248 авг 17 2015 /usr/bin/killall
vvn_black ★★★★★ ( 23.06.20 13:46:31 MSK )
Последнее исправление: vvn_black 23.06.20 13:56:03 MSK (всего исправлений: 2)
А вот действительно. Почему нельзя PATH уже готовый по дефолту поставлять, а не заставлять пользователей самому его править?
Точно также и с sudo. 99,99% его всё равно сами поставят.
Artamudo ★★★★ ( 23.06.20 13:58:23 MSK )
Последнее исправление: Artamudo 23.06.20 14:00:37 MSK (всего исправлений: 1)
А в какие группы добавлен пользователь?
Debian – это конструктор, а не готовый для использования дистрибутив Linux’а.
При установке Debian’а нужно иметь опыт администрирования Linux-дистрибутивов.
Возможно вам нужно попробовать какой-нибудь уже готовый DEB-based или RPM-based дистрибутив: Ubuntu, Mint, Fedora и пр.
Ошибка ifconfig команда не найдена
В очень многих инструкциях из интернета советуется использовать команду ifconfig для настройки сети или просмотра информации о ней. Это очень давняя, но удобная утилита, которая имеет простой синтаксис и выводит информацию в простом и правильном виде.
Но когда вы попытаетесь использовать эту команду, то иногда можете получить ошибку ifconfig команда не найдена. Здесь все понятно, команда не найдена, но это довольно популярная утилита, и странно, что она не поставляется по умолчанию. В этой статье мы рассмотрим что делать если вы сталкиваетесь с такой ошибкой и почему так происходит.
Ошибка ifconfig команда не найдена
Первая причина почему вы можете получать эту ошибку, очень проста. Скорее всего, утилита установлена в вашей системе, но интерпретатор bash не может ее найти. Дело в том, что в Linux существует несколько папок для хранения исполняемых файлов. Все утилиты, которые может выполнять только суперпользователь расположены в каталоге /sbin или /usr/sbin.
Соответственно, обычному пользователю не нужно давать доступ к этим файлам, поэтому эти каталоги доступны только root, а в переменную среды PATH, из которой bash берет каталоги для поиска программ для пользователя они даже не добавлены. Проще говоря, вам достаточно только запустить программу от имени суперпользователя:
Если даже после этого вы получаете эту ошибку, то это означает, что программа таки не установлена. Дело в том, что утилита довольно давняя, и некоторым разработчикам показалось, что нужно разработать что-то более совершенное, поэтому была разработана утилита ip. Она имеет больше возможностей и лучше. Но она непривычна и имеет сложный синтаксис. Теперь команда ip используется по умолчанию во многих дистрибутивах, а ifconfig удалена.
Таким образом, чтобы исправить ошибку ifconfig команда не найдена вам понадобиться установить пакет ней. Утилита находится в пакете net-tools. Для установки в Ubuntu выполните:
sudo apt install net-tools
sudo dnf install net-tools
sudo yum install net-tools
После завершения установки пакета, а это будет выполнено очень быстро, вы можете пользоваться утилитой и ошибки ifconfig command not found больше не будет. Только запускайте ее с помощью sudo. Если вы решили больше не использовать ifconfig смотрите статью про утилиту ip linux.
Выводы
В этой статье мы рассмотрели что делать если вы встречаете ошибку bash ifconfig команда не найдена, а также почему она возникает. Это одна из самых простых ошибок, исправить ее очень просто. Надеюсь, эта информация была вам полезной.
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
Как исправить ошибку “команда не найдена” в Linux
Существуют различные причины, по которым оболочка Linux выдает ошибку «команда не найдена». Вот как это исправить.
Если вы являетесь пользователем Linux, вы, скорее всего, сталкивались с ошибкой “команда не найдена” в терминале Linux.
Часто, когда вы сталкиваетесь с этой ошибкой, вы получаете предложение установить программу, однако существует несколько потенциальных причин ошибки «команда не найдена».
Понимание переменных среды и чувствительности к регистру
Прежде чем мы приступим к устранению распространенных причин ошибки, важно оценить несколько важных свойств команд Linux.
В отличие от Windows, все команды, имена файлов и каталогов в системах Linux и Unix чувствительны к регистру. Это означает, что все команды и их соответствующие аргументы или параметры должны отображаться точно так, как они обозначены. Конечно, большинство команд написаны строчными буквами.
Переменные среды играют важную роль в Linux. Они содержат ценную информацию о вашем сеансе входа в систему и другие важные детали.
Когда вы запускаете команду в Linux, ваша система будет искать в ваших текущих переменных, в частности в переменной PATH, чтобы найти команду или программу, которую вы хотите запустить. Если команда не найдена, вы получите сообщение об ошибке, что она не найдена.
1. Проверьте наличие синтаксических ошибок
Вы должны запускать все команды Linux точно так, как они отображаются в регистре. Например, оболочка обрабатывает “ls” и “LS” как разные команды в Linux.
Кроме того, если ваша команда содержит аргументы, убедитесь, что вы используете правильный регистр. Команда ssh для переадресации портов принимает формат:
Аргументы “L” и “N” в этом случае должны быть прописными, иначе вы получите сообщение об ошибке.
В некоторых случаях для параметров или аргументов может потребоваться предшествующий дефис (-) или двойной дефис (—), а некоторые аргументы, возможно, потребуется заключить в кавычки или скобки.
Убедитесь, что вы используете правильную команду. Дважды проверьте написание команды, которую вы пытаетесь использовать, и убедитесь, что вы используете правильный регистр.
2. Укажите путь к вашему исполняемому файлу
Скрипты играют жизненно важную роль в Linux, поскольку они позволяют автоматизировать рутинные задачи. Если вы пишете свою собственную программу Bash или используете некоторые сторонние программы, вам нужно будет указать полный путь к программе для ее успешного выполнения.
Например, когда вы загружаете Open Virtualization Format Tool, вы можете установить его в любой каталог по своему вкусу. Теперь, когда вы пытаетесь запустить команду ovftool из каталога, отличного от того, в котором она была установлена, вы получите сообщение об ошибке “команда не найдена”.
Чтобы выполнить команду правильно, вам необходимо указать полный путь к исполняемому файлу программы. Если, например, вы установили ovftool в каталог / opt / ovf , то для запуска ovftool вам нужно будет использовать следующую команду:
Кроме того, обратите внимание на косые черты. В отличие от Windows, которая использует обратные косые черты, Linux использует прямые косые черты. Используйте функцию автозаполнения вкладок вашего терминала, чтобы избежать опечаток в именах каталогов.
3. Используйте переменные среды
Если вы обнаружите, что указывать целый каталог для команды утомительно, подумайте о добавлении исполняемого файла программы в переменную среды PATH.
Чтобы добавить исполняемый файл программы в PATH, просто запустите команду в следующем формате:
Переменные среды записываются в файл ~/.bashrc в Bash или в файл ~/.zshrc , если вы используете оболочку Z.
Чтобы обновить и применить внесенные изменения к файлу ~/.bashrc без выхода из системы, выполните исходную команду следующим образом:
Вы можете проверить, успешно ли добавлен путь к вашей программе в переменную PATH с помощью команды: