Différence entre localiser et mlocate

14

Je voulais installer la commande locate, qui est disponible via sudo apt-get installmlocate.

Cependant, j'ai d'abord couru sudo apt-get installlocatequi semble avoir installé autre chose.

La saisie de la commande locate <package>semble cependant faire appel mlocate.

Qu'est-ce que l'emballage locateet peut-il (doit-il) être retiré en toute sécurité?

Drapeaux d'hiver
la source
1
Je crois que mlocate était le remplacement de la localisation d'origine, mais c'était il y a 15 ans, et probablement, un paquet est un alias ou un référent à l'autre. Il existe une autre variante, "slocate", qui a observé la visibilité d'un fichier en fonction des autorisations utilisateur, mais je ne l'ai pas vue. Cela depuis longtemps
Otheus

Réponses:

25

Le package Locate est l'implémentation de Locate à partir de GNU findutils . Le package mlocate est une autre implémentation du même concept appelé mlocate . Ils implémentent la même fonctionnalité de base: recherche rapide des noms de fichiers sur la base d'un index qui est (généralement) reconstruit tous les soirs. Ils diffèrent dans certaines de leurs fonctionnalités au-delà de l'utilisation de base. En particulier, GNU Locate construit un index de fichiers lisibles uniquement (sauf si vous l'exécutez à partir de votre compte), tandis que mlocate construit un index de tous les fichiers mais ne laisse à l'utilisateur appelant que les fichiers auxquels il peut accéder. Cela rend mlocate plus utile dans la plupart des cas, mais inutilisable dans certaines installations inhabituelles où il n'est pas exécuté par l'administrateur système (carmlocatedoit être root setuid ), et un risque pour la sécurité.

Sous Debian et dérivés, si vous installez les deux, locateexécutez l' mlocateimplémentation, et vous devez l'exécuter locate.findutilspour exécuter l'implémentation GNU. Ceci est géré par des alternatives . Si vous les avez tous deux installés, ils passeront tous les deux du temps à reconstruire leur index respectif, mais à part cela, ils n'entreront pas en conflit.

Gilles 'SO- arrête d'être méchant'
la source
2
Vous avez négligé de mentionner mlocatela fonctionnalité principale de, dont il tire son nom («fusionner localiser»): il fournit une version de updatedbcelui-ci réutilise son ancien index pour améliorer les performances de mise à jour en interrogeant uniquement les listes de fichiers / sous-répertoires pour les répertoires où le ctimea changé .
ssokolow
5

mlocate est une nouvelle implémentation de Locate. Une fois que vous installez mlocatece

changera le binaire / usr / bin / Locate pour pointer vers mlocate via le mécanisme alternatif.

C'est pourquoi vous obtenez un comportement mlocate si vous installez dans cet ordre.

Les détails peuvent être trouvés ici

Anthon
la source
En fait, je n'ai jamais installé mlocate, mais sur mon système Ubuntu 16.04,/usr/bin/locate -> /etc/alternatives/locate -> /usr/bin/mlocate
cayhorstmann