Как определить, к какому пакету относится определенная команда в CentOS?


19

Например, я могу легко найти команду locate, относящуюся к пакету mlocate.i386.

yum search locate
mlocate.i386 : An utility for finding files by name
[mirror@home /]$ rpm -qa | grep locate
mlocate-0.15-1.el5.1

yum search updatedb
Loaded plugins: fastestmirror, protectbase
0 packages excluded due to repository protections
=========================================== Matched: updatedb ===========================================
mlocate.i386 : An utility for finding files by name

Но не так просто найти, к какой команде относится free package:

yum search free   // this command just returns too much informationy 
rpm -qa | grep free
freetype-2.2.1-31.el5_8.1   // obviously not the package by which free command is installed

Так есть ли какой-нибудь удобный способ узнать, к какому пакету относится конкретная команда в Linux? Например CentOS или некоторые другие дистрибутивы

Ответы:



24

Пример Ubuntu / Debian для проверки пакета freeкоманды:

dpkg -S $(which free)

это работает только для установленных пакетов. я нашел здесь что-то, что работает для $ dpkg -S */free$*
неустановленных

Я боюсь, что это не правильно. Я проверил, dpkg -S */firefox$*что дает несколько результатов на сервере, на котором установлен Firefox, ни один на сервере без Firefox. Я думаю, что это не может работать, потому что dpkgэто команда, работающая с локально установленными пакетами. Для того, чтобы найти не установленные пакеты , которые вы можете пойти в packages.ubuntu.com/...
Jeroen Vermeulen - MageHost

о мой Вы правы, извините за это
бобробоб

1
Если вы получаете DPKG-запрос: путь не найден соответствующий шаблон попробовать это : dpkg -S "$(readlink -fn "$(which free)")".
Пабло А

7

Для CentOS, как насчет Yum?

использование

which free 

узнать где это

Для меня это в

/ USR / бен / бесплатно

Итак, вы можете запустить

yum provides /usr/bin/free

и он скажет вам, в каком пакете есть


Если the commandне было установлено или доступно в ваших Centos, вы можете использовать yum provides <command>, потому which <command>что вернетсяnot <command> in ...
Lane Ouyang

1

Для всех дистрибутивов Red-Hat вы можете использовать утилиту управления пакетами yum

yum provides `which free`

Аргумент предоставляет указывает, какой пакет предоставляет определенную функцию или файл.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.