На этот вопрос уже есть ответ здесь:
Я установил CUDA, используя официальный .deb от NVIDIA домашняя страница. Но я столкнулся с некоторыми проблемами и хотел переделать установку, чтобы гарантировать, что каждый шаг на этом пути работает должным образом.
Таким образом, я 'apt-get purge cuda ...'
Но теперь у меня все еще есть nvcc, что меня смущает, так как я ожидал, что он принадлежит пакету cuda.
Как мне определить, к какому пакету принадлежит nvcc?
Сверьтесь 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
Самый легкий способ сделать это 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
Это случайно показывает более сложный пример.
sudo apt-cache search nvcc
возвраты:
libnvvm2 - NVIDIA CUDA Compiler NVVM runtime library
nvidia-cuda-toolkit - NVIDIA CUDA toolkit
способный кэш должен уже быть установлен в Вашей системе.
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
пакет