Qual è la differenza tra mlocate e slocate in Linux?


13

Dopo aver attraversato la /etc/cron.dailydirectory ho notato che esiste solo il file mlocate.cron rispetto a quello che ho visto su altro materiale in cui citano slocate.cron. C'è una differenza tra questi e i loro rispettivi comandi e, se sì, quali sono?

Risposte:


15

https://fedorahosted.org/mlocate/ spiega che mlocate unisce i database ad ogni aggiornamento, il che offre un aumento delle prestazioni poiché può saltare i file esaminati in precedenza.

Sono implementazioni concorrenti, ma mlocate è progettato per essere retrocompatibile con slocate e lo sta lentamente sostituendo.


Grazie. Quando lo dici mlocate merges databases at each update, cosa significa esattamente?
PeanutsMonkey,

4
@Peanuts, guardando il link fornito da Stephanie, sembra che mlocate(che crea un database di posizioni dei file) riutilizzi un database precedente ogni volta che viene eseguito, quindi ogni nuova informazione viene unita a quella precedente, per risparmiare tempo e offrire prestazioni accelerare.
padiglione

@pavium - Quindi questo significherebbe che avrei più file mlocate.cron?
PeanutsMonkey,

1
@peanuts, no, i database vengono uniti: - i nuovi dati generati quando le mlocate.cronesecuzioni vengono unite ai dati precedenti dell'ultima esecuzione. Ciò non significa che abbiamo bisogno di più mlocate.cronfile.
padiglione

1
Per essere precisi, ciò che fa mlocate è confrontare il mtime di ogni directory nel database con la stessa directory sul filesystem. Per ogni directory modificata, mlocate lo percorrerà e qualsiasi nuovo albero di sottodirectory dietro di esso, altrimenti copia semplicemente il contenuto del database per quella directory sul nuovo DB (un file temporaneo che viene spostato alla fine). Ciò può accelerare notevolmente il processo su file system di grandi dimensioni; Ho visto personalmente gli aggiornamenti di mlocate impiegando solo poche ore rispetto a molti giorni per un database nuovo di zecca.
Thomas Guyot-Sionnest,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.