Почему update-mime-database жалуется на uri/rtspt и другие необычные типы?

Почему 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'

Вроде бы это ничему не мешает, но хронические ошибки во время обновлений рискуют скрыть ошибку, которая мне действительно важна.

решение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

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

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

Связанный контент