2-3 файла, в секунду протестированные с file
кажется очень медленным мне. file
на самом деле выполняет много различных тестов, чтобы попытаться определить тип файла. Так как Вы ищете один конкретный тип файла (sqlite), и Вы не заботитесь об идентификации всего о других, можно экспериментировать на известном sqlite файле для определения, какой тест на самом деле определяет его. Можно затем исключить другие использующих -e
флаг, и выполненный против Вашего полного файла установлен. См. страницу справочника:
-e, --exclude testname
Exclude the test named in testname from the list of tests made to
determine the file type. Valid test names are:
apptype
EMX application type (only on EMX).
text
Various types of text files (this test will try to guess the
text encoding, irrespective of the setting of the ‘encoding’
option).
encoding
Different text encodings for soft magic tests.
tokens
Looks for known tokens inside text files.
cdf
Prints details of Compound Document Files.
compress
Checks for, and looks inside, compressed files.
elf
Prints ELF file details.
soft
Consults magic files.
tar
Examines tar files.
Править: Я попробовал некоторые тесты сам. Сводка:
file
приблизительно на 15%, чтобы тесты определили sqlite. Который является чем-то, но не огромным улучшением, я ожидал.file
, или...?Для 16 МБ sqlite файл DB, я сделал:
#!/bin/bash
for i in {1..1000}
do
file sqllite_file.db | tail > out
done
Синхронизация на командной строке:
~/tmp$ time ./test_file_times.sh; cat out
real 0m2.424s
user 0m0.040s
sys 0m0.288s
sqllite_file.db: SQLite 3.x database
Попытка другого теста исключает, и предположение, что определение сделано на основе единственного теста, это - 'мягкое' (т.е. волшебный поиск файла) тест, который определяет файл. Соответственно, я изменил file
команда для исключения всех других тестов:
file -e apptype -e ascii -e encoding -e tokens -e cdf -e compress -e elf -e tar sqllite_file.db | tail > out
Выполнение этого 1000 раз:
~/tmp$ time ./test_file_times.sh; cat out
real 0m2.119s
user 0m0.060s
sys 0m0.280s
sqllite_file.db: SQLite 3.x database
Это - известная проблема с 2.6.32-431 ядрами. Это происходит со мной на двух различных компьютерах.
Я нашел случай поддержки Red Hat для него: https://access.redhat.com/site/solutions/629063
И явился в VMware https://communities.vmware.com/thread/463825
Я отступил к предыдущему ядру, пока фиксированное ядро не становится доступным.
Я или понизил бы и прикрепил бы версию ядра, (можно сделать это исключением того пакета через конфетку .repo
файлы), пока будущая версия не выходит или загрузка, и скомпилируйте мою собственную версию ядра.
Я не испытал проблем, таких как Ваш, объясняют с теми версиями Ядра или CentOS 6.5.
Необходимо смочь выполнить виртуальное поле от GUI. Начальная загрузка с другой версией ядра (можно выбрать версию ядра из расширенного меню начальной загрузки), регистрируйтесь как корень и сделайте yum remove kernel-2.6.32-431.1.2.el6.x86_64
. Простой и эффективный.
vmware-modconfig --console --install-all
но проблема все еще существует! – Sepahrad Salour 21.12.2013, 22:34