Я изменил свою конфигурацию, поэтому 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 сохранить индекс для файлов на носителе, если диск не смонтирован, чтобы я мог находить файлы на отсоединенном устройстве?
Мне кажется, у вас есть несколько вариантов здесь:
Очевидно, что лучший способ сделать именно то, что вы хотите, - попросить cron ждать, пока диск не будет смонтирован. перед обновлением базы данных. Я представляю кого-то, кто намного лучше знаком с cron и / или bash, чем я мог бы рассказать вам, как это сделать.
Что вы могли бы сделать, хотя это не совсем то, что вы хотите, это создать новую базу данных только для съемного диска . См. этот тесно связанный вопрос для получения подробных инструкций о том, как это сделать. Тогда вам просто нужно будет вручную обновить базу данных, когда диск смонтирован.
Если содержимое диска меняется не часто , существует множество альтернатив. Для меня у меня много разных внешних накопителей, поэтому для каждого из них я часто буду транслировать команду, например ls -RD1
, в текстовый файл , а затем я могу просто использовать grep и другие инструменты, когда захочу. ]