Differenza tra individuare e mlocare


14

Volevo installare il comando locate, che è disponibile tramite sudo apt-get installmlocate.

Tuttavia, ho eseguito prima sudo apt-get installlocateche sembra aver installato qualcos'altro.

Digitare il comando locate <package>tuttavia sembra richiamare mlocate.

Che cos'è il pacchetto locatee può (dovrebbe) essere rimosso in modo sicuro?


1
Credo che mlocate sia stato il sostituto dell'originale, ma è stato 15 anni fa e probabilmente un pacchetto è un alias o un riferimento all'altro. C'è un'altra variante, "slocate" che ha osservato la visibilità di un file in base alle autorizzazioni dell'utente, ma non ho visto. Questo da molto tempo
Otheus,

Risposte:


25

Il pacchetto Locate è l'implementazione di Locate dai findutils GNU . Il pacchetto mlocate è un'altra implementazione dello stesso concetto chiamato mlocate . Implementano le stesse funzionalità di base: ricerca rapida dei nomi dei file in base a un indice (in genere) ricostruito ogni notte. Differiscono in alcune delle loro funzionalità oltre l'utilizzo di base. In particolare, GNU Locate costruisce un indice di soli file leggibili in tutto il mondo (a meno che non lo si esegua dal proprio account), mentre mlocate crea un indice di tutti i file ma consente solo all'utente chiamante di vedere i file a cui può accedere. Questo rende mlocate più utile nella maggior parte dei casi, ma inutilizzabile in alcune installazioni insolite in cui non è gestito dall'amministratore di sistema (perchémlocatedeve essere setuid root ) e un rischio per la sicurezza.

In Debian e derivati, se si installano entrambi, locateverrà eseguita l' mlocateimplementazione e sarà necessario eseguire locate.findutilsper eseguire l'implementazione GNU. Questo è gestito attraverso alternative . Se sono stati installati entrambi, entrambi passeranno il tempo a ricostruire il rispettivo indice, ma a parte questo non entreranno in conflitto tra loro.


2
Hai trascurato di menzionare mlocatela funzione principale, da cui prende il nome ("fusione individuare"): fornisce una versione updatedbche riutilizza il suo vecchio indice per migliorare le prestazioni di aggiornamento eseguendo solo la query degli elenchi di file / sottodirectory per le directory in cui ctimeè cambiato .
ssokolow,

5

mlocate è una nuova implementazione di Locate. Una volta installato mlocateè

cambierà il binario / usr / bin / individuare in modo che punti per mlocare tramite il meccanismo delle alternative.

Ecco perché si ottiene il comportamento mlocate se si installa in quell'ordine.

I dettagli sono disponibili qui


In realtà, non ho mai installato mlocate, ma sul mio sistema Ubuntu 16.04,/usr/bin/locate -> /etc/alternatives/locate -> /usr/bin/mlocate
cayhorstmann
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.