Как узнать, какой пакет ответственен за установку данной программы?

468
PowerBoss Nautilus

Резюме MEGA: Как легче искать программы, когда нет доступа к интернет-браузеру с графическим интерфейсом, у меня нет телефона и т. Д. Просто есть CLI в Linux.

Допустим, я использую CentOS 7 и ищу программу для установки. Я хочу установить команду "locate". Для этого я пишу yum search locate. Оболочка отвечает списком пакетов.

mlocate.x86_64 : An utility for finding files by name perl-File-ShareDir.noarch : Locate per-dist and per-module shared files which.x86_64 : Displays where a particular program in your path is located 

В этом случае я интуитивно знаю, что mlocate.x86_64, вероятно, то, что я ищу, поэтому я устанавливаю его, yum install mlocate.x86_64но у меня возникают огромные проблемы, когда я выполняю программы, которые при поиске выдаются мне в виде огромного списка пакетов., Например: я устанавливаю минимальные установочные centos 7. После этого я ищу среду dekstop xfce yum search xfce. Вывод огромен, и я не знаю, что это за пакеты. Я знаю, что xfce - это «среда рабочего стола», поэтому я yum search xfce | grep dekstop. Это дает мне:

libxfce4util.i686 : Utility library for the Xfce4 desktop environment libxfce4util.x86_64 : Utility library for the Xfce4 desktop environment xfce4-power-manager.x86_64 : Power management for the Xfce desktop environment exo.i686 : Application library for the Xfce desktop environment exo.x86_64 : Application library for the Xfce desktop environment xfdesktop.x86_64 : Desktop manager for the XFce Desktop Environment 

Единственное, что близко подходит к тому, что я думаю, я хочу, это:

xfdesktop.x86_64 : Desktop manager for the XFce Desktop Environment 

Однако я не уверен. Нигде не сказано «среда рабочего стола Xfce». Это просто говорит о том, что это менеджер рабочего стола для этой среды. Я не знаю, что это значит. Может быть, этот конкретный пример просто показывает, что я глуп, но у меня эта проблема со многими программами, которые я хочу установить.

Я ищу клиента SSH:

[root@box-codeanywhere /]# yum search ssh | grep client gsi-openssh-clients.x86_64 : SSH client applications with GSI authentication libguac-client-ssh.i686 : SSH support for guacd libguac-client-ssh.x86_64 : SSH support for guacd ne7ssh.i686 : SSH Library is a Secure Shell client software written in C++ ne7ssh.x86_64 : SSH Library is a Secure Shell client software written in C++ openssh-clients.x86_64 : An open source SSH client applications perl-Net-OpenSSH.noarch : Perl SSH client package implemented on top of OpenSSH perl-Net-SSH-Perl.noarch : SSH (Secure Shell) client dropbear.x86_64 : SSH2 server and client perl-Net-SFTP-Foreign.noarch : SSH File Transfer Protocol client putty.x86_64 : SSH, Telnet and Rlogin client : clients and server 

Как я узнаю, какой пакет мне нужно установить ... У меня эта проблема возникает очень часто. Похоже, мне нужно знать точное имя строки пакета, ответственного за установку определенной программы. Мой вопрос: как проще искать программу, когда нет доступа к GUI интернет-браузеру, у меня нет телефона и т. Д. Просто есть CLI в linux.

0
Существует несколько [браузеров командной строки для Linux] (https://opensource.com/article/16/12/web-browsers-linux-command-line) DavidPostill 5 лет назад 0
Извините за не точность. Я хочу узнать, есть ли способ достичь моей цели без какого-либо браузера. PowerBoss Nautilus 5 лет назад 0

1 ответ на вопрос

1
harrymc

Ваш инструмент для поиска программы - это apt-файл, который вы устанавливаете следующим образом:

# Install apt-file, which allows you to search # for the package containing a file sudo apt-get install apt-file  # Update the package/file mapping database sudo apt-file update 

Если вы знаете абсолютный путь к программе, вы можете искать его:

$ apt-file search /usr/bin/locate 

Или вы можете найти программу, указанную в пути:

# Search for "locate" at the end of a path apt-file search --regexp '/locate$' 

В выводе только один пакет будет указывать исполняемый файл, расположенный в вашем стандартном PATH, что дает подсказку, что он может быть правильным.

Вы также можете узнать больше о пакете, чтобы убедиться, что он кажется правильным:

$ apt-cache show <package-name> 

Это перечислит все программы, включенные в пакет и может служить проверкой.

Yum также принимает команду whatprovides(или provides) для поиска установленных или не установленных двоичных файлов:

yum whatprovides <path-to-file> 

Команда поиска zypper может проверять списки файлов при использовании с параметром -f:

zypper se -f /usr/bin/locate 

Pkgfile, доступный как pkgtools для систем на основе pacman, предоставляет функцию поиска, аналогичную приведенной выше:

pkgfile -si /usr/bin/mysqldump 

Для получения дополнительной информации см .: