Как определить пакет, которому принадлежит утилита [дубликат]

На этот вопрос уже есть ответ здесь:

Я установил CUDA, используя официальный .deb от NVIDIA домашняя страница. Но я столкнулся с некоторыми проблемами и хотел переделать установку, чтобы гарантировать, что каждый шаг на этом пути работает должным образом.

Таким образом, я 'apt-get purge cuda ...'

Но теперь у меня все еще есть nvcc, что меня смущает, так как я ожидал, что он принадлежит пакету cuda.

Как мне определить, к какому пакету принадлежит nvcc?

7
задан 26 October 2015 в 21:34

4 ответа

Сверьтесь apt-file, потому что в Вашем случае nvcc часть пакета (nvidia-cuda-toolkit).

Первый необходимо установить apt-file

sudo apt-get install apt-file
sudo apt-file update

, Теперь запускаются

apt-file search nvcc

или

apt-file search --regex /nvcc$

или

apt-file search $(which nvcc)
<час>

Для проверки, почему пакет nvidia-cuda-toolkit был установлен, используют aptitude.

sudo apt-get install aptitude
aptitude why nvidia-cuda-toolkit
9
ответ дан 23 November 2019 в 06:13

Самый легкий способ сделать это dpkg -S.

Так, для обнаружения, в котором находится пакет zgrep попробуйте:

$ dpkg -S `which zgrep`
gzip: /bin/zgrep

Это показывает, что находится в пакете gzip.

, Конечно, можно просто использовать путь к файлу, например:

$ dpkg -S /usr/share/dict/words
diversion by dictionaries-common from: /usr/share/dict/words
diversion by dictionaries-common to: /usr/share/dict/words.pre-dictionaries-common
dictionaries-common, wamerican: /usr/share/dict/words

Это случайно показывает более сложный пример.

6
ответ дан 23 November 2019 в 06:13

sudo apt-cache search nvcc

возвраты:

libnvvm2 - NVIDIA CUDA Compiler NVVM runtime library nvidia-cuda-toolkit - NVIDIA CUDA toolkit

способный кэш должен уже быть установлен в Вашей системе.

1
ответ дан 23 November 2019 в 06:13

apt использование dpkg как бэкенд для установки многих приложений, и для dpkg существует a /var/lib/dpkg/info каталог, где существуют многие *.info файлы; они содержат информацию о каждом файле, который шел с пакетом.

Таким образом можно сделать grep -i --color 'nvcc' /var/lib/dpkg/info/*.list . Это может генерировать довольно большой список, однако, так для сужения его мы можем использовать which утилита.

which определяет местоположение конкретного двоичного файла/исполняемого файла. Например,

xieerqi:$ grep $(which gnome-terminal) /var/lib/dpkg/info>
/var/lib/dpkg/info/gnome-terminal.list:/usr/bin/gnome-terminal.wrapper
/var/lib/dpkg/info/gnome-terminal.list:/usr/bin/gnome-terminal

Это говорит grep брать полный путь к gnome-terminal исполняемый файл, и находит, какой пакет установил его. В этом случае пакет был gnome-terminal.

Не, таким образом, очевидный случай был бы nm-tool

xieerqi:$ grep $(which nm-tool) /var/lib/dpkg/info/*.list 
/var/lib/dpkg/info/network-manager.list:/usr/bin/nm-tool

Мы таким образом знаем, это принадлежит network-manager пакет

1
ответ дан 23 November 2019 в 06:13

Другие вопросы по тегам:

Похожие вопросы: