Perbedaan antara lokasi dan mlocate

14

Saya ingin menginstal perintah locate, yang tersedia via sudo apt-get installmlocate.

Namun, saya pertama kali berlari sudo apt-get installlocateyang tampaknya telah menginstal sesuatu yang lain.

Namun mengetik perintah locate <package>tampaknya memanggil mlocate.

Apa paketnya locate, dan bisakah (harus) dihapus dengan aman?

Bendera musim dingin
sumber
1
Saya percaya mlocate adalah pengganti untuk lokasi asli, Tapi Itu 15 tahun yang lalu, dan mungkin, satu paket adalah alias atau referensi ke yang lain. Ada varian lain, "slocate" yang mengamati visibilitas file berdasarkan izin pengguna, tapi saya belum melihatnya. Itu dalam waktu yang lama
Otheus

Jawaban:

25

The menemukan paket pelaksanaan menemukan dari findutils GNU . The slocate paket implementasi lain dari konsep yang sama disebut slocate . Mereka menerapkan fungsi dasar yang sama: pencarian cepat nama file berdasarkan indeks yang (biasanya) dibangun kembali setiap malam. Mereka berbeda dalam beberapa fungsi mereka di luar penggunaan dasar. Secara khusus, lokasi GNU hanya membuat indeks file yang dapat dibaca dunia (kecuali Anda menjalankannya dari akun Anda), sedangkan mlocate membuat indeks dari semua file tetapi hanya memungkinkan pengguna yang memanggil melihat file yang dapat diakses. Ini membuat mlocate lebih berguna di sebagian besar keadaan, tetapi tidak dapat digunakan dalam beberapa instalasi yang tidak biasa di mana ia tidak dijalankan oleh administrator sistem (karenamlocateharus setuid root ), dan risiko keamanan.

Di bawah Debian dan turunannya, jika Anda menginstal keduanya, locateakan menjalankan mlocateimplementasi, dan Anda harus menjalankan locate.findutilsuntuk menjalankan implementasi GNU. Ini dikelola melalui alternatif . Jika Anda telah menginstal keduanya, mereka berdua akan menghabiskan waktu untuk membangun kembali indeks masing-masing, tetapi selain itu mereka tidak akan saling bertentangan.

Gilles 'SANGAT berhenti menjadi jahat'
sumber
2
Anda lalai menyebutkan mlocatefitur utama, dari mana namanya ("menggabungkan lokasi"): Ini menyediakan versi updatedbyang menggunakan kembali indeks lamanya untuk meningkatkan kinerja pembaruan dengan hanya menanyakan daftar file / subdirektori untuk direktori yang ctimetelah berubah .
ssokolow
5

mlocate adalah implementasi dari loc yang lebih baru. Setelah Anda menginstal mlocateitu

akan mengubah biner / usr / bin / cari agar mengarah ke mlocate melalui mekanisme alternatif.

Itu sebabnya Anda mendapatkan perilaku mlocate jika Anda menginstal dalam urutan itu.

Detail dapat ditemukan di sini

Anthon
sumber
Bahkan, saya tidak pernah menginstal mlocate, tetapi pada sistem Ubuntu 16.04 saya,/usr/bin/locate -> /etc/alternatives/locate -> /usr/bin/mlocate
cayhorstmann