Поиск не работает

Это происходит, когда в предполагаемом целевом каталоге есть устаревшая сессия. Вы можете очистить сеанс с помощью

fusermount -u /mnt/remote

, где /mnt/remote— это путь к вашему локальному файлу монтирования.

Благодаряhttps://unix.stackexchange.com/a/215009/28280

1
06.08.2019, 13:18
1 ответ

Команда updatedbпросканирует файловые системы в вашей системе и создаст индекс имен доступных файлов и каталогов. Эта индексация выполняется от имени непривилегированного пользователя -. Это означает, что индекс всегда будет содержать только имена файлов, которые доступны всем пользователям системы.

Поскольку ваш домашний каталог доступен только вам, (вы говорите в комментариях, что у вас есть rwx------разрешения на него ), это означает, что он не будет проиндексирован пользователем updatedb. Это, в свою очередь, означает, что locateникогда не будет возвращать имена из вашего домашнего каталога. (использование sudo locateвместо простого locateпо-прежнему будет запрашивать тот же индекс, так что это не поможет ).

Чтобы решить эту проблему, у вас есть два варианта:

  1. Ослабьте ограничения для вашего домашнего каталога (и для любого каталога ниже того, который вы хотите проиндексировать,updatedb). Права доступа, вероятно, должны читаться как rwxr-xr-xили 755 в восьмеричном формате.

  2. Не используйте locateдля поиска файлов.Вместо этого используйтеfind:

    find "$HOME" -name test.txt
    

    Это будет искать что-либо с именем test.txtв вашем домашнем каталоге или под ним.

3
27.01.2020, 23:22

Теги

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