Я хотел установить команду locate
, которая доступна через sudo apt-get install
mlocate
.
Тем не менее, я сначала побежал, sudo apt-get install
locate
который, кажется, установил что-то еще.
Однако ввод команды, locate <package>
похоже, требует mlocate
.
Что такое пакет locate
и можно ли его безопасно удалить?
Ответы:
Пакет locate является реализацией locate из GNU findutils . Пакет mlocate - это еще одна реализация той же концепции, которая называется mlocate . Они реализуют ту же базовую функциональность: быстрый поиск имен файлов на основе индекса, который (как правило) перестраивается каждую ночь. Они отличаются по некоторым своим функциям вне базового использования. В частности, GNU locate создает индекс только для читаемых файлов (если вы не запускаете его из своей учетной записи), тогда как mlocate создает индекс всех файлов, но позволяет только вызывающему пользователю видеть файлы, к которым он может получить доступ. Это делает mlocate более полезным в большинстве случаев, но непригодным в некоторых необычных установках, где он не запускается системным администратором (потому что
mlocate
должен быть setuid root ) и риск для безопасности.Под Debian и производными программами, если вы установите оба,
locate
запуститсяmlocate
реализация, и вам нужно будет запустить ее,locate.findutils
чтобы запустить реализацию GNU. Это управляется через альтернативы . Если вы оба установили, они оба потратят время на восстановление своего соответствующего индекса, но в остальном они не будут конфликтовать друг с другом.источник
mlocate
основную особенность, от которой он получает свое имя («местоположение слияния»): он предоставляет версию,updatedb
которая повторно использует свой старый индекс для повышения производительности обновления, запрашивая только списки файлов / подкаталогов для каталогов, вctime
которых изменилось ,mlocate - это более новая реализация locate. Как только вы установите
mlocate
егоВот почему вы получаете поведение mlocate, если вы устанавливаете в таком порядке.
Подробности можно найти здесь
источник
mlocate
, но на моей системе Ubuntu 16.04,/usr/bin/locate -> /etc/alternatives/locate -> /usr/bin/mlocate