為什麼 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

這是安娜·格雷羅 (Ana Guerrero) 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-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

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

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

相關內容