আমি কীভাবে কেবলমাত্র কিছু ডিরেক্টরিকে সূচকে এমলেট করতে পারি?


23

আমি আমার উবুন্টু সার্ভারে এমলোকট ব্যবহার করতে চাই , তবে কেবল নির্দিষ্ট ডিরেক্টরিকে সূচীকরণ করতে (যেমন /homeএবং /data, তবে সমস্ত কিছু নীচে নয় /)। তবে, এমলোটকের স্ট্যান্ডার্ড কনফিগারেশন বিপরীতে কাজ করে; আপনি যে পথগুলি সরাতে চান (তার সাথে PRUNE_PATHS) নির্দিষ্ট করেছেন।

এটি অর্জনের জন্য কি কোনও সহজ উপায় আছে, বা অনুরূপ কোনও ইউটিলিটি যা আমি চাই তা করবে? (দ্রষ্টব্য: এটি যেমন একটি সূচক বজায় রাখা উচিত mlocate, তাই findগ্রহণযোগ্য নয়, উদাহরণস্বরূপ) ধন্যবাদ।

উত্তর:


16

আপনি -U বিকল্পটি ব্যবহার করতে পারেন (- ডেটাবেস-রুট PATH)

updatedb -l 0 -U /home/user/music -o /home/user/databasefile

-o আউটপুট ফাইল লিখুন

-l 0 তোলে যে আপনি এটি পড়তে পারেন, অন্যথায় এটি কেবল অবস্থানের জন্য অ্যাক্সেসযোগ্য

তারপরে আপনি এটির মতো ব্যবহার করতে পারেন:

locate -d /home/user/databasefile Dylan

-d ডাটাবেসপথ সেট করে

একাধিক মূল ডিরেক্টরি সহ এমলোটোট ব্যবহার করতে, কেবল দুটি ডাটাবেস ফাইল তৈরি করুন, এবং দুটি ডাটাবেসপথের বিকল্পগুলির সাহায্যে সনাক্ত করুন:

locate -d /home/user/dbfile1 -d /home/user/dbfile2 searchstring

এটি সংক্ষিপ্ত করতে এবং আরও নির্দিষ্ট প্রশ্নের উত্তর দিতে:

updatedb -l 0 -U /home -o /home/user/home_dbfile
updatedb -l 0 -U /data -o /home/user/data_dbfile
locate -d /home/user/home_dbfile -d /home/user/data_dbfile Dylan

উত্সাহ দেওয়া, কারণ এটি একটি আংশিক উত্তর। তবে এটি কেবল একটি পাথ শ্বেত তালিকাভুক্ত করার অনুমতি দেয়। আমার প্রশ্নটি বিশেষত ছিল কীভাবে একাধিক পথ হোয়াইটলিস্ট করা যায়।
অ্যান্ড্রু ফেরিয়ার

1
উত্তরটি উন্নত করা হয়েছে এবং সহজ পরিচালনা করার জন্য আমি একটি
উলাম

ভাল উত্তর! আমি বুঝতে পারিনি যে আপনি সমান্তরালভাবে দুটি ডাটাবেসে অনুসন্ধান করতে পারবেন, স্পষ্টতার জন্য ধন্যবাদ। এর চেয়ে ভাল উত্তর না পেলে আমি এটিকে স্বীকৃত হিসাবে চিহ্নিত করব!
অ্যান্ড্রু ফেরিয়ার

কি updatedb -l 0 -U /home/user/musicরিকার্সিভ? আমার ক্ষেত্রে বলে মনে হচ্ছে না
গায়া

22

ফাইলটি সম্পাদনা করুন /etc/updatedb.conf

PRUNEPATHSআপনি যে ডিরেক্টরিগুলি অনুসন্ধান করতে চান না তার সাথে সেট আপ করুন

PRUNEPATHS="/tmp /var/spool /media"

PRUNEPATHS: ডিরেক্টরিগুলির পাথের নামের একটি শ্বেত স্পেস-বিচ্ছিন্ন তালিকা যা আপডেট বি দ্বারা স্ক্যান করা উচিত নয়। প্রতিটি পাথের নাম অবশ্যই সেই ফর্মের মধ্যে থাকতে হবে যেখানে ডিরেক্টরিটি সনাক্ত করে রিপোর্ট করা হবে। ডিফল্টরূপে, কোনও পাথ এড়ানো যায় না।

নোট করুন যে উপরের সমস্ত কনফিগারেশন তথ্য ইউটিলিটিতে কমান্ড লাইন বিকল্পের মাধ্যমে পরিবর্তন বা আপডেট করা যেতে পারে updatedb


না, এটি আমি যা চাই তার ঠিক বিপরীত। এটি সেই ডিরেক্টরিগুলি বাদ দিয়ে সবকিছুকে সূচক করে দেবে।
অ্যান্ড্রু ফেরিয়ার

আপনি আপনার ডিরেক্টরিগুলি বাদ দিয়ে সমস্ত কিছু দিয়ে PRUNEPATHS সেট করতে পারেন। এইভাবে, এটি কেবল আপনার ডিরেক্টরিগুলি স্ক্যান করবে।
LnxSlck

ঠিক আছে, স্পষ্টকরণ সম্পাদনার জন্য ধন্যবাদ। এটি কিছুটা অযৌক্তিক, কারণ যেহেতু আমি সূচী করতে চাই এমন ডিরেক্টরিগুলির পাশাপাশি সাব-ডাইরেক্টরিগুলি যুক্ত করি, আমি সেগুলি প্রিনাপেথসে যুক্ত করতে মনে রাখতে হবে। তবে, এটি কাজ করবে। পরামর্শের জন্য ধন্যবাদ.
অ্যান্ড্রু ফেরিয়ার

হ্যাঁ আমি জানি, তবে এটি করার জন্য আমি এমলিটকে খুব বেশি তথ্য খুঁজে পাই না। আপনি খুঁজে পেতে কিছু ব্যবহার করতে পারবেন না?
LnxSlck

না, আমার কাছে প্রচুর ডেটা রয়েছে, সুতরাং এটির তালিকাভুক্ত করা গুরুত্বপূর্ণ। প্রশ্নে স্পষ্ট করে দিয়েছেন।
অ্যান্ড্রু ফেরিয়ার

1

আপনি চেষ্টা করতে পারেন এমন অন্য কিছু খুঁজে পেয়েছি:

  1. QuickSearch - "তাই আমার SearchTool অন্যভাবে ব্যবহার করুন: এটি 'ম' কম্যান্ড অনুসন্ধান ফোল্ডার তালিকা সামগ্রীতে ব্যবহার করে, তারপর যে আউটপুট খোঁজ করে এই পদ্ধতি অনুসন্ধান গতি খুব দ্রুত (প্রথম সময় এটি তৈরি করতে হয়েছে ব্যতীত। 'ls' আউটপুট)।

ইনডেক্সিং সম্পর্কে খুব নিশ্চিত নয়।

  1. সরঞ্জাম ট্র্যাকার-গুই ব্যবহার করুন
  2. অত্যন্ত খোঁড়া সমাধান sudo "আপনার অনুসন্ধান ডিরেক্টরি এখানে রাখুন"> ফাইল.লিস্ট গ্রেপ 'ফাইলের নাম' ফাইল.লিস্ট

একাধিক উত্তর যুক্ত না করার চেষ্টা করুন। প্রয়োজনে বিদ্যমান উত্তরটি সম্পাদনা করুন এবং আরও তথ্য অন্তর্ভুক্ত করুন। ধন্যবাদ।
জোকারডিনো

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