প্রধান লিনাক্স লিনাক্স ডিরেক্টরি কাঠামো: এটি কী এবং এটি কীভাবে কাজ করে
লিনাক্স

লিনাক্স ডিরেক্টরি কাঠামো: এটি কী এবং এটি কীভাবে কাজ করে

লিনাক্স ডিরেক্টরি কাঠামো: এটি কী এবং এটি কীভাবে কাজ করে
Anonim

লিনাক্স ফাইল সিস্টেমে কোনও ড্রাইভ চিঠি নেই … এখানে কেন

Image

বর্ণমালা অনুসারে পরবর্তীটি হ'ল / বুট, এতে সিস্টেম যখন ফাইল শুরু হয় তখন এটি ব্যবহার করে। এটিতে লিনাক্স কার্নেলের অনুলিপি রয়েছে (ফাইল সিস্টেমের মূলে আপনি যেটিকে দেখতে পাচ্ছেন সম্ভবত এটির একটির একটি লিঙ্ক), সিস্টেমের জন্য ইআরআরডি, বা প্রাথমিক র‌্যামডিস্ক এবং অন্যান্য সম্পর্কিত ডেটা রয়েছে।

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

/ সিড্রোম ডিরেক্টরি

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

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

/ দেব ডিরেক্টরি

Image

ইউনিক্স-ভিত্তিক অপারেটিং সিস্টেমগুলির একটি অনন্য দিক হ'ল "সবকিছুই একটি ফাইল।" কোনটি বলতে গেলে এমন ফাইল রয়েছে যা সিস্টেমে সমস্ত কিছু উপস্থাপন করে: চলমান প্রক্রিয়াগুলি, র‌্যাম এবং হ্যাঁ, স্টোরেজ ডিভাইসগুলি। এর অর্থ যখন আপনি আপনার হার্ড ড্রাইভে কিছু ডেটা অনুলিপি করছেন, লিনাক্স আসলে / dev / nvme0n1p3 এর মতো কোনও ফাইলে ডেটা লিখছে যা আপনার এসএসডি-র তৃতীয় বিভাজনকে উপস্থাপন করে।

/ Dev ডিরেক্টরি হল যেখানে এই সমস্ত বিশেষ ফাইল রাখা আছে। আপনি যদি এটির মাধ্যমে ব্রাউজ করেন তবে আপনি উল্লিখিত এনভিএম-ভিত্তিক শক্ত রাষ্ট্রের ড্রাইভ থেকে শুরু করে স্যাটায় হার্ড ডিস্ক পর্যন্ত (যেমন / ডিভ / এসডি * ) বা পুরানো আইডিই ( / দেব / এইচডি * ) সংযোগগুলি, পাশাপাশি পিএস / 2 মাউস পোর্ট ( / dev / psaux ) এর মতো পুরানো । এস্টারিকসগুলি ওয়াইল্ডকার্ডস; উদাহরণস্বরূপ, একটি SATA- ভিত্তিক সেট আপে আপনার প্রথম হার্ড ডিস্কটি "/ dev / sd a " হবে এবং সেই ডিস্কের প্রথম পার্টিশন হবে "/ dev / sda 1 "। এর দ্বিতীয় পার্টিশনটি "/ dev / sda 2 ", যখন দ্বিতীয় ডিস্কের প্রথম পার্টিশনটি "/ dev / sd b 1।" যদিও তাদের পক্ষে কোনও নির্দিষ্ট ক্রমে থাকা গুরুত্বপূর্ণ নয় তবে এটি কোনটি তা জানা গুরুত্বপূর্ণ। উদাহরণস্বরূপ, আপনি যখন ইনস্টল করা একটি নতুন, ফাঁকা ড্রাইভে লিনাক্স ইনস্টল করতে চেয়েছিলেন তখন এটি আপনার উইন্ডোজ বিভাজনকে ওভাররাইট করা থেকে বিরত রাখবে।

/ ইত্যাদি ডিরেক্টরি

/ ইত্যাদি ডিরেক্টরিতে কোনও "অতিরিক্ত" বা "এট সিটিরা" ফাইল রাখার জায়গা হিসাবে এটির গুরুত্ব বোঝায়। বাস্তবে, এগুলি হ'ল কনফিগারেশন ফাইল যা পুরো সিস্টেমকে নিয়ন্ত্রণ করে। এখানে দুটি প্রধান ধরণের ফাইল রয়েছে:

  • গ্লোবাল কনফিগারেশন ফাইলগুলি, উদাহরণস্বরূপ / dev / fstab ফাইলটি উপরে / dev ডিরেক্টরিতে বর্ণিত সমস্ত মোটা ড্রাইভগুলি মাউন্ট করার জন্য ব্যবহৃত হয়।
  • তথাকথিত "কঙ্কাল" ফাইল, যা ব্যবহারকারীর-স্তরের সেটিংসের জন্য ডিফল্ট হিসাবে ব্যবহৃত হয়। এর একটি উদাহরণ হ'ল / ইত্যাদি / প্রোফাইল ফাইল যা বাশ শেলের জন্য সেটিংস ধারণ করে। একটি নতুন ব্যবহারকারী তৈরি করা হয়, এটি তাদের অ্যাকাউন্টে। প্রোফাইল হিসাবে অনুলিপি করা হয়, এবং ব্যবহারকারী এটি কাস্টমাইজ না করা পর্যন্ত এটি সূচনা পয়েন্ট হিসাবে কাজ করে।

/ ইত্যাদির অনেকগুলি উপ-ডিরেক্টরি তাদের নিয়ন্ত্রণ করা অ্যাপ্লিকেশনগুলির জন্য নামকরণ করা হয়, সুতরাং অ্যাপটি কাজ করার সময় আপনার যে ফাইলটি ঠিক করা দরকার তা সন্ধান করার জন্য এখানে প্রায় ব্রাউজ করা সহজ।

/ হোম এবং / মূল ডিরেক্টরি

উইন্ডোজ ব্যবহারকারীরা এখন অবধি সি: \ ব্যবহারকারী ডিরেক্টরিতে অভ্যস্ত হয়ে গেছেন, যেখানে সিস্টেমের প্রতিটি ব্যবহারকারীর জন্য নথি এবং সেটিংস থাকে। যেহেতু ইউনিক্সটি বহু-ব্যবহারকারী সিস্টেমের শুরু থেকেই ছিল, তাই লিনাক্সে / হোম ডিরেক্টরি হিসাবে বহু (বহু!) বছর ধরে এই ধারণাটি বিদ্যমান ছিল। প্রতিটি ব্যবহারকারীর এখানে একটি উপ ডিরেক্টরি থাকবে যা তাদের ক্ষেত্রে / হোম / অ্যারোন- এ তাদের সমস্ত ডেটা ধারণ করে। প্রকৃতপক্ষে, একজন "সাধারণ" প্রশাসনিক প্রশাসকের ব্যবহারকারীর কাছে অন্য কোথাও ফাইল সংরক্ষণের অনুমতি নেই।

/ Root ডিরেক্টরিটি সিস্টেম প্রশাসক বা "রুট" ব্যবহারকারীর জন্য সমতুল্য ব্যবহারকারী ফোল্ডার। এটি কেবল তার অবস্থান / বাড়ির থেকে (সম্ভাব্য সংবেদনশীল ফাইলগুলি সাধারণ ব্যবহারকারীদের থেকে দূরে রাখতে) এবং মালিকানা থেকে পৃথক।

/ Lib ডিরেক্টরি

আপনি সম্ভবত একটি -৪ -বিট অপারেশন সিস্টেম ব্যবহার করছেন, আপনার সম্ভবত এখানে বেশ কয়েকটি ডিরেক্টরি রয়েছে: / lib, / lib32, এবং / lib64 । এগুলির মধ্যে সফ্টওয়্যার লাইব্রেরি রয়েছে যা কার্নেলটি তার সবচেয়ে বেসিক ক্রিয়াকলাপগুলির জন্য ব্যবহার করে। প্রসেসরের সংস্করণে কোড নির্দিষ্ট না করে সেগুলি / lib ফোল্ডারে রয়েছে। সংস্করণ নির্দিষ্ট যা তারা উপযুক্ত হিসাবে / lib32 (32-বিট) বা / lib64 (64-বিট) ডিরেক্টরিতে থাকে।

/ মিডিয়া এবং / mnt ডিরেক্টরিগুলি

Image

কয়েক বছর আগে, যদি আপনার ইউএসবি থাম্ব ড্রাইভের মতো অপসারণযোগ্য মিডিয়া থাকে, আপনি এটি ব্যবহার করার আগে আপনাকে এটিকে একটি / ডিভ এন্ট্রি নির্ধারণ এবং / mnt (মাউন্ট) ডিরেক্টরিতে একটি জায়গা তৈরি করতে হবে। সৌভাগ্যক্রমে, আরও আধুনিক সংস্করণগুলিতে, লিনাক্স বিতরণগুলি অপসারণযোগ্য মিডিয়া স্বয়ংক্রিয়ভাবে কনফিগার করার জন্য প্রাক-কনফিগার করা হয়েছে, যেমন আপনি ম্যাকস বা উইন্ডোজের সাথে কাজ করার আশা করতেন। প্রকৃতপক্ষে, ডিভাইসটি সংযুক্ত থাকাকালীন লগ ইন হওয়া ব্যবহারকারীর উপর নির্ভর করে, সিস্টেমটি একটি ব্যবহারকারী-নির্দিষ্ট ডিরেক্টরি তৈরি করবে, ডিভাইসটিকে মাউন্ট করবে এবং নিশ্চিত করবে যে ব্যবহারকারীর এটির অ্যাক্সেস করার জন্য সঠিক অনুমতি রয়েছে। আজকাল পার্থক্য হ'ল / মিডিয়া ডিরেক্টরিটি সাধারণত এই উদ্দেশ্যে ব্যবহৃত হয়। উদাহরণস্বরূপ, আমার লিনাক্স মেশিনে "ফ্রেডস" লেবেল দিয়ে একটি থাম্ব ড্রাইভ সন্নিবেশ করা এটিকে মিডিয়া / অ্যারোন / ফ্রেডস এ মাউন্ট করবে।

/ অপ্ট ডিরেক্টরি

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

বর্তমানে আরও বিকাশকারীরা তাদের অ্যাপ্লিকেশনগুলিকে স্ট্যান্ডার্ড প্যাকেজ ফর্ম্যাটগুলিতে (.RPM এবং .DEB) উপলভ্য করে দিচ্ছেন, এর মধ্যে কিছু এখনও ইনস্টল / অপ্টেট করবে । এই ডিরেক্টরিটি এখনও লিনাক্স সম্প্রদায়ের কিছু বিতর্কের বিষয় হিসাবে বিবেচিত হয়েছে কিনা তা এখনও অবধি রয়ে গেছে। এবং কিছু সফ্টওয়্যার এখনও স্ট্যান্ডার্ড .DEB প্যাকেজগুলি থেকে ইনস্টল করবে। উল্লেখযোগ্যভাবে, গুগল ক্রোম সেখানে উবুন্টু-ভিত্তিক সিস্টেমে ইনস্টল করবে।

/ এসবিএন ডিরেক্টরি

/ Sbin ডিরেক্টরিটি পূর্বোক্ত / বিনের মতো বাইনারি ইউটিলিটিগুলি ধারণ করে। তবে, এই ডিরেক্টরিটি সিস্টেম বাইনারিগুলির মধ্যে সীমাবদ্ধ এবং যেমন কেবল রুট ব্যবহারকারীরা এর বিষয়বস্তুগুলি চালাতে পারেন। এটিতে অ্যাডুজার (নতুন ব্যবহারকারী অ্যাকাউন্ট তৈরি করতে ব্যবহৃত), ইনসোড (কার্নেলটিতে হার্ডওয়্যার ড্রাইভার লোড করার জন্য ব্যবহৃত), এবং পাওয়ারঅফ (যা নাম অনুসারে কম্পিউটারটি বন্ধ করে দেয়) এর মতো সরঞ্জাম অন্তর্ভুক্ত করে।

আপনি যদি শেষেরটি নিয়ে ভাবছেন তবে আপনার কাছে একটি তীক্ষ্ণ দৃষ্টি রয়েছে। না, কেবলমাত্র আপনার লিনাক্স সিস্টেমটি বন্ধ করার জন্য আপনাকে "সুপার-ব্যবহারকারী" হওয়ার দরকার নেই। সার্ভার সিস্টেমে এটি হয়। তবে ডেস্কটপে আপনার পছন্দসই পরিবেশ (যেমন কে, কে, জিনোম বা এক্সএফসিই) সেট আপ করা হয়েছে যাতে এটি নির্দিষ্ট কমান্ড কার্যকর করতে পারে যেমন এটি কোনও রুট ব্যবহারকারী।

/ Usr ডিরেক্টরি

Image

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

  • ডেস্কটপ পরিবেশ, LibreOffice অফিস স্যুট, জিআইএমপি চিত্র সম্পাদক এবং ফায়ারফক্স ওয়েব ব্রাউজারের মতো অ্যাপ্লিকেশনগুলি।
  • লিনাক্স কার্নেল এবং হার্ডওয়্যার ড্রাইভারগুলির মতো জিনিসের উত্স কোড।
  • উপরের সমস্তটির জন্য শিল্পকলা বা ডকুমেন্টেশন এর মতো আনুষঙ্গিক ফাইল।

/ Usr ডিরেক্টরি এটিকে নিজস্ব শ্রেণিবিন্যাসে সঞ্চয় করে। এটিতে বিন, লিব এবং এসবিন সাব ডিরেক্টরি রয়েছে, যা কেবল তাদের উচ্চ-আপ ভাইদের মতোই কাজ করে তবে কেবল আপনি ইনস্টল করা সফ্টওয়্যার সম্পর্কিত বিষয়গুলি ধারণ করে। / Usr / share ডিরেক্টরিতে আইকন সেট (নীচের চিত্রে দৃশ্যমান), এবং ডকুমেন্টেশন ফাইলগুলির মতো সম্পদ রয়েছে।

Image

শেষ অবধি, / usr / স্থানীয় শাখার মূল উদ্দেশ্যটি / অপ্ট - ব্যবহারকারী-ইনস্টলড, "alচ্ছিক" সফ্টওয়্যারটির অনুরূপ। এই দুজনের মধ্যে কোনটি থাকা উচিত তা বিতর্কের অংশ। / Usr / স্থানীয় অনুকূলে একটি পয়েন্ট হ'ল উত্স কোড থেকে ইনস্টল করা বেশিরভাগ সফ্টওয়্যার নিজেকে এখানে রাখার জন্য কনফিগার করা হয়েছে।

/ Var ডিরেক্টরি

Image

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

অন্যান্য ডিরেক্টরি

  • / হারিয়ে + পাওয়া গেছে : এমন অনেক সময় আছে যখন সিস্টেমে ডেটার সামান্য বিট বিভ্রান্ত হয়। আপনি যদি কিছু জানেন তবে আপনি এখানে যাচাই করতে পারেন তবে সামগ্রীগুলি সহজে সনাক্তযোগ্য হবে না। সেগুলি কী তা নির্ধারণ করার জন্য আপনাকে তাদের লিখিত সামগ্রী ম্যানুয়ালি পরীক্ষা করতে হবে।
  • / proc : পূর্বে উল্লিখিত হিসাবে, লিনাক্সের সমস্ত কিছুই একটি ফাইলের সাথে প্রতিনিধিত্ব করা যেতে পারে। / Proc ডিরেক্টরিতে প্রক্রিয়াগুলির সাথে যুক্ত ফাইল রয়েছে এবং তারা কী করছে তা পরীক্ষা করতে আপনি তাদের দেখতে পারেন (তবে এগুলি সম্পাদনা করবেন না)।
  • / রান : এটি একটি রানটাইম ডিরেক্টরি যেখানে প্রসেসগুলি তাদের প্রয়োজনীয় কিছু অস্থায়ী ডেটা সঞ্চয় করে, বেশিরভাগ সময় সিস্টেম শুরু হওয়ার সাথে সাথে। অন্যান্য সিস্টেম-স্তরের ডিরেক্টরিগুলির মতো, এখানে মাতামাতি করবেন না।
  • / স্ন্যাপ : উবুন্টুর স্ন্যাপ হ'ল একটি প্যাকেজ ফর্ম্যাট যা কোনও অ্যাপ্লিকেশন এবং আপনার অ্যাপ্লিকেশনটির প্রয়োজন মতো সমস্ত কিছু আপনার কম্পিউটারের বাকি অংশ থেকে বিচ্ছিন্ন পাত্রে আবৃত করে। / স্ন্যাপ ডিরেক্টরিটি যেখানে এই ধারকগুলি সিস্টেমে মাউন্ট করা হয় স্টোরেজ ডিভাইসের মতো একই উপায়ে।
  • / srv : এই ডিরেক্টরিটি হ'ল ডেমন প্রোগ্রামগুলির দ্বারা পরিবেশন করা ফাইলগুলি সংরক্ষণ করা হয়। উদাহরণস্বরূপ, অ্যাপাচি ওয়েব সার্ভার দ্বারা পরিবেশন করা স্থির ওয়েব পৃষ্ঠাগুলি / srv / www সাব ডিরেক্টরিতে সংরক্ষণ করা যেতে পারে।
  • / sys : "সবকিছুই একটি ফাইল" মন্ত্রকে সামনে রেখে / sys এবং এর বিষয়বস্তুগুলি লিনাক্স কার্নেল থেকে সেটিংস এবং তথ্যকে একইভাবে উপস্থাপন করে / চালিত প্রক্রিয়াগুলির জন্য করে proc
  • / টিএমপি : আপনি যদি অনুমান করে থাকেন যে এই ডিরেক্টরিটিতে অস্থায়ী ডেটা রয়েছে তবে আপনি সঠিক। সিস্টেম-স্তরের প্রোগ্রামগুলি এখানে অস্থায়ীভাবে তথ্য সংরক্ষণ করবে।