我收到错误消息“该报告属于未安装的包。”
一般来说我会忽略它,因为看似没有问题,除了我收到了崩溃报告,然后我说报告问题,然后我得到了这个。
那么,一个甚至没有安装的包或程序怎么会崩溃呢?听起来有点矛盾,不是吗?
我该怎么办?为什么会出现这种情况?
答案1
发生这种情况是因为apport
无法看到失败的可执行文件的父包。apport
,这是 Ubuntu 的问题报告器,会监视程序执行中的每个问题。
当程序崩溃时,apport
触发查找程序(它会不断监视程序的执行,除非你禁用它)这表明程序异常终止。它会找到崩溃的可执行文件,并在系统中搜索包含此可执行文件的包。当它无法找到包含该可执行文件的父包时,(在 dpkg 的数据库中)它显示了一个错误,说“该报告属于未安装的包。”
例如:
我为我的 Wimax 调制解调器使用了一个程序,叫做wimaxc
(未被任何包管理器安装)。它有时会失败,apport
也无法找到可执行文件的父包,/usr/bin/wimaxc
因此,它会显示该错误消息。
查找可执行文件的父包:
如果您想查找可执行文件的父包,例如/usr/bin/gnome-terminal
在终端中输入以下命令:
dpkg -S /usr/bin/gnome-terminal
它将给你类似这样的输出
gnome-terminal: /usr/bin/gnome-terminal
这里,gnome-terminal
是文件的父包/usr/bin/gnome-terminal
。
笔记:每当你安装一个包时,它都会列在 dpkg 的数据库中。因此,如果你使用一个不是由包管理器安装的程序(例如 apt-get、synaptic、aptitude 或 Software-Center),apport
当它崩溃时,总是找不到父包,因为没有父包
答案2
引导我到这里来的问题是:“哪个包没有安装?”
/var/crash/
我通过按日期排序内容找到了答案。