প্রশ্ন আমি কি Linux অ্যাপ্লিকেশন / var বা / opt এ ইনস্টল করব?


আমি জাভা এবং tomcat সহ অনেক মুক্ত উত্স অ্যাপ্লিকেশন চালানো। আমার নির্দেশাবলী থেকে চলমান অধিকাংশ নির্দেশাবলী মত মনে হচ্ছে /var ডিরেক্টরি। কিন্তু প্রতিটি সময় একবার, আমি দেখতে /opt ডিরেক্টরি। আমি যখন এটা এ, আমি দেখতে /usr/local/ আর যদি /etc যেমন.

যখন আমি একটি ফোল্ডার বা অন্য অ্যাপ্লিকেশন ইনস্টল করা উচিত? প্রত্যেকের মধ্যে পেশাদার এবং বিপর্যয় আছে? এটা কি গন্ধের ইতিহাস (সোলারিস বনাম লিনাক্স বা রেড হ্যাট বনাম উবুন্টু) নিয়ে?


73
2017-12-21 18:58


উত্স


/ etc অ্যাপ্লিকেশন ছেড়ে একটি অদ্ভুত এবং অনুপযুক্ত জায়গা ... - user5336
আমি দেখেছি মানুষ / ইত্যাদি স্টাফ, পার্ল মডিউল মত। এটা অদ্ভুত, কিন্তু এটা ঘটেছে ... - ℝaphink
প্রতিটি absurdity জন্য, এটি রক্ষা করার জন্য একটি চ্যাম্পিয়ন আছে। - womble♦


উত্তর:


এই সমস্যার জন্য মান হয় ফাইল হায়ারারকি স্ট্যান্ডার্ড। এটা বরং একটি বড় নথি। মূলত (এবং খুব মোটামুটি), লিনাক্সের স্ট্যান্ডার্ড পাথগুলি হল:

  • /bin & /sbin OS এর জন্য অত্যাবশ্যক প্রোগ্রামগুলির জন্য, sbin শুধুমাত্র প্রশাসকদের জন্য হচ্ছে;
  • /usr/bin & /usr/sbin গুরুত্বপূর্ণ প্রোগ্রাম না, sbin শুধুমাত্র প্রশাসকদের জন্য হচ্ছে;
  • /var প্রোগ্রামের জন্য জীবিত তথ্য জন্য। এটি ক্যাশে ডেটা, স্পুল ডেটা, অস্থায়ী তথ্য হতে পারে (যদি না থাকে /tmp, যা প্রতিটি রিবুট এ মুছে ফেলা হয়), ইত্যাদি;
  • /usr/local স্থানীয়ভাবে ইনস্টল করা প্রোগ্রামের জন্য। সাধারণত, এটি এমন প্রোগ্রামগুলি হোস্ট করে যা মানগুলি অনুসরণ করে তবে ওএস এর জন্য প্যাকেজ করা হয় না, বরং প্রশাসকের দ্বারা নিজে ইনস্টল করা হয় (উদাহরণস্বরূপ ব্যবহার করে) ./configure && make && make install) পাশাপাশি প্রশাসক স্ক্রিপ্ট;
  • /opt প্যাকেজ না এবং মান অনুসরণ করা হয় না যে প্রোগ্রামের জন্য হয়। আপনি প্রোগ্রামের সাথে একসঙ্গে সেখানে সমস্ত লাইব্রেরি করা হবে। এটি প্রায়শই একটি দ্রুত এবং নোংরা সমাধান, তবে এটি আপনার দ্বারা তৈরি করা প্রোগ্রামগুলির জন্যও ব্যবহার করা যেতে পারে এবং যার জন্য আপনি একটি নির্দিষ্ট পথ পেতে চান। আপনি নিজের পথ তৈরি করতে পারেন (উদাঃ। /opt/yourcompany) এর মধ্যে, এবং এই ক্ষেত্রে আপনাকে আদর্শ পাথের অংশ হিসাবে নিবন্ধন করার জন্য উৎসাহিত করা হয়;
  • /etc প্রোগ্রাম অন্তর্ভুক্ত করা উচিত নয়, বরং কনফিগারেশন।

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

বিতরণ মধ্যে কিছু পার্থক্য আছে। উদাহরণস্বরূপ, রেডহ্যাট সিস্টেম ব্যবহার করে libexec ডিরেক্টরি যখন ডেবিয়ান / উবুন্টু সিস্টেম না।

FHS বেশিরভাগই লিনাক্স বিতরণগুলির দ্বারা ব্যবহৃত হয় (আমি আসলে অন্য কোনও OS জানি না যা সত্যিই এটির অনুসরণ করে)। অন্যান্য ইউনিক্স সিস্টেম এটি অনুসরণ করবেন না। উদাহরণস্বরূপ, বিএসডি সিস্টেম ব্যবহার ঝোঁক /usr/local প্যাকেজ প্রোগ্রামের জন্য, যা লিনাক্সের ক্ষেত্রে নয়। Solaris খুব ভিন্ন মান পাথ আছে।

যদি আপনি এই সম্পর্কে আরও জানতে চান তবে আমি উপরে লিঙ্কযুক্ত FHS নথিটি পড়তে আপনাকে জোরালোভাবে উত্সাহিত করি।


127
2017-12-21 19:06



কয়েকটি বুলেট তালিকাগুলির মধ্যে একটি আমি চিট শীট হিসাবে মুদ্রণ করতে পছন্দ করতে পারি ... - stimpy77
+1 জন্য /srv। আমি আমার জিট রিপোজিটরির জন্য একটি জায়গা খুঁজছি এবং আমার অ্যাপ্যাচি সামগ্রীটি পছন্দ করিনি /var/www। /srv নিখুঁত জায়গা মত মনে হয়। - Mr. Hedgehog
@ ℝফিনক, তাই কেন বলা হয় var পরিবর্তে data? - Pacerier
@ মিঃ হেজহহগ, আপনি কি পছন্দ করেন না মানে? ব্যাখ্যা করতে হবে? - Pacerier


opt ঐচ্ছিক সফ্টওয়্যার জন্য দাঁড়িয়েছে। var পরিবর্তনশীল সিস্টেম ফাইলের জন্য দাঁড়িয়েছে। অতএব আপনার অ্যাপ্লিকেশন যেতে হবে /opt


3
2017-12-21 19:07



/var জন্য অসমজ্ঞ্জস সিস্টেম ফাইল, না "বিভিন্ন"। - womble♦
/ var "পরিবর্তনশীল তথ্য ফাইল" জন্য। এটা "বিভিন্ন সিস্টেম ফাইল" জন্য বলছে দ্বিধান্বিত এবং সম্ভাব্য বিভ্রান্তিকর। o_O যদিও আপনি "অপ্ট" সম্পর্কে ঠিক আছেন। - phoenix8
@Eduard, তারপর সম্পর্কে / অপট / var তারপর কি? এবং </ usr / var>, </ usr / local / var> ... - Pacerier


এটা আপনার স্থানীয় মান কি উপর নির্ভর করে।

ব্যক্তিগতভাবে, আমি কোন ভাল কারণ ছাড়া / var মধ্যে কিছু ইনস্টল করবেন না। আমার / usr / local প্রায় সবসময় নেটওয়ার্ক থেকে একটি nfs মাউন্ট হয়, তাই প্যাকেজ না করা যেকোনো কিছু ইনপুট / ইনপুট ইনস্টল করা হয়।


2
2017-12-21 19:14



আপনি তথ্য ছাড়া, যাইহোক / var পরিবর্তে কি করা হবে? - ℝaphink
সাধারণত প্রোগ্রাম / var তাদের নিজস্ব স্টাফ লাঠি হবে। বেশিরভাগ বিক্রেতা-সরবরাহকৃত - লগ, কিছু লাইব্রেরি, নিয়ন্ত্রণ ফাইল, .pid ফাইল, যে ধরনের জিনিস। - David Mackintosh
আমি বেশ একমত না। লাইব্রেরি, তারা স্ট্যাটিক হয়, যেতে হবে /usr। গতিশীলভাবে উত্পন্ন libs শেষ হতে পারে /var/lib মাঝে মাঝে, কিন্তু আমি আসলে আপনি কি দেখতে পাবেন না ইনস্টল মধ্যে /varদেখুন, একটি অ্যাডমিন পয়েন্ট থেকে। প্রোগ্রাম ব্যাপকভাবে এটি ব্যবহার করতে পারে, কিন্তু এটি প্রোগ্রাম আরম্ভ করার আগে এটি বেশ খালি হতে হবে। - ℝaphink
এই মুহূর্তে আমি ইচ্ছাকৃতভাবে / var মধ্যে ইনস্টল করা একমাত্র জিনিস nfsen / nfdump, এবং অ্যাপ্লিকেশনের পদাঙ্কটি যে সমস্ত এনএফডাম ফাইল এটি সংযোজিত হয় তার কারণ। (এবং এটি একটি পরীক্ষামূলক ইন্সটল কারণ যেকোনোভাবে এটি উৎপাদনকে তৈরি করেছে। সুতরাং - "অযৌক্তিক ব্যবহারের জন্য কোনও ভাল কারণ নেই")। তবে এটি বেশ সুন্দর। অবশ্যই যেহেতু আমি আমার হার্ড ডিস্ক পার্টিশন না করে, / var, / opt এবং / usr একই ফাইল সিস্টেমে যাইহোক। - David Mackintosh
Qmail ইনস্টল / var। এটি এর বিরুদ্ধে অসংখ্য সমালোচনার একটি। - staticsan