某些应用程序可能与一堆软件包一起安装。例如,vim
可以与软件包一起使用:vim-gnome
、等。要卸载应用程序vim-gtk
,vim-nox
我需要定义实际安装应用程序的软件包是什么。如何定义它?我想通过命令行获取它。
我的问题的答案与以下问题的答案略有不同问题:
$ dpkg -S "$(readlink -f `which vim`)"
答案1
apt-cache showpkg vim
此命令将显示vim
包依赖关系及其反向依赖关系。
包的依赖项是安装所必需的;如果您安装一个包,则将首先安装尚未安装的依赖项(递归:如果 C 依赖于 B,而 B 依赖于 A,则系统将确保首先安装 A,然后安装 B,最后安装 C)。
你要问的是包的反向依赖关系:这些是所述包的依赖关系是依赖项。因此,使用您的示例:
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]
答案2
我认为您应该为此使用 apt-file。
$ sudo apt-get install apt-file
然后你可以像这样使用它
$ apt-file search `which vim`