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

12961
PatrickCUDO

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

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

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

10

2 ответа на вопрос

9
Bibhas

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. 

Источник

Хорошо, я должен придерживаться правил .. RTFM! Спасибо за объяснение. PatrickCUDO 12 лет назад 0
4
Olivier S

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

Похожие вопросы