运行时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'
它似乎没有造成任何东西的损害,但更新过程中的长期错误可能会掩盖我关心的错误。
答案1
实际上你可以简单地通过以下方式修复它
sudo rm /usr/share/mime/packages/kde.xml
sudo update-mime-database /usr/share/mime
这是Ana Guerrero 在 2008 年的一句话所以你会认为现在这个问题已经解决了。
这些伪造的 mimetype很久以前就
kdelibs
随文件一起 安装了。它们保存在 kde4libs 中。/usr/share/mime/packages/kde.xml
在最近的版本中,
update-mime-database
关于这些未知类型的描述变得冗长,这就是为什么在更新内容然后update-mime-database
运行时会出现此错误的原因。这种情况不太可能改变。
答案2
这是 MIME 标准本身的问题update-mime-database
。最初它应该是可扩展的。但 IETF 简化了它,没有注册任何新的主流 MIME 类型(application/* 用作无差别的万能类型)。背后的原因/推测是,很少有工具可以正确处理新的 MIME 类型。
现在,update-mime-database 至少在遇到 uri/、fonts/ 或 interface/ 等伪分类器时不会失败。因此,我认为它之所以会抱怨,是因为其他应用程序实际上可能会遇到它们。strings
给了我以下可能是内置的“安全” MIME 类型列表:
- 文本
- 应用
- 图像
- 声音的
- 索引节点
- 视频
- 信息
- 模型
- 多部分
- x-内容
- x-epoc
x-
这意味着它会对任何其他或x.
和vnd.
或prs.
主要的哑剧类型产生不满。奇怪的inode/
是,它根本不是一种官方媒体类型。
答案3
似乎有一堆 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 的旧错误报告。
答案4
备份您的/usr/share/mime
目录,以防万一。
我通过删除目录.xml
中的所有文件/usr/share/mime
然后运行更新命令来解决这个问题
cp -R /usr/share/mime /usr/share/mime_back
find /usr/share/mime -name *.xml -exec rm -rfv {} +
update-mime-database /usr/share/mime