Как найти пакет по программе: различия между версиями

Материал из ALT Linux Wiki
Нет описания правки
Нет описания правки
Строка 1: Строка 1:
Обычно имя пакета соответствует имени программы. Но иногда необходимо выяснить, к какому пакету относится та или иная утилита, и имена пакета и программы могут не совпадать.
Обычно имя пакета соответствует имени программы. Но иногда необходимо выяснить, к какому пакету относится та или иная утилита, и имена пакета и программы могут не совпадать.


Например. Есть для просмотра сетевых интерфейсов команда "ip a", а есть "ifconfig". Попробуем выяснить, к каким пакетам они относятся.
Например. Есть для просмотра сетевых интерфейсов команда {{cmd|ip a}}, а есть {{cmd|ifconfig}}. Попробуем выяснить, к каким пакетам они относятся.


Сначала нужно определить, где находится исполняемый файл программы:
Сначала нужно определить, где находится исполняемый файл программы:
  $ whereis ip
  $ which ip
  ip: /usr/bin/ip /sbin/ip /usr/share/man/man8/ip.8.xz /usr/share/man/man7/ip.7.xz
  /usr/bin/ip


  $ whereis ifconfig
  $ which ifconfig
  ifconfig: /bin/ifconfig /sbin/ifconfig /usr/share/man/man8/ifconfig.8.xz
  /bin/ifconfig
 
Нам нужен из результата путь содержащий "bin" - бинарные, двоичные файлы.


Далее с помощью следующей команды мы выясняем, из какого пакета исполняемый файл:
Далее с помощью следующей команды мы выясняем, из какого пакета исполняемый файл:
Строка 20: Строка 18:


Цель достигнута.
Цель достигнута.
==С использованием конструкции==
Так же в качестве параметра {{cmd|rpm -qf}} можно сразу указать команду, например:
$ rpm -qf $(which ip)
iproute2-5.13.0-alt1.x86_64
$ rpm -qf $(which ifconfig)
net-tools-1.60-alt19.x86_64
[[Категория:HOWTO]]
[[Категория:HOWTO]]

Версия от 20:12, 5 сентября 2023

Обычно имя пакета соответствует имени программы. Но иногда необходимо выяснить, к какому пакету относится та или иная утилита, и имена пакета и программы могут не совпадать.

Например. Есть для просмотра сетевых интерфейсов команда 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