Получить имя пакета, содержащего данный двоичный файл

Как глава, которую Вы цитируете из POSIX, объясняет, SIGINT отправляется целой группе приоритетного процесса. Поэтому, чтобы не уничтожать родителя программы, примите меры, чтобы это работало в его собственной группе процесса.

Оболочки не предоставляют доступ к setpgrp через встроенную или синтаксическую конструкцию, но существует косвенный способ достигнуть его, который должен выполнить оболочку в интерактивном режиме. (Благодаря Stéphane Gimenez для приема.)

ksh -ic '
  … the part that needs to be interruptible without bothering the parent …
'

5
13.04.2017, 15:36
2 ответа

Вы хотите dpkg . В частности, опция -S найдет, какой пакет владеет файлом.

Пример:

$ dpkg -S /usr/bin/whereis
util-linux: /usr/bin/whereis

Пример показывает, что util-linux - это пакет, содержащий / usr / bin / whereis .

6
27.01.2020, 20:36
dpkg --search /usr/bin/mysqldump
dpkg -S /usr/bin/mysqldump

Аргумент dpkg --search - это шаблон подстановки оболочки, поэтому вы можете делать такие вещи, как dpkg -S bin / * дамп .

Кроме того, вы можете искать в базе данных вручную - это просто текстовые файлы.

grep mysqldump /var/lib/dpkg/info/*.list

В системе с большим количеством установленных пакетов dpkg -S может работать медленно, потому что ему приходится читать много маленьких файлов в / var / lib / dpkg / info . Вы можете установить dlocate , который индексирует файлы, установленные через пакеты deb, так же, как locate индексирует все файлы: информация немного устарела (по умолчанию база данных обновляется каждую ночь), но операция запроса выполняется быстрее.

2
27.01.2020, 20:36

Теги

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