Назад | Перейти на главную страницу

Основной пользовательский тип файла не принимается аргументом -t

Я пытаюсь восстановить удаленный файл в файловой системе ext3 с помощью самой передовой утилиты. Файл, который я хочу восстановить, - это hpp Файл исходного кода C ++. Однако, прежде всего, расширение файла hpp автоматически не поддерживается, поэтому мне нужно добавить его в файл конфигурации. Итак, следуя инструкциям на странице руководства, я добавляю в файл конфигурации следующую строку:

hpp n 50000 include include ASCII

Затем я бегу в первую очередь следующим образом:

$foremost -v -T -t hpp -i /dev/md0 -o /home/recover/

Вместо того, чтобы что-либо делать, он просто отображает справочное сообщение. Если я изменю hpp к htm или jpg, оно работает. Таким образом, очевидно, что в первую очередь не принимается пользовательский тип файла, который я добавил в файл конфигурации. Но я просматривал это уже десятки раз и не вижу, что делаю не так. Я точно следую инструкциям. Почему прежде всего не распознает новый тип файла, который я добавил в файл конфигурации?

Я наткнулся на ту же проблему и углубился в нее, просмотрев foremost источники.

Оказывается, пользовательские типы, добавленные с помощью файла конфигурации, нельзя выбрать с помощью -t вариант. Ваши файлы будут найдены, если вы определите hpp введите /etc/foremost.conf и использовать

foremost -v -T -c /etc/foremost.conf -i /dev/md0 -o /home/recover/

Это также восстановит файлы, соответствующие всем встроенным типам, что, вероятно, будет означать много файлов. Чтобы обойти это, исправьте исходные коды, чтобы они не включали какие-либо встроенные типы при использовании -t all (эквивалентно неиспользованию -t вообще). В state.c, в конце set_search_def функция init_all называется, если strcmp(ft, "all") == 0. Просто закомментируйте звонок init_all и встроенные типы больше не будут использоваться.

Создайте новый файл .conf и удалите в нем все, кроме настроек для нужного вам типа. пример будет (foremost_pde.conf):

pde y   200000  #include    #include    ASCII

убедитесь, что вы удалили все символы табуляции или пробела в начале строки, иначе строка не будет распознана. Сохраните и закройте файл conf в местоположении пользователя (например, ~ / Desktop). Теперь используйте:

foremost -v -T -c ~/Desktop/foremost_pde.conf -i /dev/md0 -o /home/recover/

Вы пытались использовать -c config file вариант?