অ্যাপট-গেটের মাধ্যমে ইনস্টল করার সময় পোস্টগ্র্যাসিকেলের ডিফল্ট অবস্থান


15

আপনি যখন 14.04-এ পোস্টগ্র্যাস্কল ইনস্টল করেন, এটি মূল সার্ভার প্রোগ্রামের পোস্টগ্রাগগুলি এখানে আটকে রাখে:

/usr/lib/postgresql/9.3/bin/postgres

ডেটা ডিরেক্টরি যেখানে সমস্ত ডাটাবেস ক্লাস্টারগুলি এখানে সংরক্ষণ করা হবে:

/var/lib/postgresql/9.3/main

এবং কনফিগারেশন ফাইল:

/etc/postgresql/9.3/main/postgresql.conf

এখন আমি বুঝতে পারি কেন postgresql.conf এবং অন্যান্য কনফিগারেশন ফাইলগুলি /etc/postgresql/9.3/main- এ সংরক্ষণ করা হয়। কনফিগারেশন ফাইলগুলি একটি লিনাক্স সিস্টেমে সংরক্ষিত থাকে etc

তবে, কেন / var / lib এ ডাটাবেস স্টোরেজ অঞ্চল রাখবেন? আমি বুঝতে পারি / ভেরি, যেহেতু এটি ননস্ট্যাটিক ডেটা এবং ডেটাবেসগুলির স্থান ননস্ট্যাটিক। তবে বিশেষ করে কেন / ভার / লিবিব?

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

কেন আমি এই প্রশ্ন জিজ্ঞাসা? কারণ আদেশ এবং কাঠামো ব্যতীত আপনি প্রতিদিন যে প্রোগ্রামগুলি ব্যবহার করেন সেগুলির অবস্থান মনে রাখা খুব কঠিন।

উত্তর:


11

ফাইল সিস্টেম হায়ারার্কি স্ট্যান্ডার্ডে, `/ var / lib / হিসাবে বর্ণিত হয়েছে (সবচেয়ে গুরুত্বপূর্ণ অংশে ইটালিকায়):

5.8.1 উদ্দেশ্য

এই শ্রেণিবিন্যাসে কোনও অ্যাপ্লিকেশন বা সিস্টেম সম্পর্কিত রাষ্ট্রীয় তথ্য রয়েছে। রাষ্ট্রের তথ্য হ'ল ডেটা যা প্রোগ্রামগুলি চলাকালীন পরিবর্তিত হয় এবং এটি একটি নির্দিষ্ট হোস্টের সাথে সম্পর্কিত। প্যাকেজের ক্রিয়াকলাপটি কনফিগার করতে ব্যবহারকারীদের কখনই / var / lib ফাইল পরিবর্তন করতে হবে না।

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

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

/ var / lib / হল সেই অবস্থান যা সমস্ত বিতরণ প্যাকেজিং সমর্থনের জন্য অবশ্যই ব্যবহার করা উচিত। অবশ্যই বিভিন্ন বিতরণে বিভিন্ন নাম অবশ্যই ব্যবহার করা যেতে পারে।

সংক্ষেপে: / var / lib / স্থানীয়ভাবে ব্যবহৃত ডেটার জন্য for

সুতরাং এটি একটি ডাটাবেসের ডেটা / var / lib / {mysql | postgress} / ডিরেক্টরিতে রাখাই সঠিক বোধ করে তবে ... FHS বেশিরভাগ বন্টন দ্বারা ব্যবহারের জন্য তৈরি একটি মান । একজন ব্যবহারকারী হিসাবে আপনি যেখানেই চান আপনার ডেটা রাখতে পারেন এবং এটি বেশিরভাগ মতামতের বিষয়।


আপনি "স্থানীয়" শব্দটি ভুল বুঝছেন। / usr / স্থানীয় / বিন / সিস্টেম সফ্টওয়্যার জন্য নয় আপনার নিজের সফ্টওয়্যার এর জন্য (মূলত "লোকাল" এর সাথে যে কোনও কিছু অবশ্যই সিস্টেমের দ্বারা স্পর্শ করা উচিত নয় F এফএইচএস দ্বারা ব্যাখ্যা করা হয়েছে:

, / Usr / স্থানীয় /

4.9.1 উদ্দেশ্য

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

সিস্টেম সফ্টওয়্যার থেকে একটি এক্সিকিউটেবল ইনস্টল করা কখনও স্থানীয় কোনও কিছুর কাছে যাওয়া উচিত নয়।


এখন / usr / lib /

4.7.1 উদ্দেশ্য

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

postgressql সম্ভবত বুট থেকে ডেমোন শুরু হয়েছে? যদি তাই হয় এটি এখানে রাখা বুদ্ধিমান। আপনি কমান্ডটি নিজে ব্যবহার করবেন না তবে একটি পরিষেবা শুরু করবেন বলে মনে করছেন না। / Usr / lib / এ থাকা ফাইলগুলির নিজস্ব ব্যবহারকারী এবং গোষ্ঠী এবং / অথবা একটি ডেমন থাকে যা / var / lib অ্যাক্সেসকে সীমাবদ্ধ করে (উদাহরণস্বরূপ কেবল মাইএসকিএলডি / var / lib / mysql / অ্যাক্সেস করতে পারে; এটি একই হবে) postgressql)

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