আমি একটি হোস্টেড অবিচ্ছিন্ন ইন্টিগ্রেশন সংস্থা পরিচালনা করি এবং আমরা আমাদের গ্রাহকদের লিনাক্সে কোড চালাই। প্রতিবার আমরা কোডটি চালাই, আমরা এটি একটি পৃথক ভার্চুয়াল মেশিনে চালিত করি। একটি ঘন ঘন সমস্যা দেখা দেয় যে গ্রাহকের পরীক্ষাগুলি কখনও কখনও ভিএম-তে চেক আউট করে তাদের কোডের ডিরেক্টরি আদেশের কারণে ব্যর্থ হয়ে যায়।
আমাকে আরও বিশদে যেতে দিন। ওএসএক্স-এ, এইচএফএস + ফাইল সিস্টেমটি নিশ্চিত করে যে ডিরেক্টরিগুলি সর্বদা একই ক্রমে ট্র্যাভ্রেস করা থাকে। ওএসএক্স ব্যবহারকারী প্রোগ্রামাররা ধরে নেয় যে এটি যদি তাদের মেশিনে কাজ করে তবে এটি অবশ্যই সর্বত্র কাজ করবে work তবে এটি প্রায়শই লিনাক্সে কাজ করে না, কারণ লিনাক্স ফাইল সিস্টেম ডিরেক্টরিগুলি ট্র্যাভার করার সময় আদেশের গ্যারান্টি সরবরাহ করে না।
উদাহরণ হিসাবে, 2 ফাইল, a.rb, বি.আর.বি রয়েছে বিবেচনা করুন a.rb সংজ্ঞায়িত করে MyObject
, এবং b.rb ব্যবহার করে MyObject
। যদি a.rb প্রথমে লোড হয় তবে সবকিছু কাজ করবে। যদি বি.আরবি প্রথমে লোড করা হয় তবে এটি একটি সংজ্ঞায়িত পরিবর্তনশীল অ্যাক্সেস করার চেষ্টা করবে MyObject
এবং ব্যর্থ হবে।
তবে এর চেয়েও খারাপ এটি হ'ল এটি সর্বদা ব্যর্থ হয় না। যেহেতু লিনাক্সে ফাইল সিস্টেম অর্ডার করার আদেশ দেওয়া হয়নি, এটি বিভিন্ন মেশিনে ভিন্ন আদেশ হবে। এটি আরও খারাপ কারণ কখনও কখনও পরীক্ষাগুলি পাস হয় এবং কখনও কখনও তারা ব্যর্থ হয়। এটি সবচেয়ে খারাপ সম্ভাব্য ফলাফল।
সুতরাং আমার প্রশ্নটি হল, ফাইল সিস্টেমের ক্রম পুনর্বারযোগ্যযোগ্য করার কোনও উপায় আছে কি? কিছু পতাকা সম্ভবত ext4 থেকে, এটি বলে যে এটি সর্বদা কোনও ক্রমে ডিরেক্টরিগুলি অতিক্রম করবে? অথবা এই গ্যারান্টিটি থাকতে পারে অন্য কোনও ফাইল সিস্টেমের?