Как найти пакет по программе
Обычно имя пакета соответствует имени программы. Но иногда необходимо выяснить, к какому пакету относится та или иная утилита, и имена пакета и программы могут не совпадать.
Например. Есть для просмотра сетевых интерфейсов команда ip a, а есть ifconfig. Попробуем выяснить, к каким пакетам они относятся.
Сначала нужно определить, где находится исполняемый файл программы:
$ which ip /usr/bin/ip
$ which ifconfig /bin/ifconfig
Далее с помощью следующей команды мы выясняем, из какого пакета исполняемый файл:
$ rpm -qf /usr/bin/ip iproute2-5.13.0-alt1.x86_64
$ rpm -qf /bin/ifconfig net-tools-1.60-alt19.x86_64
Цель достигнута.
С использованием конструкции
Так же в качестве параметра rpm -qf можно сразу указать команду, например:
$ rpm -qf $(which ip) iproute2-5.13.0-alt1.x86_64
$ rpm -qf $(which ifconfig) net-tools-1.60-alt19.x86_64