Яка різниця між mlocate та slocate у Linux?


13

Пройшовши /etc/cron.dailyкаталог, я помітив, що є лише файл mlocate.cron порівняно з тим, що я бачив на іншому матеріалі, де вони цитують slocate.cron. Чи є різниця між цими та їх відповідними командами, і якщо так, то які вони?

Відповіді:


15

https://fedorahosted.org/mlocate/ пояснює, що mlocate об'єднує бази даних при кожному оновленні, що пропонує прискорення продуктивності, оскільки може пропустити раніше перевірені файли.

Вони є конкуруючими реалізаціями, але mlocate розроблений таким чином, щоб він був сумісним із слоком назад і повільно замінює його.


Спасибі. Коли ви це говорите mlocate merges databases at each update, що це означає саме?
PeanutsMonkey

4
@Peanuts, дивлячись на посилання, надане Стефані, здається, що mlocate(що робить базу даних про розташування файлів) повторно використовує попередню базу даних кожного разу, коли вона працює, тому будь-яка нова інформація об’єднується зі старою інформацією, щоб заощадити час і дати продуктивність прискоритись.
pavium

@pavium - Так це означатиме, що у мене буде кілька файлів mlocate.cron?
PeanutsMonkey

1
@peanuts, ні, бази даних об’єднуються: - нові дані, згенеровані при mlocate.cronзлитті запусків зі старими даними за останній час його запуску. Це не означає, що нам потрібно кілька mlocate.cronфайлів.
pavium

1
Точніше, те, що робить mlocate - це порівняння mtime кожного каталогу в базі даних з тим самим каталогом файлової системи. Для будь-якого зміненого каталогу, mlocate буде переходити до нього та будь-яке нове дерево підкаталогу, що знаходиться за ним, інакше він просто копіює вміст бази даних для цього каталогу на новий БД (тимчасовий файл, який переміщується в кінці). Це може значно пришвидшити процес у великих файлових системах; Я особисто бачив оновлення mlocate, що займало лише кілька годин проти багатьох днів для нової бази даних.
Томас Гайо-Сіоннест
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.