Это большой файл для меня, и я хотел бы поместить его на другой жесткий диск, чем мой корневой раздел.
Хотелось бы добавить: я бы хотел, чтобы это работало для автоматических запусков updatedb. Я проверил справочные страницы для updatedb.conf и не увидел там ничего, что позволило бы мне изменить путь.
Вы можете проверить, поддерживает ли ваша версия updatedb параметр --output FILE
, сделать его псевдонимом для ваших сеансов bash и указать его в ваших заданиях cron.
Вы также должны использовать locate с параметром --database FILE
Как сказано в evencoil, нет возможности использовать символическую ссылку, так как updatedb воссоздает файл при каждом вызове.
Хотя создание ссылки на 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
На ум приходит только использование символической ссылки .
mlocate.db
на другой диск, скажем, он заканчивается на /some/path/mlocate.db
. Перейдите в нужную папку
cd /var/lib
Создайте символическую ссылку
ln -s /some/path/mlocate.db mlocate.db
Обратите внимание, что я Я не проверял этого, но обоснование этого звучит для меня достаточно правильно. Если он не работает должным образом, просто отмените свои действия, удалив символическую ссылку и переместив реальный файл обратно в его местоположение.
В Ubuntu расположение базы данных по умолчанию компилируется в двоичный файл mlocate
, поэтому изменить его сложно. Вы можете установить переменную LOCATE_PATH, но упомянутый там файл базы данных будет использоваться только как дополнительная база данных, а не как база данных по умолчанию.
В качестве обходного пути - насколько велик ваш файл .db
? На моей системе это 5 МБ, это реальная проблема? Не проще ли будет обрезать некоторые пути, которые вам не нужно искать через locate
(см. man updatedb.conf
), и таким образом уменьшить размер файла?