为什么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