"আপডেটডবি" প্রোগ্রামটি এত তাড়াতাড়ি কেন চালায়?


22

সাধারণত যখন আমার কাছে প্রোগ্রাম থাকে যেগুলি একটি সম্পূর্ণ ডিস্ক স্ক্যান করছে এবং সিস্টেমে সমস্ত ফাইলের ওপরে চলেছে তখন তারা চালাতে খুব বেশি সময় নেয়। তুলনায় তুলনামূলকভাবে আপডেটডব এত দ্রুত কেন চালায়?

উত্তর:


22

উত্তরটি locateআপনি যে সংস্করণটি ব্যবহার করছেন তার উপর নির্ভর করে, তবে এটির পক্ষে একটি উপযুক্ত সুযোগ রয়েছে mlocate, যার updatedbসম্পূর্ণ ডিস্ক স্ক্যান এড়িয়ে দ্রুত চালিত হয়:

mlocon হ'ল একটি অবস্থান / আপডেটবিড বাস্তবায়ন। 'এম' এর অর্থ দাঁড়ায় "মার্জিং": আপডেটডাব বিদ্যমান ফাইল ডাটাবেসটিকে পুনরায় ব্যবহার করে ফাইল সিস্টেমের পুনরায় পড়া এড়ানোর জন্য, যা আপডেটডকে দ্রুততর করে তোলে এবং সিস্টেমের ক্যাশে যতটা ট্র্যাশ করে না।

(ডাটাবেস প্রতিটি ডিরেক্টরিটির টাইমস্ট্যাম্প সংরক্ষণ করে, ctimeবা mtime, যে কোনওটি নতুন।

অধিকাংশ বাস্তবায়নের মতো updatedb, mlocateএর ফাইল সিস্টেম এবং পাথ যা তা উপেক্ষা করার জন্য কনফিগার করা এড়িয়ে যাবে। ডিফল্টরূপে কেউ আছে mlocateএর ক্ষেত্রে কিন্তু ডিস্ট্রিবিউশন সাধারণত মৌলিক প্রদান updatedb.confযা নেটওয়ার্ক ফাইল সিস্টেম, ভার্চুয়াল ফাইল সিস্টেম ইত্যাদি উপেক্ষা করে (দেখুন ডেবিয়ান কনফিগারেশন ফাইল উদাহরণস্বরূপ; এই ডেবিয়ান প্রমাণ অভ্যাস, তাই গনুহ এর updatedbহয় একভাবে কনফিগার )।


মোটামুটি ভাল প্রশ্নোত্তর, এমনকি "ডিফারেন্সিয়াল" স্ক্যানিংগুলিও জানতেন না।
রুই এফ রিবেইরো

1
ধন্যবাদ! আমি কখনই লক্ষ্য করিনি যে কোনও ফাইল পরিবর্তন করা তার সমস্ত মূল ডিরেক্টরিগুলির সিটিটাইম এবং এমটাইম পরিবর্তন করে।
hugomg

4
@ হুগমগ আমি মনে করি না এটি আসলে হয়। এটি কেবলমাত্র mtimeতার তাত্ক্ষণিক পিতামাতার পরিবর্তন করা উচিত ।
কুসালানন্দ

সুতরাং যদি আমি এটি সঠিকভাবে বুঝতে পারি, তবে সেগুলি mlocateযত্নশীল ctimeএবং mtimeযার দ্বারা বোঝা যায় যে কেবল ডিরেক্টরি এন্ট্রিগুলির তালিকা এখনও একই (কোনও সরানো বা যুক্ত ফাইল নেই), তার অর্থ এটি প্রকৃত ফাইলগুলির নিজেরাই যত্ন নেয় না। এটা কি ঠিক ?
সের্গেই কলডিয়াজন্য

@ সার্জি: অবশ্যই locateনয় grep -R। এটি ফাইলের সামগ্রী পড়ে না।
কেভিন

9

পরিমার্জন বার চেক করা ছাড়াও, mlocateফাইল সিস্টেম বা নীরস প্রচুর সম্ভাব্য সদৃশ ফাইলগুলি আছে, /etc/updatedb.conf উল্লেখিত (এবং বর্ণনা অনুযায়ী নির্দিষ্ট সাব-ট্রি উপেক্ষা করে মানুষ updatedb.conf ):

  • মাউন্ট বাঁধুন
  • কিছু ধরণের ফাইল সিস্টেম (9 পি, আফস, বিডিএডি, ইত্যাদি)
  • ভিসিএস সংগ্রহস্থল ডাটাবেস (.git, .hg, ইত্যাদি)
  • কিছু হার্ড-কোডেড ডিরেক্টরি (/ মিডিয়া, / টিএমপি, / ভার / স্পুল / কাপ, ইত্যাদি)।

যদিও এটি ডিফল্ট হিসাবে मामला নয়, তাই বেস আচরণ ব্যবহার করা বিতরণের উপর নির্ভর করে। (অন্যান্য updatedbবাস্তবায়নগুলি কনফিগার হওয়া ব্যতিক্রমগুলিও সমর্থন করে))
স্টিফেন কিট

প্রকৃতপক্ষে. আমি ফেডোরার ডিফল্ট বর্ণনা করছিলাম।
hugomg
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.