Diferencia entre localizar y ubicar

14

Quería instalar el comando locate, que está disponible a través de sudo apt-get installmlocate.

Sin embargo, corrí por primera vez, lo sudo apt-get installlocateque parece haber instalado algo más.

locate <package>Sin embargo, escribir el comando parece recurrir mlocate.

¿Cuál es el paquete locate, y puede (debería) eliminarse de manera segura?

Banderas de invierno
fuente
1
Creo que mlocate fue el reemplazo de la ubicación original, pero eso fue hace 15 años, y probablemente, un paquete es un alias o un referente para el otro. Hay otra variante, "slocate" que observó la visibilidad de un archivo en función de los permisos del usuario, pero no lo he visto. Eso en mucho tiempo
Oteo

Respuestas:

25

El paquete de localización es la implementación de localizar de GNU findutils . El paquete mlocate es otra implementación del mismo concepto llamado mlocate . Implementan la misma funcionalidad básica: búsqueda rápida de nombres de archivos basados ​​en un índice que (típicamente) se reconstruye todas las noches. Difieren en algunas de sus funciones más allá del uso básico. En particular, GNU localizar crea un índice de archivos legibles mundialmente (a menos que lo ejecute desde su cuenta), mientras que mlocate construye un índice de todos los archivos pero solo permite al usuario que llama ver los archivos a los que puede acceder. Esto hace que mlocate sea más útil en la mayoría de las circunstancias, pero inutilizable en algunas instalaciones inusuales donde el administrador del sistema no lo ejecuta (porquemlocatetiene que ser setuid root ), y un riesgo de seguridad.

En Debian y derivados, si instala ambos, locateejecutará la mlocateimplementación, y debe ejecutarla locate.findutilspara ejecutar la implementación de GNU. Esto se gestiona a través de alternativas . Si tiene ambos instalados, ambos pasarán tiempo reconstruyendo su índice respectivo, pero aparte de eso, no entrarán en conflicto entre sí.

Gilles 'SO- deja de ser malvado'
fuente
2
No mencionó mlocatela característica principal de la que obtiene su nombre ("fusión de localización"): proporciona una versión updatedbque reutiliza su índice anterior para mejorar el rendimiento de la actualización al consultar solo listas de archivos / subdirectorios para directorios donde ctimeha cambiado .
ssokolow
5

mlocate es una implementación más nueva de localizar. Una vez que instale mlocatese

cambiará el binario / usr / bin / localizar para apuntar a mlocate a través del mecanismo de alternativas.

Es por eso que obtiene el comportamiento mlocate si instala en ese orden.

Los detalles se pueden encontrar aquí

Anthon
fuente
De hecho, nunca instalé mlocate, pero en mi sistema Ubuntu 16.04,/usr/bin/locate -> /etc/alternatives/locate -> /usr/bin/mlocate
cayhorstmann