Как определить местоположение команды?

Как пропустить updateb, когда ваша файловая система расшифрована и попытаться сопоставить переменные среды для чтения / записи?

После прочтения man-страницы добавьте две переменные в ваш файл BASH RC. [!d1 ]

man locate
echo "export LOCATE_PATH=$HOME/var/lib/mlocate/mlocate.db:$LOCATE_PATH" >> ~/.bashrc
echo "export DBPATH=$HOME/var/lib/mlocate/mlocate.db:$DBPATH" >> ~/.bashrc

Сделайте каталог указанным выше и добавьте $ username в группу mlocate.

mkdir -p ~/var/lib/mlocate/
sudo usermod -a -G mlocate $username

Выйдите из системы и снова запустите своего пользователя в группе mlocate и получите новые переменные среды , Теперь, когда вы запускаете,

updatedb -o $LOCATE_PATH

- это расшифрованные файлы в базе данных локации? Или, что вы сделали, чтобы заставить его работать или лучше?

Вы также можете добавить updatedb в crontab пользователя. Первый запуск:

crontab -e

И добавьте следующую строку:

0 12 * * * updatedb -o $HOME/var/locate
1
задан 26 November 2013 в 19:01

2 ответа

, или вы можете использовать whereis, например:

whereis keytool

для расширенной информации, включая which вывод на первом месте.

3
ответ дан 24 May 2018 в 14:50

Если команда управляется альтернативами, вы можете использовать:

update-alternatives --list keytool

. Это приведет к выходу всех зарегистрированных альтернатив. Это не простой поиск каталогов bin. Пример:

update-alternatives --list vi
3
ответ дан 24 May 2018 в 14:50

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

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