প্রায়শই পরিবর্তিত কনফিগারেশন ফাইলগুলি সঞ্চয় করার জন্য পছন্দের জায়গা


18

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

এই কনফিগারেশন ফাইলগুলি রাখার সর্বোত্তম জায়গাটি ঠিক কোথায় থাকবে তা আমি পুরোপুরি বুঝতে পারি না। এখানে কিছু সম্ভাবনা রয়েছে:

  • /etc/<appsuitename>/ এটি একটি কনফিগারেশন ফাইল, কনফিগারেশন ভিতরে যায় /etc
  • /var/<appsuitename>/ ফাইলগুলি প্রায়শই যুক্তিসঙ্গতভাবে পরিবর্তিত হয়, তবে সরাসরি অ্যাডমিনিস্ট্রেটর (মাই) দ্বারা না, কেবল প্ল্যাটফর্ম সরবরাহকারী দ্বারা।
  • /opt/<appsuitename>/libবা /opt/<appsuitename>/commonএটি একটি উইন্ডোজ চিন্তাভাবনার আরও বেশি, তবে এটি এই ক্ষেত্রে বোধগম্য হতে পারে
  • /usr/lib সম্ভবত না, তবে সম্পূর্ণতার জন্য অন্তর্ভুক্ত।

বা অন্য কিছু হতে পারে আমি ভেবে দেখিনি?

সম্পাদনা: @ মাইকেলKjörling এর প্রশ্নের উত্তর:

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

উত্তর:


21

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

উদ্দেশ্য , / etc (হোস্ট-নির্দিষ্ট সিস্টেম কনফিগারেশন) কেবল হিসাবে বিবৃত হয়:

/etcঅনুক্রমের কনফিগারেশন ফাইল রয়েছে। একটি "কনফিগারেশন ফাইল" হ'ল একটি স্থানীয় ফাইল যা কোনও প্রোগ্রামের অপারেশন নিয়ন্ত্রণ করতে ব্যবহৃত হয়; এটি অবশ্যই অচল থাকতে হবে এবং এক্সিকিউটেবল বাইনারি হতে পারে না।

অবশ্যই, কোনও কনফিগারেশন পুরোপুরি স্থিতিশীল নয়, তবে আমি এই প্রসঙ্গে "স্থিতিশীল" নেওয়ার অর্থ মোটামুটি "প্রশাসকের হস্তক্ষেপ ছাড়াই পরিবর্তিত হয় না" mean

/ ইত্যাদি / অপ্ট আরও নির্দিষ্ট, এবং এর উদ্দেশ্য হিসাবে বর্ণিত হয়েছে:

অ্যাড-অন অ্যাপ্লিকেশন সফ্টওয়্যার প্যাকেজগুলির জন্য হোস্ট-সুনির্দিষ্ট কনফিগারেশন ফাইলগুলি অবশ্যই ডিরেক্টরিতে ইনস্টল করা উচিত /etc/opt/<subdir>, যেখানে সেই প্যাকেজটির স্ট্যাটিক ডেটা সংরক্ষণ করা <subdir>হয় /optসেখানে সাবট্রিটির নাম ।

যেহেতু আপনি সফ্টওয়্যারটি / অপ্টের অধীনে ইনস্টল করছেন তাই কনফিগারেশন ফাইলগুলিকে / ইত্যাদি / অপ্টের অধীনে সম্পর্কিত সাব-ডাইরেক্টরি বা হায়ারার্কিতে যেতে হবে।

অবশ্যই, কোনও কিছুরই প্রয়োজন নেই যে আপনার সিস্টেম এফএইচএসের সাথে মানানসই, তবে অন্যের পক্ষে তারা যে ফাইল অনুসন্ধান করছেন সেগুলি খুঁজে পাওয়া আরও সহজ করে তুলবে যেহেতু তারা জানতে পারবে যে তারা কোথায় খুঁজে পাবে তা আশা করতে পারে।

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


এটি আসলে একটি .propertiesফাইলের মধ্যে ইতিমধ্যে সম্পন্ন হয়েছে । তবে এই মুহুর্তে, সফ্টওয়্যারটির প্রতিটি সংস্করণটির একটি /optউপ-ডিরেক্টরিতে নিজস্ব অনুলিপি রয়েছে যা স্পষ্টতই আদর্শ নয় এবং এটি এমন একটি যা আমি পরিবর্তনের ইচ্ছা নিয়েছিলাম। এই প্রশ্নটি "আমাকে এটি কী পরিবর্তন করতে হবে" সম্পর্কে। ধন্যবাদ!
durron597
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.