#Симптом и границы применимости
В Arch Linux пакет числится установленным в pacman, однако команда не находится при вводе имени. Различайте пакет-библиотеку, исполняемый файл и программу, доступную только в другой пользовательской среде.
#Возможные причины и признаки
| Возможная причина | Как узнать | Что делать |
|---|---|---|
| Пакет не содержит исполняемого файлаНекоторые пакеты являются библиотеками или данными. | pacman -Ql выводит только каталоги и библиотеки. | Определить фактический исполняемый пакет. |
| Неправильное имя программыИмя пакета не всегда совпадает с командой. | В /usr/bin находится другой файл. | Взять имя из списка pacman -Ql, без переименования системных файлов. |
| Ограниченный PATHОболочка не ищет в каталоге пользовательской установки. | Запуск по абсолютному пути проходит, command -v ничего не находит. | Исправить PATH лишь в нужной оболочке/службе. |
#Подробная диагностика и безопасные действия
- 1. Убедитесь, что пакет установленВ терминале подставьте настоящее имя вместо ПАКЕТ (например, из команды установки).
pacman -Qпокажет версию или ошибку package was not found; если пакета нет, проверьте имя и репозиторий перед установкой.Linux · Терминал (Bash)КомандаДиагностическая команда в терминале Arch Linux, без изменения настроек.pacman -Q ПАКЕТpacman -Qi ПАКЕТ
- 2. Просмотрите файлы пакета
-Qlпечатает установленные файлы, в том числе исполняемые каталоги /usr/bin, /usr/sbin или /opt. Если бинарника нет, пакет может содержать библиотеку, дополнение или отдельную документацию. - Диагностическая команда в терминале Arch Linux, без изменения настроекLinux · Терминал (Bash)КомандаДиагностическая команда в терминале Arch Linux, без изменения настроек.
pacman -Ql ПАКЕТpacman -Qlq ПАКЕТ | grep -E "/(bin|sbin)/"
- 3. Определите точное имя командыСопоставьте реальные файлы из вывода предыдущего шага с вводимым именем.
type -aобнаруживает псевдонимы, функции и программы в нескольких каталогах. Если shell сообщает not found, попробуйте абсолютный путь только для найденного конкретного файла.Linux · Терминал (Bash)КомандаДиагностическая команда в терминале Arch Linux, без изменения настроек.type -a КОМАНДАcommand -v КОМАНДАls -l /usr/bin/КОМАНДА
- 4. Проверьте PATH текущего терминалаПроверьте, включены ли /usr/bin и каталог, который показал pacman. Не копируйте случайные каталоги из интернета в PATH. Если проблема только в редакторе кода или после запуска через SSH, сравните настройки оболочек и окружение конкретного процесса.
- Диагностическая команда в терминале Arch Linux, без изменения настроекLinux · Терминал (Bash)КомандаДиагностическая команда в терминале Arch Linux, без изменения настроек.
printf "%s\n" "$PATH"printf "%s\n" "$SHELL"printenv PATH
- 5. Проверьте доступность и архитектуру файлаЕсли нужный файл найден, посмотрите права и тип.
Permission deniedиExec format error— другие проблемы, а не ошибка PATH. Не выполняйте массовый chmod. Сохраняйте исходные права пакета. - Диагностическая команда в терминале Arch Linux, без изменения настроекLinux · Терминал (Bash)КомандаДиагностическая команда в терминале Arch Linux, без изменения настроек.
ls -l /usr/bin/КОМАНДАfile /usr/bin/КОМАНДАpacman -Qkk ПАКЕТ
- 6. Уточните окружение другой оболочкиВ интерактивном Bash параметры запуска отличаются от неинтерактивных команд systemd или cron. Посмотрите конфигурацию оболочки вместо хаотичного редактирования /etc/environment. Команду
echoпосле входа в новый сеанс сравните с исходным выводом. - Диагностическая команда в терминале Arch Linux, без изменения настроекLinux · Терминал (Bash)КомандаДиагностическая команда в терминале Arch Linux, без изменения настроек.
bash -lc 'printf "%s\n" "$PATH"'bash -ic 'command -v КОМАНДА'
- 7. Устраните обнаруженную причину и повторите поискЕсли ошибка в имени — используйте правильное имя. Если проблема в пользовательском каталоге, настройте PATH только для нужного пользователя и перезапустите сеанс. Если
pacman -Qkkсообщает отсутствующие файлы, проверьте состояние файловой системы и лишь затем выполняйте согласованное полное обновление, не устанавливайте отдельно несовместимые библиотеки. - Диагностическая команда в терминале Arch Linux, без изменения настроекLinux · Терминал (Bash)КомандаДиагностическая команда в терминале Arch Linux, без изменения настроек.
command -v КОМАНДАКОМАНДА --help
#Как понять, что проблема устранена
Повторите исходное действие, из-за которого возникла неисправность, и сверяйте не только код завершения команды, но и прикладной результат. Сохраните вывод последней диагностической команды и записи журнала до и после исправления. Если ошибка повторяется, верните только изменённую настройку из резервной копии и передайте специалисту точный симптом, имя программы/службы, версию системы и необходимые фрагменты журнала без паролей и закрытых ключей.
#Что делать, если не помогло
Не применяйте случайные советы для другого дистрибутива: в Arch Linux особенно опасны частичные обновления пакетов, а в Rocky Linux — отключение SELinux или неконтролируемый перезапуск системных служб. Остановитесь после неуспешного безопасного шага, зафиксируйте фактическое сообщение и вернитесь к соответствующей причине. Для загрузки, разделов диска и единственного удалённого подключения используйте резервную копию и локальную консоль.