Как найти, где apt установил программу на Debian и Ubuntu

Вы только что установили пакет, но как запустить программу?
Чаще всего имя пакета совпадает с именем исполняемого файла. Иногда оно отличается: пакет может быть назван иначе, содержать несколько бинарников или поставлять только систему обслуживания (службу) без утилиты в PATH. Если команда не выполняется, найдите, куда apt установил файлы, и найдите исполняемый файл.
Краткий план действий:
- Просмотреть список файлов пакета с dpkg
- Проверить PATH и стандартные папки для бинарников
- Искать файл с помощью which, command -v, type -a или whereis
- Если нужно, использовать apt-file или dpkg -S для обратного поиска
Использование dpkg для списка установленных файлов
Чтобы увидеть полные пути всех файлов, которые установил пакет, используйте опцию -L (заглавная L) с dpkg. Например, чтобы посмотреть файлы пакета firefox-esr:
dpkg -L firefox-esrВы увидите список путей, включая исполняемый файл. Часто исполняемый файл будет в одной из папок типа /usr/bin, /usr/sbin, /usr/local/bin или /opt.
Где находятся исполняемые файлы в Linux?
Обычно исполняемые файлы лежат в «bin»-папках. Наиболее важные:
- /usr/bin — основные пользовательские утилиты
- /usr/sbin — системные утилиты для администратора
- /usr/local/bin — локально установленные программы
- /sbin и /usr/sbin — программы для администрирования
- /opt — пакеты в собственных папках (часто приложения от третьих сторон)
- ~/.local/bin — исполняемые файлы, установленные в домашней папке
Ваша оболочка ищет команды по переменной окружения PATH. Чтобы увидеть текущий PATH, выполните:
echo $PATHДиректории разделены символом «:». Если путь с исполняемым файлом не входит в PATH, оболочка не найдёт команду напрямую.
Быстрые команды для поиска исполняемого файла
- Найти путь до выполняемой команды, если она доступна в PATH:
command -v имя_команды
# или
which имя_команды
# или
type -a имя_команды- Найти пакет, которому принадлежит файл (обнаружили файл, но не помните пакет):
dpkg -S /usr/bin/имя_файла- Искать файлы в пакетах в репозиториях (если пакета нет локально или нужно найти, какой пакет их содержит):
apt-file search имя_файла(apt-file может потребовать установки и обновления базы: sudo apt install apt-file && sudo apt-file update)
Частые причины, почему команда не найдена
- Исполняемый файл установлен в папке, не включённой в PATH (например, /opt/что-либо/bin или ~/.local/bin).
- Пакет установил только библиотеку или сервис, а не CLI-инструмент.
- Программа установлена через snap или flatpak, а не через apt; тогда исполняемый файл может быть в другом путе (например, /snap/bin).
- Пакет даёт исполняемый файл под другим именем (называется конфликт имён или пакет-обёртка).
Важно: системные утилиты часто находятся в /usr/sbin и доступны только для root или через sudo.
Методология: последовательность действий при «Command not found»
- Попробуйте найти команду в PATH: command -v имякоманды || which имякоманды.
- Если не найдено, смотрите список файлов пакета: dpkg -L имя_пакета.
- Если вы не знаете пакет, попробуйте apt-file search имя_файла или dpkg -S, если файл уже есть на диске.
- Проверьте echo $PATH и добавьте нужную папку в PATH, если это безопасно.
- Убедитесь, что пакет действительно установлен: dpkg -l | grep имя_пакета или apt list –installed.
Пример: пакет называется иначе, чем команда
Иногда пакет имеет расширенное имя, например firefox-esr. Исполняемый файл может называться firefox или firefox-esr. dpkg -L firefox-esr покажет, есть ли в пакете /usr/bin/firefox или скрипт с другим именем.
Чек-лист для администратора и пользователя
Администратору:
- Проверить установку: sudo apt install имя_пакета
- Посмотреть файлы пакета: dpkg -L имя_пакета
- Проверить принадлежность файла к пакету: dpkg -S /путь/к/файлу
- Убедиться в правах выполнения: ls -l /путь/к/файлу
Пользователю:
- Проверить PATH: echo $PATH
- Найти команду: command -v имя_команды
- Проверить наличие в ~/.local/bin и при необходимости добавить в PATH
Критерии приёмки
- Исполняемый файл найден в одном из каталогов, указанных dpkg -L, или через command -v.
- После добавления пути в PATH команда выполняется без указания полного пути.
- При необходимости установлены дополнительные утилиты (apt-file) и обновлён их индекс.
Советы по устранению проблем и альтернативы
- Если программа установлена через snap или flatpak, используйте соответствующие команды (snap run, flatpak run) или добавьте /snap/bin в PATH.
- Для программ в /opt добавьте символьную ссылку в /usr/local/bin: sudo ln -s /opt/пакет/bin/команда /usr/local/bin/команда
- Если пакет установил только systemd-сервис, а не CLI, проверьте systemctl status имя_сервиса
Небольшой факт-бокс
- Стандартные каталоги для бинарников: /usr/bin, /usr/sbin, /usr/local/bin, /sbin, /opt
- Переменная PATH разделяет пути символом «:»
Краткое резюме
Используйте dpkg -L, чтобы увидеть все файлы, которые установил пакет, и находите исполняемый файл в папках типа /usr/bin. Для быстрого поиска в PATH пригодятся command -v, which и type -a. Если пакет не содержит CLI, проверьте альтернативные форматы установки (snap, flatpak) или каталог /opt.
Ключевые команды для быстрого копирования:
dpkg -L имя_пакета
command -v имя_команды
which имя_команды
dpkg -S /путь/к/файлу
apt-file search имя_файлаГлоссарий в одну строку:
- dpkg - менеджер пакетов Debian для локального управления пакетами
- PATH - переменная окружения, список папок, где оболочка ищет команды
- sbin/bin - каталоги для бинарников: sbin — системные, bin — пользовательские
Похожие материалы
Отключить автоматическое выключение экрана в Windows 10
Точная перемотка медиа на iPhone
Как ускорить загрузки на Xbox
Как пересылать SMS на email с Android
Как изменить пункт «Изменить» в контекстном меню Windows