Перейти к содержимому

Какая библиотека содержит файл X?

0

Я устал искать конкретные файлы для конкретных задач, для вопросов, как этот, например.

Есть ли способ, чтобы кто-нибудь сам узнал, какую библиотеку нужно установить, чтобы иметь какой-нибудь файл?

условия:

  • у вас есть имя файла, который вы хотите сделать доступным
  • вы не знаете название библиотеки
  • библиотека (конечно) не установлена ​​в вашей системе
123 просмотра
Dr Beco спросил 15 лет назад
D 918

2 ответа

2
Принятый ответ

В Debian или Ubuntu вы можете узнать у менеджера пакетов об установленных пакетах

dpkg --search <filename> 

Если пакет не установлен, вы можете использовать apt-file

apt-file update apt-file search <filename> 

Если вы ничего не знаете о конкретном файле, который ищете, но хотите знать о какой-то конкретной функции (упомянутой в описании пакета)

apt-cache search <keywords> 

Для поиска пакета, когда вы знаете часть имени (даже если пакет не установлен)

dpkg -l '*pattern*' 

Дорогой Кен, это звучит многообещающе. Возможно, я делаю что-то не так, потому что поиск apt-file search ncurses показывает мне 1489 файлов. Я думаю, что мне нужно собрать правильный файл из набора вручную, нет? Благодарю.

Dr Beco · 15 лет назад · 0

@Dr Beco: Я думаю, для этого вы хотите dpkg -l '* ncurses *' (который я только что добавил к ответу).

Ken Bloom · 15 лет назад · 1

Благодарю. Очень подробно и полезно. Если бы я мог, я бы +1 его больше, чем один раз. ;)

Dr Beco · 15 лет назад · 0
Ken Bloom ответил 15 лет назад
K 459
1

Запросите ваш менеджер пакетов.

yum whatprovides '*/somefile' 
Ignacio Vazquez-Abrams ответил 15 лет назад
I 95 210