質問: update-mime-databaseコマンドで生成されたマジックファイルをfileコマンドで使用する方法 私はUbuntu Server 11.10を使用しています。 My problem is that the `file` command detects files that should have had the `video/mp2t` mime-type as `application/octet-stream` ここに私がしたことがあります: 1. `/usr/share/mime/packages/freedesktop.org.xml` に正しいmp2tの説明が含まれていることを確認しました。 `/usr/share/mime/magic` コマンドを実行しました。 `update-mime-database` コマンドを実行しました。 `file -v` を実行すると、`/etc/magic:/ usr/share/misc/magic` を魔法として使用していることがわかりましたファイル。 `file -m/usr/share/mime/magic MY_VIDEOFILE` の `file` コマンドに、新しいマジックファイルを使用するように指示しました。 ここで問題が始まるところです。新しいマジックファイルで `file` コマンドを実行すると、次のような出力が得られます。 ``` /usr/share/mime/magic, 1: Warning: offset `MIME-Magic' invalid /usr/share/mime/magic, 1: Warning: type `MIME-Magic' invalid /usr/share/mime/magic, 2: Warning: offset `[90:application/docbook+xml]' invalid /usr/share/mime/magic, 2: Warning: type `[90:application/docbook+xml]' invalid . . (921 lines removed from the output) . /usr/share/mime/magic, 1173: Warning: offset `[10:text/x-tex]' invalid /usr/share/mime/magic, 1173: Warning: type `[10:text/x-tex]' invalid file: No current entry for continuation ``` `file` コマンドは、 `update-mime-database` が出力するマジックファイルのフォーマットとは異なるフォーマットのマジックファイルを期待しているようです。 私はここで何を逃したのですか? `file` コマンドで新しいMIMEタイプを受け入れるにはどうすればよいですか?
回答: 共有MIMEタイプのデータベースを使用するのは間違ったアプローチでした。実際、それは共有MIMEデータベースのようであり、 `file` コマンドは(フォーマットが異なる)別々のデータベースを使用します。 MIMEタイプ `video/mp2t` は、古いバージョンの `file` コマンドのために報告されませんでした。 Ubuntu 11.10。 `file` コマンドのバージョン5.04が付属しています。これは `video/mp2t` 型を報告できません。 これが私が問題を解決するためにしたものです: 私は libmagic1 debパッケージの新しいバージョンをダウンロードしました。これはバージョン5.09-2です。 私はそれをインストールしました: ``` sudo dpkg -i libmagic1_5.09-2_amd64.deb ``` 問題が解決しました! ``` $ file MY_VIDEO_FILE --mime-type MY_VIDEO_FILE: video/mp2t ```