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

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

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

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

32 ответа

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

Как обходной путь - насколько большой ваш .db файл? В моей системе это 5 MiB, это настоящая проблема? Не было бы проще обрезать некоторые пути, которые вам не нужно искать через locate (см. [F4]) и сделать файл меньше таким образом?

1
ответ дан 25 May 2018 в 22:51
  • 1
    Спасибо, что это лучшая идея. Я узнал, что он был большой, потому что он индексировал мою резервную директорию (которая имеет довольно частые «снимки» ссылок). Как только я обрезал эти пути, размер резко упал. – evencoil 25 February 2011 в 13:05

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

Как обходной путь - насколько большой ваш .db файл? В моей системе это 5 MiB, это настоящая проблема? Не было бы проще обрезать некоторые пути, которые вам не нужно искать через locate (см. [F4]) и сделать файл меньше таким образом?

1
ответ дан 25 July 2018 в 22:26

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

Как обходной путь - насколько большой ваш .db файл? В моей системе это 5 MiB, это настоящая проблема? Не было бы проще обрезать некоторые пути, которые вам не нужно искать через locate (см. [F4]) и сделать файл меньше таким образом?

1
ответ дан 2 August 2018 в 03:53

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

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

1
ответ дан 4 August 2018 в 19:56

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

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

1
ответ дан 6 August 2018 в 03:59

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

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

1
ответ дан 7 August 2018 в 21:57

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

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

1
ответ дан 10 August 2018 в 10:11

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

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

1
ответ дан 13 August 2018 в 16:33
  • 1
    Спасибо, что это лучшая идея. Я узнал, что он был большой, потому что он индексировал мою резервную директорию (которая имеет довольно частые «снимки» ссылок). Как только я обрезал эти пути, размер резко упал. – evencoil 25 February 2011 в 13:05

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

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

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

3
ответ дан 25 May 2018 в 22:51
  • 1
    Решение ссылки не работает, так как updatedb воссоздает файл в каталоге по умолчанию. Думаю, я мог бы пойти и добавить в команды кучу флагов, но это еще более сложно изменить позже. Интересно, есть ли какая-то переменная среды, которая будет простым исправлением? – evencoil 23 February 2011 в 18:51
  • 2
    для системного использования не сейчас. Для вашей сессии bash есть «псевдоним». Поместите псевдоним updatedb = updatedb --output / путь / в / файл и то же самое, чтобы найти в вашем файле .bashrc – theist 23 February 2011 в 19:00
  • 3
    Общесистемная система действительно является тем, что я ищу, поскольку существует системное задание cron, которое обновляет базу данных каждый день. – evencoil 23 February 2011 в 19:24
  • 4
    используйте псевдоним локации в .bashrc и поместите опцию --output file в задание cron? как идея – theist 23 February 2011 в 19:35

Просто используйте символическую ссылку.

Переместите mlocate.db на другой диск, предположим, что он заканчивается на /some/path/mlocate.db. Перейдите в нужную папку
cd /var/lib
Создайте символическую ссылку
ln -s /some/path/mlocate.db mlocate.db

Обратите внимание, что я не тестировал это, но аргументация позади этого звучит достаточно правильно для меня. Если это не так, как ожидалось, просто верните свои действия, удалив символическую ссылку и верните фактический файл в свое местоположение.

1
ответ дан 25 May 2018 в 22:51

Хотя создание ссылки на 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
ответ дан 25 May 2018 в 22:51

Хотя создание ссылки на 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
ответ дан 25 July 2018 в 22:26

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

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

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

3
ответ дан 25 July 2018 в 22:26
  • 1
    Решение ссылки не работает, так как updatedb воссоздает файл в каталоге по умолчанию. Думаю, я мог бы пойти и добавить в команды кучу флагов, но это еще более сложно изменить позже. Интересно, есть ли какая-то переменная среды, которая будет простым исправлением? – evencoil 23 February 2011 в 18:51
  • 2
    для системного использования не сейчас. Для вашей сессии bash есть «псевдоним». Поместите псевдоним updatedb = updatedb --output / путь / в / файл и то же самое, чтобы найти в вашем файле .bashrc – theist 23 February 2011 в 19:00
  • 3
    Общесистемная система действительно является тем, что я ищу, поскольку существует системное задание cron, которое обновляет базу данных каждый день. – evencoil 23 February 2011 в 19:24
  • 4
    используйте псевдоним локации в .bashrc и поместите опцию --output file в задание cron? как идея – theist 23 February 2011 в 19:35

Просто используйте символическую ссылку.

Переместите mlocate.db на другой диск, предположим, что он заканчивается на /some/path/mlocate.db. Перейдите в нужную папку cd /var/lib Создайте символическую ссылку ln -s /some/path/mlocate.db mlocate.db

Обратите внимание, что я не тестировал это, но аргументация позади этого звучит достаточно правильно для меня. Если это не так, как ожидалось, просто верните свои действия, удалив символическую ссылку и верните фактический файл в свое местоположение.

1
ответ дан 25 July 2018 в 22:26

Хотя создание ссылки на 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
ответ дан 2 August 2018 в 03:53

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

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

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

3
ответ дан 2 August 2018 в 03:53
  • 1
    Решение ссылки не работает, так как updatedb воссоздает файл в каталоге по умолчанию. Думаю, я мог бы пойти и добавить в команды кучу флагов, но это еще более сложно изменить позже. Интересно, есть ли какая-то переменная среды, которая будет простым исправлением? – evencoil 23 February 2011 в 18:51
  • 2
    для системного использования не сейчас. Для вашей сессии bash есть «псевдоним». Поместите псевдоним updatedb = updatedb --output / путь / в / файл и то же самое, чтобы найти в вашем файле .bashrc – theist 23 February 2011 в 19:00
  • 3
    Общесистемная система действительно является тем, что я ищу, поскольку существует системное задание cron, которое обновляет базу данных каждый день. – evencoil 23 February 2011 в 19:24
  • 4
    используйте псевдоним локации в .bashrc и поместите опцию --output file в задание cron? как идея – theist 23 February 2011 в 19:35

Просто используйте символическую ссылку.

Переместите mlocate.db на другой диск, предположим, что он заканчивается на /some/path/mlocate.db. Перейдите в нужную папку cd /var/lib Создайте символическую ссылку ln -s /some/path/mlocate.db mlocate.db

Обратите внимание, что я не тестировал это, но аргументация позади этого звучит достаточно правильно для меня. Если это не так, как ожидалось, просто верните свои действия, удалив символическую ссылку и верните фактический файл в свое местоположение.

1
ответ дан 2 August 2018 в 03:53

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

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

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

3
ответ дан 4 August 2018 в 19:56

Приходит на ум symlink .

  1. Перенесите mlocate.db на другой диск, допустим, он заканчивается на /some/path/mlocate.db .
  2. Перейти к правильной папке cd / var / lib
  3. Создать символическую ссылку ln -s /some/path/mlocate.db mlocate.db

Обратите внимание, что I не проверили это, но рассуждение позади этого звучит достаточно правильно для меня. Если это не так, как ожидалось, просто верните свои действия, удалив символическую ссылку и верните фактический файл в свое местоположение.

1
ответ дан 4 August 2018 в 19:56

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

  test -d / var / lib / mlocate & amp; & amp; & amp; & amp;  rm-rf / var / lib / mlocate & amp; & amp;  mkdir / large-disk / mlocate & amp; & amp;  ln -s / large-disk / mlocate / var / lib / mlocate & amp; & amp;  echo OK  
0
ответ дан 4 August 2018 в 19:56

Приходит на ум symlink .

  1. Перенесите mlocate.db на другой диск, допустим, он заканчивается на /some/path/mlocate.db .
  2. Перейти к правильной папке cd / var / lib
  3. Создать символическую ссылку ln -s /some/path/mlocate.db mlocate.db

Обратите внимание, что I не проверили это, но рассуждение позади этого звучит достаточно правильно для меня. Если это не так, как ожидалось, просто верните свои действия, удалив символическую ссылку и верните фактический файл в свое местоположение.

1
ответ дан 6 August 2018 в 03:59

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

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

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

3
ответ дан 6 August 2018 в 03:59

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

  test -d / var / lib / mlocate & amp; & amp; & amp; & amp;  rm-rf / var / lib / mlocate & amp; & amp;  mkdir / large-disk / mlocate & amp; & amp;  ln -s / large-disk / mlocate / var / lib / mlocate & amp; & amp;  echo OK  
0
ответ дан 6 August 2018 в 03:59

Приходит на ум symlink .

  1. Перенесите mlocate.db на другой диск, допустим, он заканчивается на /some/path/mlocate.db .
  2. Перейти к правильной папке cd / var / lib
  3. Создать символическую ссылку ln -s /some/path/mlocate.db mlocate.db

Обратите внимание, что I не проверили это, но рассуждение позади этого звучит достаточно правильно для меня. Если это не так, как ожидалось, просто верните свои действия, удалив символическую ссылку и верните фактический файл в свое местоположение.

1
ответ дан 7 August 2018 в 21:57

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

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

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

3
ответ дан 7 August 2018 в 21:57

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

  test -d / var / lib / mlocate & amp; & amp; & amp; & amp;  rm-rf / var / lib / mlocate & amp; & amp;  mkdir / large-disk / mlocate & amp; & amp;  ln -s / large-disk / mlocate / var / lib / mlocate & amp; & amp;  echo OK  
0
ответ дан 7 August 2018 в 21:57

Приходит на ум symlink .

  1. Перенесите mlocate.db на другой диск, допустим, он заканчивается на /some/path/mlocate.db .
  2. Перейти к правильной папке cd / var / lib
  3. Создать символическую ссылку ln -s /some/path/mlocate.db mlocate.db

Обратите внимание, что I не проверили это, но рассуждение позади этого звучит достаточно правильно для меня. Если это не так, как ожидалось, просто верните свои действия, удалив символическую ссылку и верните фактический файл в свое местоположение.

1
ответ дан 10 August 2018 в 10:11

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

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

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

3
ответ дан 10 August 2018 в 10:11

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

  test -d / var / lib / mlocate & amp; & amp; & amp; & amp;  rm-rf / var / lib / mlocate & amp; & amp;  mkdir / large-disk / mlocate & amp; & amp;  ln -s / large-disk / mlocate / var / lib / mlocate & amp; & amp;  echo OK  
0
ответ дан 10 August 2018 в 10:11

Приходит на ум symlink .

  1. Перенесите mlocate.db на другой диск, допустим, он заканчивается на /some/path/mlocate.db .
  2. Перейти к правильной папке cd / var / lib
  3. Создать символическую ссылку ln -s /some/path/mlocate.db mlocate.db

Обратите внимание, что I не проверили это, но рассуждение позади этого звучит достаточно правильно для меня. Если это не так, как ожидалось, просто верните свои действия, удалив символическую ссылку и верните фактический файл в свое местоположение.

1
ответ дан 13 August 2018 в 16:33

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

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