Обновить файл /usr/share/file/magic
?
#------------------------------------------------------------------------------
# pdf: file(1) magic for Portable Document Format
#
0 string %PDF- PDF document
>5 byte x \b, version %c
>7 byte x \b.%c
Я бы использовал hexdump, чтобы просмотреть первые несколько байтов PDF-файлов, которые не определены правильно.
Обновить.
Как вы обновляете волшебный файл, зависит от вашей операционной системы и дистрибутива. Обычно вы используете менеджер пакетов. Например, в RedHat Linux и последующих дистрибутивах вы можете использовать yum provides /usr/share/file/magic
чтобы найти пакет, содержащий этот файл, а затем использовать sudo yum update <packagename>
...
$ yum provides /usr/share/file/magic
...
file-4.17-15.el5_3.1.x86_64 : A utility for determining file types.
Repo : installed
Matched from:
Other : Provides-match: /usr/share/file/magic
$ sudo yum update file
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: centos.mirroring.pulsant.co.uk
* extras: centos.mirroring.pulsant.co.uk
* rpmforge: nl.mirror.eurid.eu
* updates: centos.mirroring.pulsant.co.uk
Setting up Update Process
Resolving Dependencies
--> Running transaction check
---> Package file.x86_64 0:4.17-21 set to be updated
rpmforge/filelists_db | 5.9 MB 00:08
updates/filelists_db | 1.9 MB 00:03
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Updating:
file x86_64 4.17-21 base 320 k
Transaction Summary
================================================================================
Install 0 Package(s)
Upgrade 1 Package(s)
Total download size: 320 k
Is this ok [y/N]: y
Downloading Packages:
file-4.17-21.x86_64.rpm | 320 kB 00:02
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Updating : file 1/2
Cleanup : file 2/2
Updated:
file.x86_64 0:4.17-21
Complete!
Если вы хотите, вы можете вместо этого обновить magic
файл с помощью текстового редактора после прочтения man magic
и использования hexdump _C -n 20
в примерах файлов документов для самостоятельной работы с подписями.
если вы собираетесь это сделать, может быть целесообразно сначала создать отдельный магический файл и использовать опцию file
s -m magicfile
для его проверки.
PS
$ file --mime `locate *.pdf`
/usr/share/doc/bind-9.3.6/arm/Bv9ARM.pdf: application/pdf
/usr/share/doc/libtheora-1.0alpha7/Theora_I_spec.pdf: application/pdf
/usr/share/doc/prelink-0.4.0/prelink.pdf: application/pdf
/usr/share/doc/samba-3.0.33/Samba3-ByExample.pdf: application/pdf
/usr/share/doc/samba-3.0.33/Samba3-Developers-Guide.pdf: application/pdf
/usr/share/doc/samba-3.0.33/Samba3-HOWTO.pdf: application/pdf
/usr/share/doc/speex-1.0.5/manual.pdf: application/pdf
/usr/share/ghostscript/8.70/examples/annots.pdf: application/pdf
/usr/share/gimp-print/doc/users-guide.pdf: application/pdf
Возможно, вы можете загрузить на веб-сайт для обмена файлами некоторые файлы, которые file
не может правильно идентифицировать.