我正在尝试在我的 ubuntu 14.04 上安装 ckan,但遇到了一些无法修复的错误,因此我决定在从电脑中删除所有内容后进行全新安装。当我尝试 sudo apt-get remove jetty 时,我遇到了一些错误
*Stopping Jetty servlet engine (was reachable on http://myComputer-ubuntu:8983/).
jetty start-stop-daemon: user 'solr' not found
start-stop-daemon: user 'solr' not found
invoke-rc.d: initscript jetty, action "stop" failed.
dpkg: error processing package jetty (--remove): subprocess installed pre-removal script returned error exit status 2
*Starting Jetty servlet engine. jetty start-stop-daemon: user 'solr' not found *(already running). [ OK ]
Errors were encountered while processing:
jetty
E: Sub-process /usr/bin/dpkg returned an error code (1)
执行 sudo apt-get purge --auto-remove jetty 后出现此错误:
The following packages have unmet dependencies:
jetty : Depends: libjetty-java (>= 6.1.26-1ubuntu1.1) but it is not installed
Depends: jsvc but it is not installed
Depends: apache2-utils How on earth can i completely remove Jetty!!??!!
有人能知道吗?谢谢
(也发布在 StackOverflow 上,但这似乎是更合适的地方)
答案1
我认为您只需编辑 jetty 启动脚本/etc/init.d/jetty
,并在第二行放置一个干净退出:
#!/bin/sh -e
exit 0
然后
apt-get update && apt-get -f install
这将彻底删除 jetty。它失败是因为初始化脚本失败。
答案2
我在 Ubuntu 14 上遇到了同样的错误消息,我刚刚弄清楚了它是什么。
问题出在行尾为/etc/default/jetty
。事实证明,该文件已在 Windows 上编辑过,并且行尾为CRLF
,一旦我将文件更新为LF
并重新运行它,问题就解决了。
测试此问题的最快方法是通过运行恢复到 Jetty 的原始配置sudo mv /etc/default/jetty /tmp/
,然后运行sudo service jetty restart
。如果您遇到与我相同的问题,jetty 将正确重启。