Прежде всего, используйте type
или type -a
для получения всех доступных uname
файлов, а не which
. См. Почему бы не использовать «который»? Что тогда использовать? .
Затем, когда вы хотите узнать, какой пакет предоставляет данный файл, вы можете использовать полный путь к файлу (или просто bin/filename
, если файл является двоичным , как объясняет Стивен ). Например, в системе Ubuntu я получаю:
$ type -a uname
uname is /bin/uname
Вот что мне нужно передатьdpkg -S
:
$ dpkg -S /bin/uname
coreutils: /bin/uname
Ну вот. /bin/uname
входит в состав пакета coreutils
.
Нет никакой разницы; в Ubuntubin
является символической ссылкой на /usr/bin
, некоторые системы Debian и различные другие дистрибутивы, поэтому двоичные файлы появляются в обоих местах.
Пакеты могут отправлять файлы в любом месте; чтобы найти пакет, предоставляющий данный двоичный файл, найдите bin/
, за которым следует двоичный файл:
dpkg -S bin/uname