আপনি কী ধরনের অনুসন্ধান চান তা পরিষ্কার নয়। আপনি যদি এটি ইউনিক্সের যে কোনও জায়গায় কাজ করতে চান, কেবলমাত্র আপনার হোম ডিরেক্টরি এবং আপনি কেবলমাত্র প্যাথনাম-ভিত্তিক অনুসন্ধান করতে চান তবে নীচের স্কিমটি সামান্য কিছুটা শেল হ্যাকারি সহ এবং মানকটি ব্যবহার করে locatedb
:
- কমপক্ষে একটি ট্যাগ করা ফাইল থাকা প্রতিটি ডিরেক্টরিতে একটি স্ট্যান্ডার্ড সাবডাইরেক্টরি প্রয়োজন, বলুন
.path-tags
;
- ডিরেক্টরিতে প্রতিটি ফাইলের link লিঙ্কযুক্ত ফাইল $ TAG (এতে চরটি থাকা উচিত নয়
_
) এর একটি লিঙ্ক রয়েছে$TAG_$FILE -> ../$FILE
আমি locate-tag
স্ক্রিপ্টের বিশদটি আপনার কাছে রেখে দিচ্ছি ; এটি কেবল একটি locate
কমান্ড এবং শেল হ্যাকারি ব্যবহার করে একটি দুই বা তিন-লাইনার হওয়া উচিত । (আপনি যদি আগ্রহী হন তবে আমি একটি লিখতে পারি)।
কেডিপি চ্যাপগুলির কয়েকটি মেটাডেটার জন্য এই ধরণের স্কিম সম্পর্কে কথা বলেছিল, যদিও আমি বিশদটি মনে করি না।
একই স্ক্রিপ্টের চারপাশে মোড়ানো এই স্কিমের উপর ভিত্তি করে আরও পরিশীলিত, কন্টেন্ট-পরীক্ষামূলক পরীক্ষা করাও সম্ভব উচিত find
।
আপডেট প্রয়োজনীয়তা উপর চিন্তা
- ব্যবহারকারীর দ্বারা পঠনযোগ্য যে কোনও ফাইল অবাধে ট্যাগ করা যায় - হ্যাঁ, কোনও সমস্যা হওয়া উচিত নয়
- কোনও ব্যবহারকারী এক বা একাধিক ট্যাগের সাথে মেলে এমন ফাইলগুলির সন্ধান করতে পারে - একইভাবে
- পূর্বের সম্পর্কিত ট্যাগগুলি না হারিয়ে ফাইলগুলি চারদিকে সরিয়ে নেওয়া যেতে পারে - তারা যে ডিরেক্টরিতে থাকে সেগুলি অবাধে সরানো যেতে পারে তবে ফাইলটি ডিরেক্টরি থেকে সরানো হলে আমরা সমস্যায় পড়ি। যদি ট্যাগগুলি ফর্মটি ধারণ করে
$TAG_$INODE_$FILE
এবং আমাদের কাছে কোন পাথের প্রদত্ত ইনোড রয়েছে তা খুঁজে পাওয়ার একটি দক্ষ উপায় আছে , তবে আমরা ফাইল সিস্টেমগুলি থেকে সরে গেলেই ট্যাগগুলি হারাতে পারি। ফাইলগুলি অনুলিপি করা কিছু সমস্যা হতে পারে এবং এটি আমার মূল পরামর্শের চেয়ে স্পষ্টতই জটিল।
- সিস্টেমটি সহজেই ব্যাক আপ করা যায় - মূলত কঠিন নয়।
- কোনও ডেস্কটপ পরিবেশের উপর নির্ভরতা নেই - কোনওটি নয়
- যদি কোনও জিআই জড়িত থাকে তবে অবশ্যই একটি ক্লাইব ফ্যালব্যাক থাকতে হবে - এটিই আমরা বাস করি!
পোস্টস্ক্রিপ্ট (2)
লিঙ্ক দ্বারা বর্ণিত "বিপরীত-ইনোড-লুকোচুরি" ফাইলটি আপনি (1) এর উত্তরে আমাকে দেখিয়েছেন কিছু অতিরিক্ত অবকাঠামো দেওয়ার জন্য ব্যবহার করা যেতে পারে। আমরা বিপরীত লুকোচু ফাইলটিতে একটি পরিষেবা চালাতে পারি, যা পরীক্ষা করে দেখায় যে কোনও ট্যাগের ফাইলনামে দেওয়া প্রতিটি ইনোড ফাইলের ইনোডের সাথে মেলে (যদি থাকে) ট্যাগ পয়েন্ট করে। যদি কোনও মিল না থাকে, তবে প্রয়োজনীয় শল্য চিকিত্সা করা যেতে পারে (ইনোডটি এখনও বিদ্যমান? এটি কোথায়?), এবং বিপরীত লক ফাইলটি হয় রূপান্তরিত বা পুনঃজেনেটেড এবং ট্যাগ সিমলিংকগুলি আপডেট করা হচ্ছে।
আমি একটি জটিল মামলার প্রত্যাশা করছি: যদি ট্যাগ করা ফাইলটি ট্যাগগুলি যেখানে হওয়া উচিত না হয়, বিপরীত অনুসন্ধান ফাইলটি বলে যে এটি এখনও বিদ্যমান আছে, তবে লুকিং ফাইলটি যেখানে নেই সেখানে অনুসন্ধান ফাইলটি বলেছে, লুকিং ফাইলটি বাইরে নেই তারিখ? এই কেসটি হ্যান্ডেল করার কয়েকটি উপায় রয়েছে, এটি স্পষ্টতই আদর্শ নয়। এগুলি ছাড়া, এই পুরো টাস্কটি পার্লের মতো এমন জিনিস বলে মনে হচ্ছে ...