mlocate และ slocate ใน Linux แตกต่างกันอย่างไร?


13

เมื่อผ่าน/etc/cron.dailyไดเรกทอรีฉันสังเกตเห็นว่ามีไฟล์ mlocate.cron เท่านั้นเมื่อเปรียบเทียบกับสิ่งที่ฉันเห็นบนวัสดุอื่น ๆ ที่พวกเขาอ้างถึง slocate.cron มีความแตกต่างระหว่างคำสั่งเหล่านี้และคำสั่งของพวกเขาและถ้าเป็นเช่นนั้นพวกเขาคืออะไร?

คำตอบ:


15

https://fedorahosted.org/mlocate/อธิบายว่าการรวม mlocate จะรวมฐานข้อมูลในแต่ละการอัปเดตซึ่งนำเสนอการเร่งความเร็วประสิทธิภาพเนื่องจากสามารถข้ามไฟล์ที่ตรวจสอบก่อนหน้านี้

พวกเขากำลังใช้งานการแข่งขัน แต่ mlocate ถูกออกแบบมาเพื่อให้เข้ากันได้กับ slocate และจะค่อย ๆ แทนที่มัน


ขอบคุณ เมื่อคุณพูดอย่างนั้นmlocate merges databases at each updateสิ่งนี้หมายความว่าอย่างไร
PeanutsMonkey

4
@Panuts ดูที่ลิงก์จาก Stephanie ดูเหมือนว่าmlocate(ซึ่งสร้างฐานข้อมูลของตำแหน่งไฟล์) จะนำฐานข้อมูลก่อนหน้ามาใช้ใหม่ทุกครั้งที่เรียกใช้ดังนั้นข้อมูลใหม่ใด ๆ จะถูกรวมเข้ากับข้อมูลเก่าเพื่อประหยัดเวลาและให้ประสิทธิภาพ เร่งความเร็ว.
pavium

@pavium - นี่หมายความว่าฉันจะมีไฟล์ mlocate.cron หลายไฟล์หรือไม่
PeanutsMonkey

1
@peanuts ไม่รวมฐานข้อมูล : - ข้อมูลใหม่ที่สร้างขึ้นเมื่อmlocate.cronมีการผสานการ ทำงานกับข้อมูลเก่าจากครั้งล่าสุดที่รัน ไม่ได้หมายความว่าเราต้องการmlocate.cronไฟล์หลายไฟล์
pavium

1
สิ่งที่ mlocate ทำคือการเปรียบเทียบ mtime ของทุกไดเร็กทอรีในฐานข้อมูลกับไดเร็กทอรีเดียวกันบนระบบไฟล์ สำหรับไดเรกทอรีที่มีการเปลี่ยนแปลง mlocate จะเดินและต้นไม้ไดเรกทอรีย่อยใหม่ที่อยู่ด้านหลังมิฉะนั้นมันจะคัดลอกเนื้อหาฐานข้อมูลสำหรับไดเรกทอรีนั้นไปยังฐานข้อมูลใหม่ (ไฟล์ชั่วคราวที่ย้ายไปอยู่ที่ท้าย) สิ่งนี้สามารถเร่งความเร็วกระบวนการบนระบบไฟล์ขนาดใหญ่ ฉันเห็นการอัปเดต mlocate เป็นการส่วนตัวใช้เวลาเพียงไม่กี่ชั่วโมงกับหลายวันสำหรับฐานข้อมูลใหม่
Thomas Guyot-Sionnest
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.