![强制 apt 删除所有 emacs*](https://linux22.com/image/806891/%E5%BC%BA%E5%88%B6%20apt%20%E5%88%A0%E9%99%A4%E6%89%80%E6%9C%89%20emacs*.png)
我在使用 emacs 的 apt-packages 时遇到了一个错误问题:
>>Error occurred processing debian-ispell.el: File error (("Opening input file" "no such file or directory" "/usr/share/emacs23/site-lisp/dictionaries-common/debian-ispell.el"))
>>Error occurred processing ispell.el: File error (("Opening input file" "no such file or directory" "/usr/share/emacs23/site-lisp/dictionaries-common/ispell.el"))
>>Error occurred processing flyspell.el: File error (("Opening input file" "no such file or directory" "/usr/share/emacs23/site-lisp/dictionaries-common/flyspell.el"))
emacs-install: /usr/lib/emacsen-common/packages/install/dictionaries-common emacs23 failed at /usr/lib/emacsen-common/emacs-install line 28, <TSORT> line 30.
dpkg: error processing emacs23-lucid (--configure):
subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of emacs:
emacs depends on emacs23 | emacs23-lucid | emacs23-nox; however:
Package emacs23 is not installed.
Package emacs23-lucid which provides emacs23 is not configured yet.
Package emacs23-nox which provides emacs23 is not installed.
Package emacs23-lucid is not configured yet.
Package emacs23-nox is not installed.
dpkg: error processing emacs (--configure):
dependency problems - leaving unconfigured
No apport report written because the error message indicates its a followup error from a previous failure.
Errors were encountered while processing:
emacs23-lucid
emacs
E: Sub-process /usr/bin/dpkg returned an error code (1)
事实上,只要有 emacs23-nox 和几个插件(来自 apt),我就满足了。但我既不能 --purge 也不能 --purge 重新安装,也不能删除软件包。它总是在处理这个特定的错误。我做了一些谷歌搜索,在 Launchpad 上找到了一些东西,建议:
sudo apt-get install --reinstall --purge emacsen-common
但这是相同的...所以我希望有一种方法可以告诉应用程序删除与 emacs 相关的所有内容,然后从头开始?
谢谢,马吕斯
答案1
当软件包的 {pre,post}-{installation,removal} 脚本抛出错误时,有时您将无法完成软件包的安装或删除。这可能是由于软件包(或有时是另一个软件包)中的错误而导致的,在这种情况下,您应该尝试识别问题并报告错误,或者因为您在 中乱搞/usr
,在这种情况下,请不要这样做。
解决方法是采取必要的措施来满足包脚本的要求,或者注释掉包脚本中有问题的命令。您遇到问题的包脚本位于/var/lib/dpkg/info/emacs23-lucid.postinst
。失败的特定命令是/usr/lib/emacsen-common/emacs-install ${FLAVOR}
。
您应该尝试做的第一件事是修复根本问题。这里/usr/share/emacs23
缺少 下的三个文件。它们应该是 下相应文件的符号链接/usr/share/emacs
。如果它们是损坏的符号链接,请尝试删除它们;如果 下的文件/usr/share/emacs23
不存在但 下的文件/usr/share/emacs
存在,请尝试创建符号链接。
如果你无法解决这个问题,
- 注释掉有问题的行:编辑包脚本,
#
在有问题的行开头添加; - 或忽略错误:
|| true
在有问题的命令末尾添加,或set -e
在文件开头附近删除。
除了删除并重新安装该emacs23-lucid
软件包之外,您可能还需要重新安装其他软件包以使您的系统恢复正常状态,特别是dictionaries-common
提供三个麻烦.el
文件的软件包。
答案2
由于某些原因,Emacs 中存在很多不必要的依赖项。我的建议是删除所有 Launchpad 版本的 Emacs、Emacsen 以及任何其他版本的 Emacs。
下一步是访问 gnu.org 并下载可用的最新 Emacs。在安装之前,您可能需要构建 Emacs,但 GNU 提供的功能无需 Ubuntu、Canonical 或 Launchpad 所需的额外负担即可运行。
对于这个问题我还有其他的想法和看法,但是这样就已经太过了。