Как определить, установлено ли программное обеспечение (которое может * не быть * в PATH) или нет?

anisha@linux-dopx:~> which qmake which: no qmake in (/opt/qtcreator-2.0.92/bin/:/opt/qtsdk-2010.05/qt/bin/:/opt/qtcreator-2.0.92/bin/:/opt/qtsdk-2010.05/qt/bin/:/usr/lib64/mpi/gcc/openmpi/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/X11R6/bin:/usr/games:/usr/lib/mit/bin:/usr/lib/mit/sbin) anisha@linux-dopx:~> locate qmake anisha@linux-dopx:~> 

Есть ли другой способ, с помощью которого я могу подтвердить, установлено ли программное обеспечение или нет, учитывая, что в настоящее время он не находится в PATH?

  • Справка по установке переменной ROOT, PATH удаляется
  • Как установить переменную пользовательской среды? (постоянно, а не сеанс)
  • Продолжайте получать тот же результат после "export PATH"
  • Не удается найти папку после команды mv
  • Найти абсолютный путь из скрипта
  • bash: adduser: команда не найдена на centOS
  • Есть ли способ добавить каталог в мой PATH в zsh, только если он еще не присутствует?
  • Sudo изменяет PATH, но выполняет один и тот же двоичный файл
  • 2 Solutions collect form web for “Как определить, установлено ли программное обеспечение (которое может * не быть * в PATH) или нет?”

    Попробуйте whereis . Он выглядит во всех местах, которые имеют смысл для двоичных файлов (когда используется -b ), даже если они не включены в ваш $PATH . Например whereis -b ifconfig возвращает /sbin/ifconfig , хотя /sbin не находится в моем $PATH .

    Проблема заключается в единственном определении слова « установлено ». Существует несколько способов интерпретировать его.

    • Типичным и наиболее подходящим способом «установить» программу является использование инструмента (-ов) диспетчера пакетов. Они варьируются от распределения к распределению: на Gentoo emerge и множество других полезных программ вокруг portage ; в системах на базе Debian (например, Ubuntu) есть инструменты apt-<something> и т. д. Эти инструменты – это то, что вы должны использовать по возможности – как для установки, так и для поиска доступного / установленного программного обеспечения – их основная работа в системе – поддерживать всю информацию о вашем официальном программном обеспечении.

    • Программное обеспечение, которое недоступно в репозиториях, также может быть установлено с помощью собственных сценариев установки. Такое программное обеспечение не будет автоматически замечено инструментами управления системой, что может вызвать различные проблемы. Чтобы найти компоненты таких программ, вам остается использовать такие инструменты, как locate , find , which или whereis .

    • Вы также можете создать программу, поместить ее «вручную» и настроить свою среду (например, PATH ), чтобы она стала пригодной для использования. Как с точки зрения пользователя, так и с точки зрения системы, он может быть очень различным, немного другим или вообще не отличающимся по сравнению с предыдущим подходом.

    В вашем случае вы должны различать поиск двоичного файла и определение того, установлен ли определенный пакет . Для практической части поиска двоичного кода вы можете просто использовать, which или whereis . Обратите внимание, что PATH окружения PATH может отличаться для пользователей root и non-root . Если вы хотите определить, установлен ли пакет (с использованием первой интерпретации этого слова), используйте программное обеспечение для управления пакетами вашего дистрибутива.

    Linux и Unix - лучшая ОС в мире.