Файл відображається в команді "locate", але не існує. Чому?


14

У мене виникає дивне питання.
Зараз я виправляю флеш-інсталяцію на Backtrack 5 (на основі Ubuntu). Мені дійсно потрібно задіяти спалах, тому я подивився на google. На якійсь дошці один хлопець сказав, що в цьому дистрибутиві (який, нарешті, базується на Debian), флеш встановлюється в Iceweasel-flashplugin, тому нам потрібно змінити шлях туди з льодовика на firefox. (Або скажіть Firefox шукати плагін там, я не впевнений).

Але ось приходить дивна частина. Використовуючи команду locate, я можу знайти якийсь файл та шлях до нього. Спробування команди cat на цьому точному шляху не дає "жодного файлу чи каталогу", і навіть з ls -la нічого не виходить. У мене є лише два файли, починаючи з i.

Хтось знає, чому це відбувається? І чи знайдеться спосіб виправити цю встановлення спалаху?
Наперед Вам дякую.
скріншот оболонки

Відповіді:


15

locateвикористовує базу даних під назвою locatedb. Зазвичай він оновлюється системними роботами cron. Якщо БД не було оновлено, вона відображатиме неіснуючі або нові файли / каталоги. ви можете примусити оновлення за допомогою updatedbкоманди. Дивіться це посилання серед інших.

Розмітка 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

4

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.