
もし私が入ると
$ file -i music.mp3
music.mp3: application/octet-stream; charset=binary を返します。
このファイル内のすべてのタグと画像を消去すると、MIME タイプが正しく認識されます。
music.mp3: オーディオ/mpeg; 文字セット=バイナリ
回避策やバグ修正はありますか? mp3 ファイルを変更せずに正しいデータを取得することは可能ですか?
$ file --version
file-5.03
magic file from /etc/magic:/usr/share/misc/magic
答え1
file
Ubuntu 10.04の同じバージョンの で同じ問題が発生していました。 を変更して/etc/magic
、MP3 の MIME タイプを として表示できるようになりましたaudio/mpeg
。追加した行は次のとおりです。
# MPEG Layer 3 sound files
0 beshort &0xffe0 audio/mpeg
!:mime audio/mpeg
#MP3 with ID3 tag
0 string ID3 audio/mpeg
!:mime audio/mpeg
出典http://www.opensource.apple.com/source/file/file-23/file/magic/magic.mime
私はこの「魔法の」指令を編集した経験があまりないので、その有効性やセキュリティを保証することはできません。
答え2
/etc/magic
およびに独自のルールを追加できます/etc/magic.mime
。man 5 magic
および(または類似の)コンテンツを/usr/share/misc/magic
参考にしてください。