Странное поведение "locate" и изменение значков
Я бы хотел поменять иконку программы под названием Refit на собственную. Эта программа имеет различные инструменты, и когда я пытаюсь изменить эти значки, все в порядке, но затем я запускаю следующую команду:
$ locate refit.icns
и вывод:
$ /efi/refind/icons/os_refit.icns
Проблема в том, что у меня нет папки с именем refind, а путь просто не существует. Я попробовал это с обоими:
$ ls
а также
$ sudo ls
в каталоге /efi. Таким образом, мои вопросы на самом деле два: как я могу изменить значок этой программы? И почему происходит такое странное поведение с командой locate?
Я на снежном барсе 10.6.8. Спасибо за вашу помощь.
2 ответа
locate
Команда работает от базы данных, так что если у вас был файл с именем /efi/refind/icons/os_refit.icns
, locate
может продолжать сообщать об этом файле в качестве опции, даже после того, как файл был удален. updatedb
утилита обновляет locate
база данных. Эта программа должна запускаться периодически. Typing sudo updatedb
следует запустить его немедленно, но имейте в виду, что это займет некоторое время (вероятно, пару минут), и это довольно интенсивно использует диск.
Предостережение: мой Mac в настоящее время работает на Linux, поэтому я основываюсь на утилитах Linux. OS X обычно очень похожа на этом уровне, но, возможно, есть некоторые критические различия.
Locate может быть настроен для поиска смонтированных и размонтированных разделов. Я признаю, что у меня нет опыта с locate в OS X (запустить locate -V
чтобы получить некоторую информацию), но я предполагаю, что вы обнаружите, что какой-то загрузочный раздел сканируется и индексируется с помощью locate, если вы посмотрите на файл конфигурации. Может быть расположен в /etc/locate.conf. Если его там нет, тогда сделайте man locate
и прокрутите вниз до ФАЙЛОВ. Если вы найдете там только точку монтирования (т.е. /efi), то /etc/fstab - это место для поиска соответствующего устройства.