Файл отображается в команде «locate», но не существует. Почему?

13

У меня странная проблема.
В настоящее время я исправляю установку флэш-памяти на Backtrack 5 (на основе Ubuntu). Мне действительно нужно, чтобы вспышка работала, поэтому я посмотрел на Google. На какой-то плате один парень сказал, что в этом дистрибутиве (который, наконец, основан на Debian) flash устанавливается в iceweasel-flashplugin, поэтому нам нужно изменить путь к нему с iceweasel на firefox. (Или сказать Firefox, чтобы искать там плагин, я не уверен).

Но здесь начинается странная часть. При использовании команды locate я могу найти какой-нибудь файл и путь к нему. Попытка команды cat по этому точному пути дает «нет файла или каталога», и даже с ls -la ничего не получается. У меня есть только два файла, начиная с меня.

Кто-то знает, почему это происходит? И был бы способ исправить эту установку вспышки?
Заранее большое спасибо.
скриншот оболочки

PatrickCUDO
источник

Ответы:

15

locateиспользует базу данных под названием locatedb. Обычно он обновляется системными заданиями cron. Если БД не была обновлена, она покажет несуществующие или новые файлы / каталоги. Вы можете принудительно обновить с помощью updatedbкоманды. Смотрите эту ссылку среди других.

Manpage of locateчетко говорит -

   locate  reads  one or more databases prepared by updatedb and writes
   file names matching at least one of the PATTERNs  to  standard  output,
   one per line.

   By default, locate does not check whether files found in database still
   exist;  locate  can  never  report  files created after the most recent
   update of the relevant database.

Источник

Bibhas
источник
Хорошо, я должен придерживаться правил .. RTFM! Спасибо за объяснение.
PatrickCUDO
4

locate основан на базе данных, которая обычно обновляется один раз в день через cron. Принудительное обновление: запустите, updatedbи вы locate iceweaselполучите обновленные результаты.

Оливье С
источник