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の説明が含まれていることを確認しました。

  2. /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タイプを受け入れるにはどうすればよいですか?

2

1 答え

共有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
1
追加された