Я знаю, что есть which
команда, которая отображает полное имя двоичного файла (например which sh
). Тем не менее, я вполне уверен, что есть команда, которая повторяет пакет, который предоставляет конкретный двоичный файл. Есть ли такая команда? Если так, то, что это? Я хотел бы иметь возможность запустить это:
commandName ls
и получить
coreutils
например.
dpkg -S `which COMMANDHERE`
работал на меня.dpkg -S
находит имя двоичного имени пакета, которое может отличаться от имени исходного пакета (кода).-S
это краткая форма--search
опции, которая на самом деле является опцией дляdpkg-query
команды (но обычнаяdpkg
тоже работает)Если вы хотите найти файлы в пакете, который вы не установили, используйте apt-file
Затем, чтобы найти что-то:
или
Где «файл» - это имя того, что вы ищете.
Если вы не хотите проходить это в каждой системе Debian, вы можете использовать этот скрипт:
Я только что это взбил, но, похоже, работает хорошо.
Примечание: «dpkg -S» находит только те вещи, которые вы уже установили.
источник
-y
параметра опасно, он может сказать да любому количеству вещей. В сценарии это может быть хорошо, но первая команда должна действительно читатьapt-get install apt-file
без,-y
поскольку вы не можете знать, как выглядит система пользователя.