Como saber qual pacote é o responsável por instalar um determinado programa

0

Resumo do MEGA: Como procurar programas mais facilmente quando não há acesso ao navegador de internet da GUI, não tenho telefone em mim, etc. Ter apenas CLI no linux.

Digamos que estou usando o CentOS 7 e estou procurando um programa para instalar. Eu quero instalar o comando "locate". Para fazer isso eu escrevo yum search locate . O shell responde com uma lista de pacotes.

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

Neste caso eu intuitivamente sei que o mlocate.x86_64 é provavelmente o que eu estou procurando, então eu instalei por yum install mlocate.x86_64 mas eu tenho um enorme problema em fazer isso com programas que quando procurados estão sendo dados para mim como uma lista gigante de pacotes. Por exemplo: eu instalo o centos de instalação mínima 7. Depois de fazer isso eu procuro por um ambiente dekstop xfce yum search xfce . A saída é enorme e eu não sei o que são esses pacotes. Eu sei que xfce é um "ambiente de desktop", então eu yum search xfce | grep dekstop . Isso me dá:

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

A única coisa que se aproxima do que eu acho que quero é:

xfdesktop.x86_64 : Desktop manager for the XFce Desktop Environment

No entanto, não tenho certeza. Em nenhum lugar diz "ambiente desktop Xfce". Apenas diz que é um gerenciador de área de trabalho para esse ambiente. Eu não sei o que isso significa. Talvez esse exemplo em particular mostre que sou burro, mas estou tendo esse problema com muitos programas que quero instalar.

Eu procuro por um cliente 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

Como sei qual pacote eu preciso instalar ... Estou tendo esse problema com muita frequência. Parece que eu preciso saber a string de nome exato de um pacote responsável por instalar determinado programa. Minha pergunta é: Como procurar o programa mais fácil quando não há acesso ao navegador de internet GUI, não tenho telefone em mim, etc. Basta ter o CLI no linux.

    
por PowerBoss Nautilus 30.09.2018 / 15:05

1 resposta

1

Sua ferramenta para procurar por um programa é apt-file, que você instala desta maneira:

# 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

Se você souber o caminho absoluto do programa, poderá procurá-lo:

$ apt-file search /usr/bin/locate

Ou você pode procurar o programa que aparece no caminho:

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

Na saída, apenas um pacote irá especificar um executável localizado em seu padrão PATH, que dá uma pista de que pode ser o caminho certo.

Você também pode descobrir mais sobre o pacote para garantir que ele seja o caminho certo:

$ apt-cache show <package-name>

Isso listará todos os programas incluídos no pacote e poderá servir como verificação.

O Yum também aceita o comando whatprovides (ou provides ) para procurar por binários instalados ou não instalados:

yum whatprovides <path-to-file>

O comando de pesquisa do zypper pode verificar as listas de arquivos quando usadas com a opção -f:

zypper se -f /usr/bin/locate

O Pkgfile, disponível como pkgtools para sistemas baseados em pacman, fornece uma pesquisa semelhante recurso como os outros acima:

pkgfile -si /usr/bin/mysqldump

Para mais informações, consulte:

por 30.09.2018 / 16:22