什么是“whoopsie”进程,我该如何移除它?

在我的一台机器上,有一个正在运行的进程叫做"whoopsie"。我正在运行12.04服务器,并没有明确安装任何带有这个名字的东西。
谷歌似乎暗示它与错误日志有关,但我没有找到太多信息。事实上,我没有手动安装它,并且我检查的其他3台服务器确实没有这样的运行进程或可执行文件,这让我有点困惑。
有人知道"whoopsie"进程是什么吗?
有人知道可能安装了它的软件包吗?这台服务器非常简单,只安装了LAMP堆栈、Samba和打印服务器以及Nagios NRPE插件,除此之外没有安装其他东西,只是作为一个良好的备份服务器存在。
一些更多的信息:
$ whoopsie -h
Usage:
  whoopsie [OPTION...]

Help Options:
  -h, --help           Show help options

Application Options:
  -f, --foreground     Run in the foreground

并且

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND  
whoopsie   913  0.0  0.4  24448  2092 ?        Ssl  May07   0:00 whoopsie

并且

$ sudo cat /etc/passwd | grep whoop
whoopsie:x:107:118::/nonexistent:/bin/false

我按照这些指示在配置文件中摆脱了它。指示链接:http://mschoofs.blogspot.it/2015/11/unknown-username-whoopsie-in-message.html - flyingdrifter
7个回答

什么是whoopsie

  • 它是“Ubuntu错误报告”守护程序,并且默认安装在桌面和服务器上。
  • 当某个程序崩溃时,whoopsie会执行两个操作:
    1. 收集由Apport生成的崩溃报告
    2. 可以将这些报告发送给Ubuntu/Canonical(具体地说是通过https://daisy.ubuntu.comBSON格式发送)

只有在您允许的情况下,Whoopsie才会发送您的崩溃报告!

  • 正如Evan在下面的回答中解释的那样,只有在您通过图形对话框(见下文)或者对于CLI服务器,显式运行apport-cli时,崩溃数据才会被传输。

    screenshot

如何在我的桌面上禁用它?

GNOME Shell(Ubuntu 17.10+)

screenshot

Unity (Ubuntu 17.04之前)

  • 进入设置...隐私...

    screenshot

  • 在诊断选项卡中,取消勾选 向Canonical发送错误报告 选项:

    screenshot

如何在服务器或通过命令行禁用它?

  • 只需在/etc/default/whoopsie文件中将report_crashes参数更改为false
  • 然后使用sudo service whoopsie stop告别whoopsie。

你有没有任何线索可以安装它的软件包? - Nanne
使用apt-file search /woopsie命令可以找到woopsie软件包。通过使用apt-cache rdepends whoopsieapt-cache show ubuntu-desktop命令,可以看到ubuntu-desktop推荐安装它。 - Lekensteyn
我相信它作为桌面/服务器安装的默认部分已经安装了;不过我没有在expert-cli服务器或备用安装中看到。 - ish
嗯,如果这是一个干净的“服务器”安装,那么它不应该存在其中。我得查一下我的资料,了解一下这个东西的历史。我可能会卸载它,除非有什么反对意见? - Nanne
37不,只是apt-get将其删除。 - ish
5我刚刚进行了一次干净的12.04服务器安装,它是自动安装的。 - user12973
但是你是在“expert-cli”模式下完成的吗? - ish
2我刚刚得到了一个根服务器,上面安装了一个几乎原始的服务器系统,可能不是专家模式,但没有安装任何东西(甚至没有ntp),然后遇到了问题。实际上使用apt-get命令成功摆脱了它,谢谢你提供这个很棒的术语 :) - TheDeadSerious
10在Ubuntu中没有/etc/default/whoopsie。 - Evan Carroll
@ish,当禁用“whoopsie”时,我是否仍会收到错误报告(在消息框中查看),只是禁用了“calling home”?(这是我的目的 - Frank N

Whoopsie是Ubuntu错误跟踪器的一部分。它接收由apport创建的崩溃报告,并在应用程序失败时将它们发送到Canonical服务器进行进一步处理。从这些报告中收集的数据帮助我们优先处理和跟踪最紧迫的问题。

https://errors.ubuntu.com

小型(指磁盘空间,而非必然的CPU/RAM使用)的whoopsie守护进程在Ubuntu桌面和服务器安装中默认运行。只有在桌面安装时,在弹出的对话框中明确批准或在服务器上手动运行apport-cli后,它才会发送报告。
您可以通过进入系统设置->隐私->诊断并取消选中“向Canonical发送错误报告”复选框来禁用它。
要在Ubuntu服务器上禁用它,请编辑/etc/default/whoopsie文件,将report_crashes=更改为false,然后运行sudo stop whoopsie
请注意,如果这样做,我们将无法了解影响您计算机的问题,并可能无法修复它们。我在这个视频中讲述了我们如何利用您的数据使Ubuntu变得更好。

3我发现默认情况下 Ubuntu 服务器中包含这个很奇怪。如果说什么的话,我的无头服务器没有“系统设置->隐私”选项。这个轻浮的名字让我好奇它是什么,因为我没想到在服务器版本中会出现,但似乎它是默认安装的,所以我就将就着停掉它吧 :) - Nanne
20这个"小错误守护进程"占用了我超过50%的内存和90%的单个CPU核心。 - bluesmoon
2那么,是谁疯狂到安装了一个如此轻浮的名字的守护进程呢(而且默认还要让它报告!- 我在13.10版本上已经关闭了报告功能,结果在14.04版本又回来了!)。我知道在Unix系统中有一长串轻浮的程序名称的传统,但乍一看这个名字像是恶意软件。 - Auspex
在16.04版本中,/etc/default/whoopsie文件不存在。唯一停止whoopsie的方法是卸载它。 - musbach
1@Auspex 决定将“Dr. Watson”作为微软Windows错误报告的名称的那些人,与这类人相同。 - Tsaukpaetra
@Tsaukpaetra 嗯,不是的。 "Dr. Watson" 至少给你一个提示它在做什么(如果我没记错的话,它是在前台运行的)。正是这个在后台运行的愚蠢名称让人们认为它是恶意软件。 - Auspex
@Auspex相反,Watson博士听起来像是调查你谋杀案的间谍软件。这个愚蠢的名字参考了一个虚构角色,每当发生不好的事情时就会逃跑,让人们误以为是恶意软件。-.- - Tsaukpaetra

$ apt --simulate purge whoopsie

The following packages will be REMOVED

whoopsie*

$ apt purge whoopsie

我在建立自己的Ubuntu桌面过程中没有遇到任何问题,但是那个东西一直导致我的系统崩溃,不过现在我已经摆脱它了 :)

15作为一个崩溃报告工具,我怀疑它只是在其他事物崩溃后显示出来,这样简单的工具很不可能是崩溃的真正原因。 - Kzqai
7就好像说“Mozilla Crash Reporter崩溃了火狐浏览器”一样。Whoopsie是一个崩溃报告工具,所以当其他东西崩溃时,whoopsie会提供发送报告的选项。 - Luka Ramishvili
9执行 apt-get -s 命令会进行模拟运行。当您准备实际移除一个软件包时,请将 apt-get -s 替换为 sudo apt-get。如果只运行 apt-get -s,则不会发生实际的卸载操作。 - Eliah Kagan
Whoopsie在我故意用虚拟数据引爆进程以测试其极限后,会以100%的CPU运行几分钟,使糟糕的情况变得更糟糕。 - Ray Foss
仍然适用于Ubuntu 20+(并且仍然必要) - Kingsley

这是Canonical的错误报告守护程序。
让人不爽的是,甚至没有询问您是否要安装它,如果您在预算有限的服务器上使用,这并不好。
@Glynn BLower apt-get -s purge 似乎并没有真正卸载守护程序,只是告诉您它是否存在,以便您可以清除它。 apt-get purge 在我的13.04服务器安装中解决了这个问题。

多好啊,一个没有解释的负评。你介意解释一下为什么你给我负评吗?是因为我不喜欢在我的服务器上运行一个自动发送系统数据的进程而没有我的批准吗?是因为我批评了Canonical这个问题吗?还是因为apt-get purge确实会卸载它和相关的软件包,而我在这里犯了个错误?如果你对这个问题更了解,请分享你的见解!尤其是因为我所参考的帖子已经根据我的发现进行了修改。 - Tobias F. Meier
3我只能猜测,但我认为你的回答被投票否决是因为它不是一个完整的回答(你的命令是不完整的,至少如此)。另一个原因可能是你把评论作为回答,而不是适当地在答案上发表评论。 - Thorbjørn Lindeijer
1根据@ThorbjørnLindeijer的评论,apt-get -s故意不执行任何操作,其中-s代表--simulate,在参考答案中已经详细写明,它只是模拟命令的功能。同样,在参考答案中,下一个命令没有使用标志,并执行了预期的操作。 - Nick Bull


Whoopsie有一系列的依赖关系,如果没有Whoopsie,它们就是多余的。 Synaptic软件包管理器可以解决这个问题。
搜索 > Whoopsie 将所有与whoopsie相关的lib_*包标记为完全删除。
应用
如果你选择了sudo apt-get -s purge whoopsie的方法,请不要忘记在此之后运行sudo apt autoremove来清除所有的包。
建议在完成以上步骤后运行sudo apt-get update,并使用service --status-all命令验证系统中是否存在'whoopsie'。

今天我在运行的连接中看到了进程"whoopsie"(使用lsof -i -n命令)。 我无法停止这个进程,尝试使用"kill PID"命令失败。 然后我注销了"root账户"并重新登录。该进程继续以相同的PID运行,这意味着进程没有结束。 接下来我重启了计算机,但由于"whoopsie"仍在运行且无法结束,计算机无法关机。因此,我不得不按住电源按钮直到计算机关闭。 最糟糕的是,"whoopsie"在那个时间点上传了大量数据到互联网,而我不知道上传了什么。 之后,我从我的电脑上删除了"whoopsie"。
apt remove --purge whoopsie && apt autoremove && apt autoclean && restart

糟糕的截图

---编辑--

我忘了说,糟糕通过关闭的防火墙连接。实际上是不可能的。

所有端口都关闭,只有443和9001端口是开放的。

防火墙截图


你把这个发表为一个答案,但它似乎并不是一个答案。我们在这里使用问答格式。如果你有问题,请点击“提问”。如果需要提供背景信息,你可以链接到这个页面:https://askubuntu.com/tour - Nmath