为什么update-mime-database会抱怨uri / rtspt和其他不寻常的类型?

当运行update-mime-database – 通常由apt-get自动启动 – 为什么我可靠地得到如下抱怨:

 Unknown media type in type 'all/all' Unknown media type in type 'all/allfiles' Unknown media type in type 'uri/mms' Unknown media type in type 'uri/mmst' Unknown media type in type 'uri/mmsu' Unknown media type in type 'uri/pnm' Unknown media type in type 'uri/rtspt' Unknown media type in type 'uri/rtspu' Unknown media type in type 'fonts/package' Unknown media type in type 'interface/x-winamp-skin' 

它似乎没有伤害任何东西,但更新期间的慢性错误可能会掩盖我所关心的错误。

实际上你可以通过这样做来解决它

 sudo rm /usr/share/mime/packages/kde.xml sudo update-mime-database /usr/share/mime 

以下是Ana Guerrero在2008年的报价,所以你认为它现在已经修好了。

很久以前, kdelibs用文件/usr/share/mime/packages/kde.xml安装了那些假的mimetypes。 它们保存在kde4libs中。

在最近的版本中, update-mime-database对这种未知类型变得冗长,这就是为什么在更新内容然后运行update-mime-database时会出现此错误的原因。 它不太可能改变。

这是update-mime-database和MIME标准本身的问题。 最初它应该是可扩展的。 但IETF将其愚蠢,并没有注册新的主要mime类型(application / *被用作无差别的catch-all)。 这背后的推理/推测是,很少有工具可以正确使用新的MIME类型。

现在update-mime-database在看到像uri /和fonts /或interface /这样的伪分类器时至少不会失败。 所以我认为它只是抱怨,因为其他应用程序可能实际上绊倒它们。 strings给了我以下可能内置的“安全”MIME类型列表:

  • 文本
  • 应用
  • 图片
  • 音频
  • 索引节点
  • video
  • 信息
  • 模型
  • X-内容
  • X-EPOC

这意味着它会唠叨任何其他x-x.vnd. 或者prs. 主要的哑剧类型。 好奇的inode/不是官方媒体类型。

似乎有一堆KDE库引入了这些其他Gnome不友好的mime类型定义。 就我而言,这些库作为依赖项添加到我后来卸载的KDE应用程序包中。

要删除一堆KDE库及其关联的/ usr / share / mime条目,我使用了:

 sudo apt-get purge kdelibs-bin kdelibs-data sudo apt-get autoremove --purge sudo update-mime-database /usr/share/mime 

在确认删除之前,请注意第一个命令不会强制删除所需的包。 摆脱kdelibs-bin将使得大量的软件包不再需要并准备好进行自动移植。

我在Intrepid Ibex的旧bug报告中找到了此修复的基础。

备份你的/usr/share/mime目录,以防万一。

我通过删除/usr/share/mime目录下的所有.xml文件解决了它,然后运行update命令

 cp -R /usr/share/mime /usr/share/mime_back find /usr/share/mime -name *.xml -exec rm -rfv {} + update-mime-database /usr/share/mime 

https://askubuntu.com/a/299482/789190

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=469833