htmlファイルを作成すると、LinuxはMIMEタイプをtext / htmlとして宣言できます。この問題はどのように処理されますか? 「識別子」はどこに保存されますか?実装された認識機能を使用してMIMEタイプを追加するにはどうすればよいですか?
答え1
通常、この問題を処理する2つのライブラリがあります。これマイム情報の共有図書館は最大の図書館です。しかし、また文書「libmagic」のユーティリティを提供します。
これらはそれぞれ独自のデータベースを維持しています。しかし、shared-mime-infoはより一般的でスケーラブルに設計されています。
/usr/share/mime
エントリを追加する方法はディストリビューションによって異なりますが、私のシステムの場所はです。デフォルトでは、ファイル形式がどのように認識されるかを説明するxmlファイルを追加するだけです(私のシステムでは、パッケージはそのファイルをに保存します/usr/share/mime/packages
)。
xmlファイルを追加したら、update-mime-database
コマンドを使用してキャッシュを再生成します。
(shared-mime-infoプロジェクトのウェブサイトには良いチュートリアルがあります:http://freedesktop.org/wiki/Specifications/AddingMIMETutor/)
サンプルファイルは次のとおりです。
<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
<mime-type type="image/png">
<comment xml:lang="en">PNG image</comment>
<comment xml:lang="af">png beeld</comment>
...
<magic priority="50">
<match type="string" value="\x89PNG" offset="0"/>
</magic>
<glob pattern="*.png"/>
</mime-type>
</mime-info>
一般的なリソース(xmlファイルの完全な仕様など)もプロジェクトサイトで最もよく入手できます。http://freedesktop.org/wiki/Specifications/shared-mime-info-spec/