Alguns aplicativos podem ser instalados com vários pacotes. Por exemplo, vim
pode ir junto com os pacotes: vim-gnome
, vim-gtk
, vim-nox
etc. Para desinstalar o aplicativo, preciso definir qual é o pacote exaxt que realmente instalou um aplicativo. Como defini-lo? Eu gostaria de obtê-lo via linha de comando.
A resposta para minha pergunta difere um pouco das respostas parapergunta:
$ dpkg -S "$(readlink -f `which vim`)"
Responder1
apt-cache showpkg vim
Este comando mostra as vim
dependências dos pacotes e suas dependências reversas.
As dependências de um pacote são necessárias para que ele seja instalado; se você instalar um pacote, e suas dependências que ainda não estão instaladas serão instaladas primeiro (recursivamente: se C depende de B e B depende de A, o sistema garantirá que A seja instalado primeiro, depois B e finalmente C ).
As dependências reversas de um pacote são o que você está perguntando: estes são os pacotes para os quais o pacote declaradoéuma dependência. Então, para usar seu exemplo:
ghoti@home $ apt-cache showpkg vim
Package: vim
Versions:
2:7.4.1689-3ubuntu1 (/var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_xenial_main_binary-i386_Packages) (/var/lib/dpkg/status)
Description Language:
File: /var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_xenial_main_binary-i386_Packages
MD5: 59e8b8f7757db8b53566d5d119872de8
Description Language: en
File: /var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_xenial_main_i18n_Translation-en
MD5: 59e8b8f7757db8b53566d5d119872de8
Reverse Depends:
vimhelp-de,vim 2:7.5
vimhelp-de,vim 2:7.4
byobu,vim
vim-vimoutliner,vim
vim-tlib,vim
vim-tabular,vim
[and a whole bunch of others omitted for brevity]
Dependencies:
2:7.4.1689-3ubuntu1 - vim-common (5 2:7.4.1689-3ubuntu1) vim-runtime (5 2:7.4.1689-3ubuntu1) libacl1 (2 2.2.51-8) libc6 (2 2.15) libgpm2 (2 1.20.4) libselinux1 (2 1.32) libtinfo5 (2 6) ctags (0 (null)) vim-doc (0 (null)) vim-scripts (0 (null))
Provides:
[omitted for brevity]
Responder2
Eu acho que você deveria usar o apt-file para isso.
$ sudo apt-get install apt-file
Então, você usaria assim
$ apt-file search `which vim`