Как определить, установлено ли программное обеспечение (которое может * не быть * в 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?

  • Почему rsync не найден?
  • Не удается найти папку после команды mv
  • Как поиск в $ PATH работает под капотом?
  • Предотвращение дублирования в PATH (.cshrc)
  • bash: adduser: команда не найдена на centOS
  • Как добавить MATLAB в PATH?
  • Добавить PATH в .bashrc
  • Справка по сценарию bash
  • 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 . Если вы хотите определить, установлен ли пакет (с использованием первой интерпретации этого слова), используйте программное обеспечение для управления пакетами вашего дистрибутива.

    Interesting Posts

    Использование кода оболочки для LocalForward в файле конфигурации ssh

    Повышение производительности при SSH на несколько хостов

    Tcsh: поиск истории с помощью Ctrl-P и Ctrl-N

    Netid в ss-продукте запутывает

    Fedora 25 LiveUSB не может загрузиться на Dell XPS 13 (9343)

    Принуждение броузеров к использованию другого хоста и порта при просмотре веб-сайтов через ssh-tunnels

    Обратные глобальные и локальные метки в vi / vim

    Как получить UID и PID

    Запуск произвольной команды при сбое службы

    Помогите с диагностикой проблемы с замораживанием mdm / Cinnamon?

    Есть ли отличное руководство по изменению размера раздела rootfs (и сжатие другого) на диске, который на 100% распределен?

    Создание контрольной суммы архива 7zip, созданного из создаваемого файла tar

    Копировать с удаленного сервера, который не имеет rsync

    Как разместить панель инструментов наверху в fluxbox?

    Каков наилучший способ подражать клавишам с ярлыками тачпада?

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