ইউনিক্স ফাইল সিস্টেম কাঠামোর সুবিধা কী


9

যদি আমি লিনাক্সে উদাহরণস্বরূপ ডেবিয়ান / গনু লিনাক্সে একটি অ্যাপ্লিকেশন ইনস্টল করি তবে অ্যাপ্লিকেশনগুলির ফাইলগুলি ফাইল সিস্টেমের বিভিন্ন ডিরেক্টরিতে অনুলিপি করা হয়।

কিছু স্ক্রিপ্টগুলি / usr / share .. / usr / স্থানীয় কিছু অন্যান্য ফাইল / var .. / লগ .. ইত্যাদি / ইত্যাদিতে যায়।

আমার জন্য এটি ঠিক আছে কারণ আমি ফাইল সিস্টেম সম্পর্কে কিছু শিখেছি এবং বেশিরভাগ ডিরেক্টরি এখানে নির্দিষ্ট উদ্দেশ্যে ফাইল ধরে রাখে। এটি ইউনিক্স দর্শনে খুব সুন্দর ফিট করে "একটি কাজ করুন এবং এটি ভাল করুন"

তবে আমার প্রশ্ন হ'ল এই জাতীয় ডিরেক্টরি কাঠামোর সুবিধা কী? অথবা এটি কেবল পুরানো ইউনিক্স দিনের heritageতিহ্য। (যেমন একটি উইন্ডো ব্যবহারের সাথে তুলনা করে যেখানে কোনও অ্যাপ্লিকেশনের সমস্ত ফাইলই একটি নির্দিষ্ট "ফোল্ডার" এ থাকে)

উত্তর:


9

আমার কাছে সবচেয়ে সহজ মনে করার সুবিধাটি হ'ল একই ডিরেক্টরি একই ট্রিতে থাকে। কনফিগারেশন ফাইলগুলি লাইভ থাকে /etc, লগ ফাইলগুলি এবং / অথবা রান-টাইম ট্রেস ফাইলগুলি লাইভ থাকে /var/log, এক্সিকিউটেবলগুলি লাইভ ইন থাকে /usr/bin, পিআইডি ফাইলগুলির মতো রানটাইম তথ্য থাকে /var/run। আপনি জানতে চান এনটিপি কনফিগারেশন ফাইলের মধ্যে কী আছে? ডিরেক্টরিটি করুন /etcএবং করুন ls ntp*। আপনি কিছু প্রোগ্রামের এক্সিকিউটেবল ফাইলগুলি দেখতে চান যাতে কিছু traditionalতিহ্যবাহী ফাইল সিস্টেম ভাইরাস তাদের সংক্রামিত না করে? ভিতরে /usr/binএবং /usr/local/binপ্রয়োজন সবকিছু ।

দ্বিতীয় যে সুবিধাটি আমি ভাবতে পারি তা হ'ল সংস্থার ইউনিক্স স্টাইলটি ডেটা এবং এক্সিকিউটেবলের পৃথককরণকে উত্সাহ দেয়। এক্সিকিউটেবলগুলি এমন কোনও ডিরেক্টরিতে থাকেন যা টেমপ্লেটগুলি (যেখানে /usr/shareসম্ভবত) বাস করে এবং যেখানে ডেটা বাস করে সেখান থেকে খুব দূরে। উইন্ডোজের তুলনায় ইউনিক্স / লিনাক্স / * বিএসডি ফাইল সিস্টেম ভাইরাসের প্রতি বেশি প্রতিরোধের বা পুরানো প্রি-ওএসএক্স ম্যাকের কারণ হতে পারে separa


এটি ভাল পয়েন্ট। এক্সিকিউটেবল এবং ডেটা-, টেম্পলেট-, কনফিগারেশন-ফাইলগুলির বিচ্ছেদ কেন ভাইরাসগুলির বিরুদ্ধে আরও সুরক্ষার কারণ?
জান কয়েস্টার

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

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

@fluffy পৃথক ফাইল সিস্টেম সামান্য শক্তিশালী বিচ্ছেদ প্রস্তাব, কিন্তু এটা সম্ভব আলাদা নয় যে বিন্দু আংশিকভাবে তর্ক করা হয় /bin, /etcথেকে /
jw013

@ ফ্লুফি - সম্মত, কোনও "শারীরিক" বিচ্ছেদ উপস্থিত নেই, বা সম্ভব is তবে এটি একটি বিচ্ছেদের দ্বারা নাম। টেমপ্লেট বা অন্যান্য ডেটা খুঁজতে ম্যালওয়ারকে অন্য কোনও ডিরেক্টরিতে ("।" বা dirname $ 0 বা কিছু না) সন্ধান করতে হবে। এটি নিখুঁত সুরক্ষা নয়, কাচের উইন্ডোটি বন্ধ করা ছাড়া নিখুঁত সুরক্ষা। কাজের প্রতিটি অতিরিক্ত ইউনিটের প্রান্তিক মান সহ সুরক্ষা একটি অর্থনৈতিক ভাল। প্রতিটি সামান্য বিট সাহায্য করে।
ব্রুস এডিগার

11

কোন সংস্থাটি চয়ন করা হোক না কেন, এটি কিছু জিনিস সহজ এবং কিছু জিনিসকে আরও কঠিন করে তুলবে।

ধরনের, ইউনিক্স প্রণালী দ্বারা ফাইল গুছিয়ে (মধ্যে bin, man, lib/python, ...), সহজে ফাইল ব্যবহার করে তোলে। আপনি যদি কোনও কমান্ড চালাতে চান তবে এটি কোথায় পাওয়া যাবে তা আপনি জানেন, কোন প্যাকেজ এটি সরবরাহ করে না। আপনি যদি ডকুমেন্টেশনের মাধ্যমে অনুসন্ধান করতে চান তবে এটি সবই এক জায়গায়। যদি কিছু প্রোগ্রাম একটি ভিম সিনট্যাক্স হাইলাইটিং মডিউল, একটি zsh সমাপ্তি ফাংশন, বা পাইথন বাইন্ডিং সরবরাহ করে তবে প্রাসঙ্গিক ফাইলটি এমন জায়গায় থাকবে যেখানে vim / zsh / পাইথন এটি খুঁজে পেতে পারে।

ইউনিক্স ব্যবহারের ধরণ অনুসারে ফাইলগুলিও সংগঠিত করে। কনফিগারেশন ফাইলের মধ্যে যেতে /etc, ফাইল স্বাভাবিক অপারেশনে পরিবর্তন করবেন না গিয়ে /usr, এবং যে ফাইল পরিবর্তন স্বয়ংক্রিয়ভাবে যেতে /var। ব্যবহারকারীর ডেটা অধীনে যায় /home। এটি কনফিগারেশন পরিচালনার জন্য খুব দরকারী ( /etcইনস্টলড প্যাকেজগুলির তালিকায় প্লাস কী রয়েছে তা পরিচালনা করুন )। এটি ব্যাকআপ কৌশলগুলি সংজ্ঞায়িত করতেও দরকারী: কী রয়েছে /etcএবং /homeতা সমালোচনামূলকভাবে গুরুত্বপূর্ণ, যেখানে যা রয়েছে তা /usrসহজেই আবার ডাউনলোড করা যায়।

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

এটি উইন্ডোজের সাথে বিপরীতে করুন। উইন্ডোজ কোনও প্যাকেজ পরিচালনা ছাড়াই শুরু হয়েছিল এবং প্রতিটি অ্যাপ্লিকেশন কোথাও না কোনও নিজস্ব ডিরেক্টরি তৈরি করেছে। সমস্ত ফাইলই সাধারণত সেই ডিরেক্টরিটির ভিতরে থাকত: প্রোগ্রামস, স্ট্যাটিক ডেটা, ব্যবহারকারীর ডেটা,… কখনও কখনও গ্রন্থাগার ব্যতীত কোন প্রোগ্রামগুলি কোনও সাধারণ সিস্টেম ডিরেক্টরিতে দ্বন্দ্বকে বিবেচনা না করে ফেলে ("ডিএলএল হেল্ক")। সময়ের সাথে সাথে, উইন্ডোজ মাল্টি-ইউজার হয়ে ওঠে, যার ফলে সিস্টেম ডিরেক্টরি থেকে ব্যবহারকারী ডিরেক্টরি পৃথক করা প্রয়োজন requ উইন্ডোজ কনফিগারেশন ফাইল (ইউনিক্স /etc) এবং কিছু সিস্টেম ডেটার (ইউনিক্সের) জন্য একটি কেন্দ্রীয় জায়গাও তৈরি করেছিল/var), রেজিস্ট্রি। প্যাকেজ পরিচালনার অভাব এবং একক ব্যবহারকারী সিস্টেম হিসাবে প্রাথমিক ইতিহাসের কারণে এটি মূলত aতিহাসিক নিদর্শনগুলির বেশি। উইন্ডোজ পদ্ধতির অনেকগুলি সীমাবদ্ধতা রয়েছে: এটি সফ্টওয়্যার প্যাকেজগুলিকে সহজেই ইন্টারঅ্যাক্ট করতে দেয় না। উদাহরণস্বরূপ, বেশিরভাগ ইনস্টল করা সফ্টওয়্যার ডিফল্ট কমান্ড অনুসন্ধানের পথে শেষ হয় না, সুতরাং এটি কোনওরকম স্ক্রিপ্টিংয়ের সাথে খারাপভাবে ইন্টারঅ্যাক্ট করে। ইনস্টলাররা সাধারণত একটি বিশেষ কেস হিসাবে মেনু আইকন সরবরাহ করে - একটি পৃথক সিস্টেম ডিরেক্টরিতে ফেলে দেওয়া হয় (Un la Unix!)।

ইউনিক্স পদ্ধতির একটি সীমাবদ্ধতা হ'ল এটি সহজেই কোনও প্যাকেজের একাধিক সংস্করণের সহাবস্থানকে অনুমতি দেয় না, যা প্যাকেজটি আপগ্রেড করার সময় সমস্যাযুক্ত matic উভয় বিশ্বের সেরা পাওয়ার একটি উপায় হ'ল প্রতিটি প্যাকেজকে নিজস্ব ডিরেক্টরিতে (একটি /optকাঠামো) আনপ্যাক করা এবং প্যাকেজ ডিরেক্টরি থেকে /usrকাঠামোর জন্য প্রতীকী লিঙ্কের বন তৈরি করা । স্টোয়ের মতো সফটওয়্যার এটিই করে।

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


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

3

উপরে বর্ণিত একটি প্রাথমিক সুবিধা এবং কাঠামোর historicalতিহাসিক কারণগুলির মধ্যে একটি হ'ল বুট প্রক্রিয়াতে বিভিন্ন পর্যায়ে উপলব্ধ একাধিক খণ্ড / ডিস্কের উপর শারীরিক বিচ্ছেদ tion

আর একটি সুবিধা হ'ল বিভিন্ন ডিরেক্টরি ভলিউম / ফাইল সিস্টেমে মাউন্ট করা যেতে পারে যা ডিরেক্টরিটির ডেটার জন্য অনুকূলিত হয়। উদাহরণস্বরূপ, tmpfsজন্য /run; এবং /sbinকেবল পঠনযোগ্য মিডিয়া / রোমে।

এছাড়াও, ভলিউমগুলি স্থানীয় বা দূরবর্তী, ব্যক্তিগত বা ভাগ করা যায়।

অবশেষে, ইউনিক্স (ওএস এক্স ), লিনাক্স ( আরএক্স ডেস্কটপ ) এবং উইন্ডোজ ( পোর্টেবল অ্যাপস ডটকম) -এ ব্যবহৃত বিকল্প পদ্ধতির (@ ফ্লুফি দ্বারা উল্লিখিত) জন্য অ্যাপ্লিকেশন ডিরেক্টরিটি দেখুন ।.app


1

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

একটি ফাইল সিস্টেম কনভেনশন যে প্রধান জিনিস সরবরাহ করে তা হ'ল এটি - একটি কনভেনশন, যাতে লোকেরা কোথায় ফাইলগুলি সন্ধান করতে পারে তা জানতে পারে (এটি ম্যানুয়ালি বা কোডে থাকুক)। এটি অন্য এক পথ হয়ে যাওয়ার কোনও বাস্তব প্রযুক্তিগত কারণ নেই।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.