
Почему при запуске 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
Вотцитата Аны Герреро в 2008 годутак что можно было бы подумать, что к настоящему времени это уже исправлено.
Эти фейковые mimetypes установлены вместе
kdelibs
с файлом/usr/share/mime/packages/kde.xml
уже давно. Они хранятся в kde4libs.В последней версии
update-mime-database
стало многословно об этом неизвестном типе, и именно поэтому вы получаете эту ошибку, когда обновляете что-то и затемupdate-mime-database
запускаете. Это вряд ли изменится.
решение2
Это проблема update-mime-database
самого стандарта MIME. Изначально предполагалось, что он будет расширяемым. Но IETF упростил его, и никаких новых основных типов MIME не зарегистрировано (application/* используется как недифференцированный всеобъемлющий). Рассуждение/предположение, стоящее за этим, заключается в том, что лишь немногие инструменты разработаны для корректной работы с новыми типами MIME.
Теперь update-mime-database по крайней мере не падает, когда видит псевдоклассификаторы вроде uri/ и fonts/ или interface/. Так что я предполагаю, что он жалуется только потому, что другие приложения могут на них наткнуться. strings
дал мне следующий список, вероятно, встроенных списков «безопасных» типов MIME:
- текст
- приложение
- изображение
- аудио
- иноды
- видео
- сообщение
- модель
- многочастный
- x-контент
- x-эпос
То есть это будет раздражать любые другие x-
или x.
или основные типы пантомимы. Любопытно, vnd.
что это что угодно, но не официальный тип медиа.prs.
inode/
решение3
Похоже, что есть куча библиотек KDE, которые вносят эти определения mime-типов, которые в противном случае недружелюбны к Gnome. В моем случае библиотеки были добавлены как зависимости к пакету приложений 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