Как мне указать locate сохранить индекс внешнего HDD?

Я изменил свою конфигурацию, поэтому locate также выполняет поиск по внешним жестким дискам, установленным в /media,

мой /etc/updatedb.conf:

PRUNE_BIND_MOUNTS="yes"
# PRUNENAMES=".git .bzr .hg .svn"
PRUNEPATHS="/tmp /var/spool /home/.ecryptfs /media/Win8"
PRUNEFS=...(rest is default)

мой основной жесткий диск я всегда использую

/media/rubo77/Data

если это связано, и я бегу updatedb он индексируется, но каждый день я запускаю свой компьютер с отключенным жестким диском ежедневно /etc/cron.daily/mlocate проясняет это.

Я бы тоже хотел найти файлы на отключенном устройстве. Если я не хочу, я всегда могу использовать locate -e это показывает только существующие в настоящее время файлы.

Как я могу указать locate сохранить индекс для файлов на носителе, если диск не смонтирован, чтобы я мог находить файлы на отсоединенном устройстве?

1 ответ

Решение

Мне кажется, у вас есть несколько вариантов здесь:

  1. Очевидно, что лучший способ сделать именно то, что вы хотите, - это попросить cron подождать, пока диск не смонтируется, прежде чем обновлять базу данных. Я представляю кого-то, кто намного лучше знаком с cron и / или bash, чем я мог бы рассказать, как

  2. Что вы могли бы сделать, хотя это не совсем то, что вы хотите, это создать новую базу данных только для съемного диска. Смотрите этот тесно связанный вопрос для получения подробных инструкций о том, как это сделать. Тогда вам просто нужно вручную обновить базу данных, когда диск смонтирован.

  3. Если содержимое диска меняется не часто, есть много альтернатив. Для меня у меня много разных внешних накопителей, поэтому для каждого из них я буду часто передавать команду ls -RD1 в текстовый файл, и тогда я могу просто использовать grep и другие инструменты, когда захочу.

Другие вопросы по тегам