সিস্টেম ফোল্ডারগুলো হলো যেসব ফোল্ডার যেগুলো ব্যবহারকারীর দ্বারা অ্যাক্সেস করার জন্য নন। এগুলো অ্যাপ্লিকেশন এবং অপারেটিং সিস্টেম চালানোর সাহায্য করে, সমর্থন এবং রিসোর্স প্রদান করে। এগুলো वो লেয়ার যা ব্যবহারকারীদের অ্যাপ্লিকেশন এবং প্রোগ্রামের মাধ্যমে হোস্টকে ম্যানিপুলেট করতে দেয়। কিছু লুকানো থাকে, আর কিছু নন, কিন্তু প্রায় সবই যেকোনোভাবে ব্যবহারকারীর কাছে অ্যাক্সেসযোগ্য।
কিন্তু এই ভিন্ন সিস্টেম ফোল্ডারগুলো কিসের জন্য? "bin" কী, এবং এটি আপনার কম্পিউটারকে কীভাবে সাহায্য করে? নিচে সবচেয়ে সাধারণত উল্লেখযোগ্য সিস্টেম ফোল্ডারগুলো পরীক্ষা করব।
আপনার ম্যাকের "/System" ফোল্ডারটাতে বেশি কিছু থাকে না। আমরা প্রথমে এর কন্টেন্ট দেখব, তারপর অন্যান্য, গভীর সিস্টেম ফোল্ডারগুলোতে যাব।
নোট: সিস্টেম ফোল্ডার এবং ফাইলগুলোর সাথে কিছু যোগ, বাদ বা মডিফাই করবেন না। আপনি নিরাপদে ব্রাউজ করতে পারেন, কিন্তু ফাইল বা ফোল্ডার যোগ, বাদ বা মডিফাই করা বা ফোল্ডারগুলোকে পরিবর্তন করা অনিশ্চিত — এবং কখনও কখনও সিস্টেম-ব্রেকিং — পরিণতি আনতে পারে। আপনি যদি এক্সপেরিমেন্ট করতে চান, তবে আগে আপনার ম্যাকের বুটেবল ক্লোন বানান।
লাইব্রেরি ফোল্ডার: /System/Library এবং ~/Library

লাইব্রেরি ফোল্ডারগুলো ব্যবহারকারীর সবচেয়ে কাছাকাছি। এগুলো অ্যাপ্লিকেশন দ্বারা তৈরি হয়, এবং অ্যাপ্লিকেশনগুলো তাদের অপারেশনের সময় ফাইল যোগ, বাদ এবং মডিফাই করে। স্পষ্ট বললে, এখানে সংগঠন প্রক্রিয়াটি কিছুটা হ যাবতীয় হতে পারে। অ্যাপ্লিকেশনগুলো মূলত লাইব্রেরিতে ফাইল রাখার বিষয়ে যা খুশি তাই করতে পারে, কিন্তু অধিকাংশই একটি মিলتی-जুলتی প্রক্রিয়া অনুসরণ করে।
ইউজার লাইব্রেরি ফোল্ডার ("~/Library"-এ অবস্থিত) এবং সিস্টেম লাইব্রেরি ফোল্ডার ("/System/Library"-এ অবস্থিত) — দুটোতে আপনি ফাইল ও ফোল্ডার এর বিশাল çeşit পাবেন। এই ফাইলগুলো প্রেফারেন্স, অ্যাপ্লিকেশন ডেটাবেস, মেটাডেটা, প্লাগইন, সেভ করা অ্যাপ্লিকেশন স্টেট, সিস্টেম প্রোফাইল, কুকি এবং আরও অনেক কিছু সংরক্ষণ করে।
Application Support

"~/Library/Application Support" ফোল্ডারটি সবচেয়ে বেশি অ্যাক্সেস হওয়া লাইব্রেরি ফোল্ডার। এখানে অ্যাপ্লিকেশনগুলো তাদের অপারেশনের জন্য দরকারি ফাইল সংরক্ষণ করে। ব্যবহারকারীর ডেটা ফোল্ডার থেকে আলাদা করে এই ফাইলগুলো রাখা হয় যাতে দূষণ বা মডিফিকেশন থেকে বাঁচানো যায়।
ব্যবহারকারী যখন এই ফোল্ডার অ্যাক্সেস করেন, তখন এটি হয় ডিফল্ট সেটিংস দ্বারা সমর্থিত না হওয়া কোনো উপায়ে প্রোগ্রামের কাজ করার পদ্ধতি পরিবর্তন করার জন্য, অথবা কোনো ক্যাশে বা ডেটাবেস এরর ফিক্স করার জন্য। একটি প্রোগ্রামের Application Support ফোল্ডার মুছে ফেলা সেটি ডিফল্ট স্টেটে রিসেট করে দেয় এবং একটি ক্লিন স্টার্ট বাধя করে। আর আপনি যদি কোনো অ্যাপ্লিকেশনে হ্যাক করতে চান, তবে আপনি সেই প্রোগ্রামের Application Support ফোল্ডারে দ্রুত নিজেকে পাবেন।
/System/Library এবং ~/Library-এর পার্থক্য কী?
macOS-এর দুটি লাইব্রেরি ফোল্ডার কেন দরকার? সিস্টেম লাইব্রেরি সকল ব্যবহারকারীর জন্য সিস্টেম-ওয়াইড প্রয়োজনে ব্যবহৃত হয়। এটি সকল ব্যবহারকারীর জন্য অ্যাক্সেসযোগ্য। অন্যদিকে, ইউজার লাইব্রেরি শুধু সেই নির্দিষ্ট ব্যবহারকারীর দ্বারা অ্যাক্সেসযোগ্য।
ইউনিক্স ফোল্ডার: /bin, /sbin, /usr, /var, /private

macOS একটি ইউনিক্স 커널ের উপরে তৈরি। এর মানে এর গভীর ফাংশনালিটির অধিকাংশ ইউনিক্স ফাংশনালিটির উপর ভিত্তি করে। তাই হাই-লেভেল macOS সিস্টেম ফোল্ডার ছাড়াও আপনি ইউনিক্স ফোল্ডারও পাবেন। এই ফোল্ডারগুলো সর্বজনীনভাবে লুকানো থাকে, তাই আপনাকে লুকানো ফাইলগুলো প্রকাশ করতে হবে ট্যারের अनुसরণ করতে।
আপনি আপনার হোম ডিরেক্টরিতে বেশ কিছু ইউনিক্স ফোল্ডার পাবেন। সবচেয়ে উল্লেখযোগ্যগুলো হলো "/bin" এবং "/sbin", "/usr", "/var", এবং "/private"।

"/bin" এবং "/sbin" উভয়েই বাইনারি ধারণ করে। "/sbin" সিস্টেম বুট, রিস্টোর, রিকভার এবং রিপেয়ারের জন্য দরকারি বাইনারি ধারণ করে, এমনকি ফাইল সিস্টেম মাউন্ট ছাড়াও। "/bin" সকল ব্যবহারকারীর দ্বারা ব্যবহৃত মূলত ইউজার কমান্ড ধারণ করে। "bin" মানে binaries এবং "sbin" মানে system binaries।
macOS-এ "/sbin"-এ থাকা অধিকাংশ ফাইলসিস্টেম-মাউন্টিং বাইনারি "/System/Library/Filesystems" ফোল্ডারে থাকা macOS ফাইল সিস্টেম প্লাগইনlarla সিমলিঙ্ক করা থাকে।

"/usr" সাধারণ সিস্টেম অপারেশনের време ব্যবহৃত বাইনারি এবং লাইব্রেরি ধারণ করে। ফাইল সিস্টেম মাউন্ট হওয়ার পর এখানের ফাইলগুলো ব্যবহৃত হয়। "usr" হলো "user" বা Unix System Resources-এর সংক্ষিপ্ত রূপ।

"/var" সিস্টেম তার অপারেশনের সময় যা লিখে, সেগুলো ধারণ করে, যেমন ক্যাশে, ডেটা লাইব্রেরি, এবং লগ। Var মানে variable এবং সাধারণত কোর-লেভেল সিস্টেম অ্যাপ্লিকেশন দ্বারা লেখা হয়। macOS-এ "/var" "/private/var"-এর সাথে সিমলিঙ্ক করা থাকে।

"/private" ডিমন এবং কমান্ড লাইন টুল কনফিগারেশন, ক্যাশে, ভেরিয়েবল, ভার্চুয়াল মেমরি スワপ ফাইল, টেম্পোরারি ফাইল, এবং স্লিপ ইমেজ ধারণ করে। কিছু ইউনিক্স সিস্টেম ফোল্ডার যেমন "/etc" এবং "/tmp" /private-এ একই নামে ডিরেক্টরির সাথে সিমলিঙ্ক করা থাকে তাদের কন্টেন্টের জন্য।
আপনি যদি এই ফোল্ডারগুলোর কন্টেন্ট সম্পর্কে জানতে চান, তবে ম্যাকের ইউনিক্স ফোল্ডারগুলোর এই বিস্তারিত ব্রেকডাউন চেক আউট করতে পারেন।
এক্সটেনশন

আপনি যদি কখনো Hackintosh বানান, তবে আপনি "System/Library/Extensions" শুনেছেন। সাধারণত "S/L/E" হিসেবে সংক্ষিপ্ত, এই ফোল্ডারটি "kexts" বা কার্নেল এক্সটেনশন ধারণ করে, যা macOS কার্নেলের ফাংশনালিটি প্রসারিত করে। কেক্সট যোগ করা macOS কার্নেলকে নতুন হার্ডওয়্যারের সাথে যোগাযোগ করতে সাহায্য করে। আপনি যদি উইন্ডোজের জগত থেকে আসেন, তবে কেক্সট ড্রাইভারের মতো।
এই ফোল্ডারটির কন্টেন্ট মডিফাই করা ঝামেলার কাজ, যেটি সতর্ক পারমিশন ম্যানেজমেন্ট চায়। আপনি যদি macOS-এ কেক্সট যোগ বা বাদ করতে চান, তবে নিশ্চিত হন আপনি সঠিকভাবে করছেন।
এজেন্ট এবং ডিমন
ডিমন এবং এজেন্ট ব্যাকগ্রাউন্ডে চলে, ব্যবহারকারীর ইন্টারঅ্যাকশন ছাড়া টাস্ক সম্পাদন করে। অসামান্য নামটি (উচ্চারণ "ডিমন") ম্যাক্সওয়েলের ডিমন থেকে উৎপন্ন।
ডিমন সিস্টেম অপারেশন সম্পাদন করে এবং রুট দ্বারা চালানো হয়, যখন এজেন্ট বর্তমান লগ-ইন ইউজার দ্বারা চালানো হয়। গ্লোবাল এজেন্ট এবং ডিমন যেকোনো ব্যবহারকারীর উদ্দেশ্যে অ্যাক্সেস ও রান করা যায়, যখন ইউজার এজেন্ট শুধু তাদের লাইব্রেরি ফাইল ধারণকারী ব্যবহারকারীর উদ্দেশ্যে রান করা যায়।
- "~/Library/LaunchAgents" লগ-ইন ইউজারের উদ্দেশ্যে রান হওয়া ইউজার এজেন্ট ধারণ করে
- "/Library/LaunchAgents" লগ-ইন ইউজারের উদ্দেশ্যে রান হওয়া গ্লোবাল এজেন্ট ধারণ করে
- "/System/Library/LaunchAgents" লগ-ইন ইউজারের উদ্দেশ্যে রান হওয়া সিস্টেম এজেন্ট ধারণ করে
- "/Library/LaunchDaemons" রুট দ্বারা চালানো গ্লোবাল ডিমন ধারণ করে
- "/System/Library/LaunchDaemons" রুট দ্বারা চালানো সিস্টেম ডিমন ধারণ করে
আপনি কমান্ড লাইন প্রোগ্রাম launchctl দিয়ে নতুন ডিমন তৈরি ও বিদ্যমানগুলো কনফিগার করতে পারেন।
উপসংহার
আপনার ম্যাকে অন্যান্য নন-ইউজার ফোল্ডার লুকানো আছে, কিন্তু উপরের مواردই সবচেয়ে বেশি অ্যাক্সেস করা হয়। আপনি ফাইলসিস্টেম হায়ারার্কি স্ট্যান্ডার্ড চেক আউট করে জানতে পারেন কীভাবে ইউনিক্স ফাইল সিস্টেমগুলো সংগঠিত হয়, যা ইউনিক্স-লাইক ফাইল এবং ডিরেক্টরি প্লেসমেন্টের জন্য প্রয়োজনীয়তা এবং গাইডলাইন ব্যাখ্যা করে।