file(1) 5.28 使用字节参数时参数无效

file(1) 5.28 使用字节参数时参数无效

版本 5.26file(1)添加了对用户定义字节读取限制的支持:

2016-03-31  13:50  Christos Zoulas <[email protected]>

    * make the number of bytes read from files configurable.

通过使用-P应该能够设置字节数限制。但是,Invalid argument在使用该参数时出现错误,例如:

$ file -i --mime-encoding -P bytes=15000 myinput
file: compiled magic version [528] does 
file: Can't set bytes Invalid argument

不确定是否相关,但运行文件时我也收到版本差异警告:file: compiled magic version [528] does not match with shared library magic version [524]

我正在使用文件 5.28。

$ file -v
file-5.28
magic file from /etc/magic:/usr/share/misc/magic

编辑这是我遵循的安装过程:

  1. ./configure
  2. make
  3. make check- 没有错误
  4. sudo make install
  5. make installcheck- 没有错误

答案1

记得删除libmagic从源安装之前从您的系统中file

$ sudo apt-get purge libmagic1 file

然后,安装file

$ wget ftp://ftp.astron.com/pub/file/file-5.28.tar.gz
$ tar xvzf file-5.28.tar.gz
$ cd file-5.28
$ ./configure --prefix=/usr
$ make
$ sudo make install

这对我有用:

$ lsb_release -a
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.1 LTS
Release:        16.04
Codename:       xenial
$ file -i --mime-encoding -P bytes=15000 $(which file)
/usr/bin/file: application/x-executable; charset=binary

相关内容