一部のアプリケーションは、多数のパッケージとともにインストールされる場合があります。たとえば、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`