使用 apt-get 安装了一个软件包,但无法删除

使用 apt-get 安装了一个软件包,但无法删除

全新安装 Ubuntu 20.04...

$ which emacs

是空的。

我安装了emacsapt,它发现了一个非常旧的版本。但是,我无法卸载它,因为它说它不再存在。

$ sudo apt-get purge emacs
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package 'emacs' is not installed, so not removed
The following packages were automatically installed and are no longer required:
...
0 upgraded, 0 newly installed, 0 to remove and 33 not upgraded.

然而,它显然仍然存在。

$ which emacs
/usr/bin/emacs

$ emacs --version
GNU Emacs 26.3
Copyright (C) 2019 Free Software Foundation, Inc.
GNU Emacs comes with ABSOLUTELY NO WARRANTY.
You may redistribute copies of GNU Emacs
under the terms of the GNU General Public License.
For more information about these matters, see the file named COPYING.

我怎样才能让 ubuntu 删除这个它认为不存在的包?

答案1

emacs 是 Ubuntu 20.04 中的一个元包,而不是一个真正的包,因此你不能用以下命令卸载它sudo apt-get purge emacs:要在 Ubuntu 20.04 中卸载 Emacs,请运行以下命令:

sudo apt purge emacs-gtk emacs-lucid emacs-nox

以下是在我的 Ubuntu 22.04 中运行的部分结果sudo apt purge emacs-gtk emacs-lucid emacs-nox,显示 emacs 和 emacs-gtk 包将被删除:

The following packages will be REMOVED:
  emacs* emacs-gtk*
0 upgraded, 0 newly installed, 2 to remove and 0 not upgraded.

以下是三个 Emacs 包之间差异的简要描述。

  • emacs-gtk:GNU Emacs 编辑器(支持 GTK+ GUI)
  • emacs-lucid:GNU Emacs 编辑器(支持 Lucid GUI)
  • emacs-nox:GNU Emacs 编辑器(不支持 GUI)

答案2

要找出该二进制文件来自哪个包,请使用以下命令:

dpkg -S /usr/bin/emacs

相关内容