Descobrir de que pacote um comando veio [duplicado]

28

Existe uma maneira generalizada de descobrir qual pacote causou a instalação de um comando?

    
por oadams 18.11.2010 / 10:03

6 respostas

36

Abra um terminal e tente os seguintes comandos:

dpkg -S 'command name'

por exemplo: dpkg -S /bin/ls

Exemplo de saída:

coreutils: /bin/ls

Você também pode obter informações detalhadas sobre o status do pacote coreutils, digite:

 dpkg -s coreutils

Exemplo de saída:

Package: coreutils
Essential: yes
Status: install ok installed
Priority: required
Section: utils
Installed-Size: 9040
Maintainer: Ubuntu Core Developers 
Architecture: i386
Version: 5.97-5.3ubuntu3
Replaces: textutils, shellutils, fileutils, stat, debianutils (<= 2.3.1), dpkg (<< 1.13.2)
Provides: textutils, shellutils, fileutils
Pre-Depends: libacl1 (>= 2.2.11-1), libc6 (>= 2.6-1), libselinux1 (>= 2.0.15)
Conflicts: stat
Description: The GNU core utilities
 This package contains the essential basic system utilities.
 .
 Specifically, this package includes:
 basename cat chgrp chmod chown chroot cksum comm cp csplit cut date dd df dir
 dircolors dirname du echo env expand expr factor false fmt fold groups head
 hostid id install join link ln logname ls md5sum mkdir mkfifo mknod mv nice nl
 nohup od paste pathchk pinky pr printenv printf ptx pwd readlink rm rmdir
 sha1sum seq shred sleep sort split stat stty sum sync tac tail tee test touch
 tr true tsort tty uname unexpand uniq unlink users vdir wc who whoami yes
Original-Maintainer: Michael Stone 
    
por aneeshep 18.11.2010 / 10:10
10

existe outro método, talvez um pouco bobo, mas mais rápido que os anteriores :) apenas digite um comando incorreto e você obterá o nome do comando e o pacote corretos de onde veio.

Exemplo de saída:

pawel@pawel-desktop:/var/www$ sfn
No command 'sfn' found, did you mean:
 Command 'sn' from package 'mono-devel' (main)
 Command 'sfc' from package 'syfi-bin' (universe)
 Command 'svn' from package 'subversion' (main)
sfn: command not found
    
por Paweł Karpiński 18.11.2010 / 10:35
5

A partir do nome do comando, você pode usar os comandos 'type' e 'dpkg' para determinar o pacote responsável por sua instalação. Por exemplo, para descobrir qual pacote instalou o comando 'who', você poderia fazer os seguintes comandos em um prompt de comando:

$ type who
who is /usr/bin/who
$ dpkg -S /usr/bin/who
coreutils: /usr/bin/who
    
por Andy 18.11.2010 / 10:12
3

Você também pode fazer isso com uma linha:

dpkg -S $(which command)

Por exemplo, quero saber qual pacote contém ls :

dpkg -S $(which ls)

E aqui está a saída:

coreutils: /bin/ls

Então agora eu sei que o comando ls, / bin / ls, vem do pacote coreutils.

    
por Shnatsel 18.01.2011 / 21:03
2

Agora, para uma abordagem completamente diferente.

Vá para packages.ubuntu.com e siga seu nariz. Em particular, role para baixo até "Pesquisar o conteúdo dos pacotes" e digite o nome do arquivo ou o comando do sistema.

    
por 8128 02.08.2011 / 22:42
0
  1. solte em um prompt de comando (Menu > Aplicativos > Acessórios > Terminal)
  2. insira dpkg-query --search 'command' em que 'comando' é o comando cujo pacote proprietário você está tentando encontrar.
por finley 18.11.2010 / 10:08