как я могу изменить место хранения /var/lib/mlocate.db?

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

Хотелось бы добавить: я бы хотел, чтобы это работало для автоматических запусков updatedb. Я проверил справочные страницы для updatedb.conf и не увидел там ничего, что позволило бы мне изменить путь.

5
задан 23 February 2011 в 17:19

4 ответа

Вы можете проверить, поддерживает ли ваша версия updatedb параметр --output FILE, сделать его псевдонимом для ваших сеансов bash и указать его в ваших заданиях cron.

Вы также должны использовать locate с параметром --database FILE

Как сказано в evencoil, нет возможности использовать символическую ссылку, так как updatedb воссоздает файл при каждом вызове.

0
ответ дан 23 February 2011 в 17:19

Хотя создание ссылки на mlocate.db не будет работать, современные системы (например, Debian jessie) хранят базу данных в каталоге, который можно легко символически связать с другим местоположением. Поэтому вы можете связать каталог /var/lib/mlocate с другим диском следующим образом.

test -d /var/lib/mlocate &&
rm -rf /var/lib/mlocate &&
mkdir /large-disk/mlocate &&
ln -s /large-disk/mlocate /var/lib/mlocate &&
echo OK
0
ответ дан 23 February 2011 в 17:19

В Ubuntu расположение базы данных по умолчанию компилируется в двоичный файл mlocate, поэтому изменить его сложно. Вы можете установить переменную LOCATE_PATH, но упомянутый там файл базы данных будет использоваться только как дополнительная база данных, а не как база данных по умолчанию.

В качестве обходного пути - насколько велик ваш файл .db? На моей системе это 5 МБ, это реальная проблема? Не проще ли будет обрезать некоторые пути, которые вам не нужно искать через locate (см. man updatedb.conf), и таким образом уменьшить размер файла?

0
ответ дан 23 February 2011 в 17:19

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

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