Недавно я заметил, что когда я запускаю команду locate [something] она всегда завершается ошибкой, даже если я знаю, что файлы там есть (и я видел их через вызов для locate ранее). Я должен запускать updatedb каждый раз, когда я хочу что-то найти.

Это, кажется, недавняя вещь и не было проблемой в прошлом. Трудно точно сказать, когда он удаляет базу данных, но это может произойти при перезагрузке.

Это нормальное / ожидаемое поведение или у меня происходит что-то странное?

Ожидаемое:

sudo updatedb
locate file.c [success]
reboot #I think this is the trigger
locate file.c [success]

фактическое поведение:

sudo updatedb
locate file.c [success]
reboot #I think this is the trigger
locate file.c [fail]
sudo updatedb
locate file.c [success]

Правки

Это Ubuntu 16.04 с ядром 4.16.8.

locate --version возвращает locate (GNU findutils) 4.7.0-git updatedb --version также возвращает 4.7.0-git

тем не мение

apt show findutils не согласен с версией (установленной вручную - я установил ее, но не установил какую-либо конкретную версию)

Package: findutils
Version: 4.6.0+git+20160126-2
Priority: required
Essential: yes
Section: utils
Origin: Ubuntu
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Andreas Metzler <ametzler@debian.org>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 573 kB
Pre-Depends: libc6 (>= 2.17), libselinux1 (>= 1.32)
Suggests: mlocate | locate
Conflicts: debconf (<< 1.5.50)
Breaks: binstats (<< 1.08-8.1), debhelper (<< 9.20130504), guilt (<< 0.36-0.2), kernel-package (<< 13.000), libpython3.4-minimal (<< 3.4.4-2), libpython3.5-minimal (<< 3.5.1-3), lsat (<< 0.9.7.1-2.1), mc (<< 3:4.8.11-1), sendmail (<< 8.14.4-5), switchconf (<< 0.0.9-2.1)
Homepage: http://savannah.gnu.org/projects/findutils/
Task: minimal
Supported: 5y
Download-Size: 280 kB
APT-Manual-Installed: yes
APT-Sources: http://repo.bblabs/ubuntu xenial/main amd64 Packages
Description: utilities for finding files--find, xargs
GNU findutils provides utilities to find files meeting specified criteria and perform various actions on the files which are found. This package contains 'find' and 'xargs'; however, 'locate' has been split off into a separate package.

0