Есть файл в /user/share/jogl.jar
.
Я использую locate jogl.jar
, но это не работает. Почему?
Со страницы руководства:
locate reads one or more databases prepared by updatedb(8) and writes
file names matching at least one of the PATTERNs to standard output,
one per line.
Запустите updatedb
от имени пользователя root и повторите попытку. Это должно работать.
В качестве альтернативы вы можете использовать find
или find | grep
, которые не используют дБ (и, следовательно, значительно медленнее).
Что вы подразумеваете под «это не работает»? Если вы не знакомы с locate
, на ум приходят две основные проблемы: обе связаны с тем, что locate
опирается на базу данных, а не напрямую с файловой системой.
Результат не отображается : в этом случае вам может потребоваться обновить базу данных locate
, просто запустив updatedb
из терминала
Возвращает слишком много результатов : еще раз, locate
использует базу данных, а не текущий каталог (в отличие от нескольких других общих команд Unix), поэтому, если вы попытаетесь найдите somestuff
из вашего каталога home
, чтобы найти все somestuff
, которые он может содержать, он не будет работать. Вам придется запустить его с полным путем: locate ~/*somestuff
По некоторым причинам Ubuntu не добавила меня, как пользователь, группе, этому позволяют прочитать базу данных по умолчанию. Решение было:
sudo usermod -a -G mlocate YOUR_USER_NAME
Эта информация была изучена, читая man updatedb
и исследуя разрешения дефолта db в /var/lib/mlocate/mlocate.db
.