Например, я могу легко найти команду 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 или некоторые другие дистрибутивы
linux
command-line
centos
package-management
hugemeow
источник
источник
which free
?$(...)
это привычка для меня.which free | xargs rpm -qf
Пример Ubuntu / Debian для проверки пакета
free
команды:источник
$ dpkg -S */free$*
dpkg -S */firefox$*
что дает несколько результатов на сервере, на котором установлен Firefox, ни один на сервере без Firefox. Я думаю, что это не может работать, потому чтоdpkg
это команда, работающая с локально установленными пакетами. Для того, чтобы найти не установленные пакеты , которые вы можете пойти в packages.ubuntu.com/...dpkg -S "$(readlink -fn "$(which free)")"
.Для CentOS, как насчет Yum?
использование
узнать где это
Для меня это в
/ USR / бен / бесплатно
Итак, вы можете запустить
и он скажет вам, в каком пакете есть
источник
the command
не было установлено или доступно в ваших Centos, вы можете использоватьyum provides <command>
, потомуwhich <command>
что вернетсяnot <command> in ...
Для всех дистрибутивов Red-Hat вы можете использовать утилиту управления пакетами yum
Аргумент предоставляет указывает, какой пакет предоставляет определенную функцию или файл.
источник