রুট ফোল্ডার বা রুট ডিরেক্টরি কি?

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

রুট ডিরেক্টরি যেকোনো ড্রাইভের বা যেকোনো ডিস্ক পার্টিশনের সকল ফোল্ডার এবং যেকোনো ফাইল ধারণ করতে পারে। উদাহরণ স্বরূপ দেখতে গেলে আপনার উইন্ডোজ কম্পিউটারের রুট ডিরেক্টরি “C:\”। আপনার হার্ড ড্রাইভে যদি একাধিক পার্টিশন থাকে, তবে প্রত্যেকটি পার্টিশন ড্রাইভের এক একটি আলাদা রুট ডিরেক্টরি রয়েছে, যেমনঃ “E:\”, “F:\” ইত্যাদি। যদি আপনার কম্পিউটারে ডিভিডি ড্রাইভ থাকে, তো সেটার রুট সাধারণত “D:\” (তবে আলাদা ড্রাইভ লেটারও থাকতে পারে) হয়ে থাকে। এভাবে প্রত্যেকটি ডিস্কে বা এমন কোন মিডিয়া যেখানে ডিজিটাল ডাটা রাখা হয়, অবশ্যই রুট ফোল্ডার থাকে, এবং হ্যাঁ, ওয়েবসাইটেরও রুট ফোল্ডার রয়েছে।


রুট ফোল্ডার এর উদাহরণ

যদিও এই সম্পূর্ণ বিষয়টি একেবারেই কঠিন কোন ব্যাপার নয়, তারপরেও আরোবেশি পরিষ্কার করার জন্য চলুন সম্ভাব্য সকল উদাহরণ থেকে জ্ঞান নেওয়া যাক। এতোক্ষণে নিশ্চয় বুঝে গেচেন,রুট ডিরেক্টরি হচ্ছে কোন ড্রাইভের একদম শুরুর ডিরেক্টরি। কিন্তু এই ব্যাপারটা সবসময় কিন্তু এক থাকে না। ধরুন আপনার পিসিতে মোজিলা ফায়ারফক্স ব্রাউজার ইন্সটল করা রয়েছে, তাহলে সেটা “C:\Program Files\Mozilla Firefox\Folder” — এরকম ডিরেক্টরির মধ্যে খুঁজে পাওয়া যাবে। এখন ধরুন আপনার ব্রাউজারটির সাথে কোন সমস্যা হয়েছে এবং অনলাইন কোন টিউটোরিয়ালে বলা রয়েছে ফায়ারফক্স রুট ফোল্ডারে আপনাকে অমুক ফাইলটি এডিট করতে হবে, তাহলে সেটা আপনি কোথায় খুজবেন?

দেখুন, এক্ষেত্রে রুট ফোল্ডার কিন্তু “C:\” নয়, কেনোনা সেখানে হাজারো আলাদা ফোল্ডার রয়েছে, এখানে রুট ডিরেক্টরি হবে “\Mozilla Firefox\” — কেনোনা এই ডিরেক্টরিতে ফায়ারফক্সের আরো সকল ফোল্ডার বা ফাইল গুলো ধারণকৃত রয়েছে। তো বুঝলেন, ড্রাইভের রুট ফোল্ডার আলাদা এবং যেকোনো আলাদা সফটওয়্যার বা সার্ভিসের রুট আলাদা হতে পারে। আবার যদি বলা হয়, আপনার সকল কম্পিউটার প্রোগ্রাম গুলোর রুট ফোল্ডার কি, সেক্ষেত্রে উত্তর হবে, “C:\Program Files\” — কেনোনা এর মধ্যে কম্পিউটারের সকল প্রোগ্রাম ফাইল এবং ফোল্ডার গুলো রয়েছে। এইভাবে এই রুল সকল ডিরেক্টরির উপর অ্যাপ্লাই হয়, আপনি ফোল্ডারের কোন অংশকে টার্গেট করছেন, সে অনুসারে তার রুট ফোল্ডার আলাদা আলাদা হতে পারে। বুঝাতে পাড়লাম তো?

ওয়েবসাইট রুট ডিরেক্টরি

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

তবে যেমন কম্পিউটারের ক্ষেত্রে আলাদা আলাদা রুট ফোল্ডার থাকতে পারে, ঠিক ওয়েব সার্ভারের ক্ষেত্রেও তেমনটা হয়। কোন সাইটের প্রাইমারী ডোমেইন প্রবেশ করানোর মাধ্যমে আপনি ঐ ওয়েব সার্ভারের রুট ডিরেক্টরিতে চলে যান না, আপনি আসলে ঐ সার্ভারে থেকে ওয়েবসাইট’টির রুট ডিরেক্টরিতে প্রবেশ করেন। একটি ওয়েব সার্ভারে একসাথে একাধিক ওয়েবসাইট হোস্ট করা থাকতে পারে, সেক্ষেত্রে প্রত্যেকটি ওয়েবসাইটের রুট ফোল্ডার আলাদা আলাদা হবে। অ্যাপাচি (Apache) (এটি একটি ওয়েব সার্ভার প্রোগ্রাম, যেমন উইন্ডোজ কম্পিউটার, তেমন সার্ভারের ক্ষেত্রে অ্যাপাচি সার্ভার) সার্ভারে কোন ওয়েবসাইটের রুট ডিরেক্টরি public_html হয়ে থাকে এবং প্রাইমারী ডোমেইনকে ঐ ফোল্ডারেই টার্গেট করে রাখা হয়। মানে আপনি সাইট হোমপেজ ভিজিট করার সময় প্রথমত “public_html” ডিরেক্টরি থেকে কনটেন্ট দেখতে পান।

এরপরে যেকোনো এইচটিএমএল পেজ দেখেতে চাইলে মানে ব্রাউজ করতে চাইলে আপনাকে ঐ ডিরেক্টরিতে প্রবেশ করতে হয়। মনে করুণ, ঐ সাইট’টির ইমেজ ফোল্ডারে থাকা একটি ইমেজ ব্রাউজ করতে চাচ্ছেন, যেটা ফিজিক্যালি “public_html/image/techubs-logo.png” ডিরেক্টরিতে রয়েছে, তাহলে ডোমেইন স্ট্র্যাকচারও কিছুটা এমন হবেঃ “sitename.com/image/techubs-logo.png”। এইচটিএমএল পেজ ব্রাউজ করার ক্ষেত্রে অবশ্যই সার্ভারে বা ওয়েব সাইট ডিরেক্টরিতে পেজটি ফিজিক্যালভাবে থাকতে হয়, মানে “public_html/about/about-us.html” তারপরেই সেটা “sitename.com/about/about-us.html” লিঙ্ক থেকে অ্যাক্সেস করা যায়। কিন্তু পিএইচপি সাইট গুলোর ক্ষেত্রে ব্যাপারটি আলাদা হয়ে থাকে। কোন ওয়ার্ডপ্রেস সাইট থেকে যদি “sitename.com/about” পেজটি ভিজিট করেন, এর মানে কিন্তু এই নয় ওয়েবসাইট ফোল্ডারে ঐ পেজটি ফিজিক্যালভাবে রয়েছে। ওয়ার্ডপ্রেসের মতো ব্লগ পাবলিশিং সফটওয়্যার গুলো নিজে থেকে ভার্চুয়াল ডিরেক্টরি তৈরি করে, সেখানে কোন ফিজিক্যাল পেজ থাকার দরকার হয় না।


প্রত্যেকটি অপারেটিং সিস্টেমের রুট ডিরেক্টরি আলাদা হয়ে থাকে। উইন্ডোজ অপারেটিং সিস্টেমে “C:\” সাধারণত রুট হয়, কিন্তু লিনাক্স বা ইউনিক্স নির্ভর অপারেটিং সিস্টেম গুলোতে “\root” নামের ডিরেক্টরি থাকে, যখন আপনি ঐ সিস্টেমে রুট ইউজার হিসেবে লগইন করেন। উইন্ডোজ অপারেটিং সিস্টেমে রুট ফোল্ডারে কাজের ফাইল গুলো থাকে, কিন্তু আলাদা অপারেটিং সিস্টেমে, নির্দিষ্ট কাজের জন্য আলাদা আলাদা রুট থাকে।

আশা করছি, আর্টিকেলটি আপনার জন্য অনেকবেশি সাহায্য পূর্ণ ছিল এবং আপনি রুট ফোল্ডার বা রুট ডিরেক্টরি সম্পর্কে বিস্তারিত জানতে পারলেন। এর পরবর্তী কোন আর্টিকেলে লিনাক্সের রুট ডিরেক্টরি বিস্তারিত ব্যাখ্যা করে একটি পুরনাঙ্গ আর্টিকেল লিখে ফেলবো। আর এই বিষয় নিয়ে যেকোনো প্রশ্ন করতে আমাকে নিচে কমেন্ট করে জানাতে পারেন।

Leave a Comment