Я пытаюсь найти, где кто-то установил программный пакет, и не могу. Есть ли хороший способ найти это, кроме запуска grep для всей файловой системы?
Я запускаю Ubuntu и ищу установку базы данных с тремя хранилищами под названием Virtuoso.
Спасибо алекс
whereis Virtuoso
Или, если двоичный файл называется как-то иначе:
whereis name-of-binary
Или, если программа находится не в обычных местах (/ bin, / sbin, / usr / bin и т. Д.)
which name-of-binary
Он был установлен с помощью apt
или dpkg
? Если да, вы можете использовать dpkg -l |grep <name>
найти пакеты и dpkg -L <package name>
чтобы найти, где установлены файлы.
Если он не был установлен с помощью системы управления пакетами, посмотрите /opt
и /usr/local
сначала, и если это не удается, используйте find / -iname <what you are searching>
для поиска по всей файловой системе.
Если вы установили с помощью apt или dpkg
dpkg -L virtuoso
покажет вам расположение всех установленных файлов.
Не забывайте locate(1)
команда. Если это настроено, updatedb
запускается на вашем компьютере каждую ночь и создает индекс всех файлов. Тогда например
$ locate myprogram
предоставит вам каждый файл, содержащий myprogram
(в имени файла или путь) в системе.
Если вы знаете точное имя двоичного файла, вы можете использовать соответствие регулярному выражению, чтобы найти его, например:
$ locate --regexp="myprogram$"
перечислит все файлы, заканчивающиеся на myprogram
в вашей системе.
Два предостережения:
locate
может быть хорошим способом получить представление о том, где в системе может находиться конкретный файл, прежде чем переходить к поиску пакета.
Все остальные ответы относятся к установке пакетов. Без доступа на корневом уровне существует несколько мест, где пользователь может установить программное обеспечение:
Обычные места для установки пакетов, не использующие диспетчер пакетов, включают:
Команды для поиска доступных для записи каталогов (для пользователя кто-то из группы users).
sudo find / -type d -perm -02 sudo find / -type d -perm -020 -group users sudo find / -type d -perm -0200 -user somebody
Пользователь может принадлежать к нескольким группам. Каждую группу нужно будет проверить.