আমার কি লিনাক্স অ্যাপ্লিকেশনগুলি / var বা / opt এ ইনস্টল করা উচিত?


83

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

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


8
/ ইত্যাদি অ্যাপ্লিকেশনগুলি ছেড়ে যাওয়ার জন্য একটি অদ্ভুত এবং অনুপযুক্ত জায়গা ...
ব্যবহারকারীর 333

আমি লোকদের দেখেছি পার্ল মডিউলগুলির মতো / ইত্যাদি stuff এটি অদ্ভুত, তবে এটি ঘটে ...
ফিন্ক

6
প্রতিটি অযৌক্তিকতার জন্য, এটির পক্ষে চ্যাম্পিয়ন রয়েছে।
ওম্বল

উত্তর:


133

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

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

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

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

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

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


1
আমি যে কয়েকটি বুলেট তালিকার একটি চিট শিট হিসাবে মুদ্রণ করতে পছন্দ করতে পারি তার মধ্যে একটি ...
স্ট্যাম্পি77

6
জন্য +1 /srv। আমি আমার Git repositories জন্য একটি জায়গা খুঁজছেন ছিল এবং ভালো লাগে নি আমার অ্যাপাচি বিষয়বস্তুতে হচ্ছে /var/www/srvনিখুঁত জায়গা মত মনে হচ্ছে।
মিঃ হেজেহোগ

@ Hফিংক, তবে কেন এটি varপরিবর্তে বলা হয় data?
পেসারিয়ার

@ মিঃ হেজেহোগ, "পছন্দ করেন না" বলতে কী বোঝ? বোঝাতে কি যত্ন?
পেসারিয়ার

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

4

optoptionচ্ছিক সফ্টওয়্যার জন্য দাঁড়িয়েছে। varভেরিয়েবল সিস্টেম ফাইলগুলির জন্য বোঝায়। সুতরাং আপনার অ্যাপ্লিকেশনগুলিতে যাওয়া উচিত /opt


8
/varজন্য নানারকম , সিস্টেম ফাইল "বিভিন্ন" না।
womble

4
/ var "ভেরিয়েবল ডেটা ফাইল" এর জন্য। এটি "বিভিন্ন সিস্টেম ফাইলের" জন্য বলা অস্পষ্ট এবং সম্ভাব্য বিভ্রান্তিকর। o_O আপনি যদিও "অপ্ট" সম্পর্কে ঠিক বলেছেন।
ফিনিক্স 8

@ এডওয়ার্ড, তারপরে / অপ্ট / ভার সম্পর্কে কী হবে? এবং </ usr / var>, </ usr / local / var> ...
প্যাসেরিয়র

@ ওম্বল এটি মিথ্যা ব্যুৎপত্তি। এটি এফএইচএস যা বলে তা কিন্তু এটি সত্য নয়। 90 এর দশকের পিছনে আপনাকে বলা হবে /varকারণ এটি "বিভিন্ন ডেটা" এর জন্য। আমি তখনও পড়েছি এমন একটি প্রাক-ইন্টারনেট বইয়ের নোট রয়েছে।
সিআরপিএন

2

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

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


1
ডেটা বাদে আপনি কীভাবে / ভারে রাখবেন?
5aphink

1
সাধারণত প্রোগ্রামগুলি / var এ তাদের নিজস্ব জিনিসগুলি আটকে রাখে। বেশিরভাগ বিক্রেতার সরবরাহিত - লগ, কিছু গ্রন্থাগার, নিয়ন্ত্রণ ফাইল, .পিড ফাইল, এ জাতীয় জিনিস।
ডেভিড ম্যাকিনটোস

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

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

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