আমি কি আবেদনটি / ইউএসআর / স্থানীয় বা / ইউএসআর / লোকাল / শেয়ারে রাখি?


21

"মানদণ্ডগুলি" কী - আমি / ইউএসআর / স্থানীয় বা / ইউএসআর / স্থানীয় / ভাগের জন্য অ্যাপ্লিকেশনটি (কেবল বাইনারি নয়, পুরো বিতরণ) রেখে দেওয়া উচিত।

উদাহরণস্বরূপ স্কেল বা ওয়েকা - এটিতে উদাহরণ, বাইনারি, গ্রন্থাগার ইত্যাদি রয়েছে। তাই হবে

/usr/local/scala-2.9.1 

অথবা

/usr/local/share/scala-2.9.1

যেহেতু আমি একমাত্র প্রশাসক এটি আমার পক্ষে খুব বড় বিষয় নয়, তবে আমি নিজের রীতিনীতি দিয়ে নয়, যা ব্যাপকভাবে ব্যবহৃত হয় তা ব্যবহার করতে পছন্দ করি।

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


6
আমি মনে করি / পছন্দ এই প্রসঙ্গে প্রথাগত আরো প্রথাগত।
ফাহিম মিঠা

@ ফাহিম মিঠা, খুব ভালো কথা। আপনাকে ধন্যবাদ আমি এই জাতীয় ব্যাখ্যা "/ অপ্ট / 'সরবরাহকারী' ডিরেক্টরি ট্রি পেয়েছি, উইন্ডোজ তার নিজস্ব ডিরেক্টরি ট্রিতে নতুন সফ্টওয়্যার যেভাবে ইনস্টল করবে সেটির অনুরূপ: u উইন্ডোজ \ প্রোগ্রামাম ফাইলস lin " প্রোগ্রামের নাম " লিনাক্সটোপিয়া.অর্গ / থেকে অনলাইন_বুকস / লিনাক্স_বেগিনার_বুকস /… আপনি কি দয়া করে উত্তর হিসাবে আপনার মন্তব্য পোস্ট করতে পারেন, তাই আমি এটি উত্তর হিসাবে চিহ্নিত করব? ধন্যবাদ
গ্রিনোল্ডম্যান

@greenoldman: এছাড়াও খুশি বুঝতে পারি যে একটি একক Dir সকল ফাইল রেখে হয় না "মান" পথ ইউনিক্স অ্যাপ্লিকেশনের ইনস্টল করতে। /optপ্রকৃতপক্ষে সঠিক উত্তর, তবে এটি widelyতিহ্যবাহী ইউনিক্স / লিনাক্স সফ্টওয়্যার দ্বারা "ব্যাপকভাবে ব্যবহৃত" হয় না । সেখানে মহান কারণে একাধিক dirs থাকা আপনার ফাইলগুলি বিভক্ত করতে হয়, এবং এছাড়াও differenciate করার /usrথেকে/usr/local
MestreLion

উদাহরণস্বরূপ, সমস্ত অ্যাপ্লিকেশন থেকে সমস্ত এক্সিকিউটেবলকে একক /usr/bin(বা /usr/local/bin) এ রাখার ফলে আপনার $ PATH প্রতিটি সফ্টওয়্যার সম্পাদনা করার প্রয়োজন ছাড়াই সমস্ত সফ্টওয়্যার পৌঁছাতে দেয়, উইন্ডোজে অস্তিত্ব নেই এমন একটি ধারণা
MestreLion

উত্তর:


19

আমি মনে করি / প্রচ্ছদ এই ধরণের প্রেক্ষাপটে আরও মানক। ফাইল সিস্টেম হায়ারার্কি স্ট্যান্ডার্ডের সম্পর্কিত বিভাগটি নীচে উদ্ধৃত হয়েছে।

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

 যুক্তি যুক্ত অ্যাড-অন সফ্টওয়্যার ব্যবহার / অপ্ট ব্যবহার ইউনিক্স সম্প্রদায়ের একটি সুপ্রতিষ্ঠিত অনুশীলন। সিস্টেম ভি অ্যাপ্লিকেশন বাইনারি ইন্টারফেস [এটিএন্ডটি 1990], সিস্টেম ভি ইন্টারফেস সংজ্ঞা (তৃতীয় সংস্করণ) এর উপর ভিত্তি করে এখানে / সংজ্ঞায়িতের সাথে খুব অনুরূপ একটি অপ্ট কাঠামো সরবরাহ করে।

ইন্টেল বাইনারি সামঞ্জস্যের স্ট্যান্ডার্ড ভি। 2 (আইবিসিএস 2) / অপ্টের জন্যও একই ধরণের কাঠামো সরবরাহ করে।

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

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

নীচে / অপ্ট / ডিরেক্টরিগুলির কাঠামোটি সফ্টওয়্যারটির প্যাকেজকারীর কাছে রেখে দেওয়া হয়েছে, যদিও প্যাকেজগুলি / অপ্ট // ইনস্টল করা আছে এবং / অপ্ট / প্যাকেজের জন্য নির্দেশিকাগুলির অনুরূপ কাঠামো অনুসরণ করে বাঞ্ছনীয়। এই কাঠামোটি থেকে সরিয়ে নেওয়ার একটি বৈধ কারণ হ'ল সমর্থন প্যাকেজগুলি যা / অপ্ট // লাইব বা / অপ্ট // বিনে ফাইল ইনস্টল থাকতে পারে।


5

আপনার কেবলমাত্র /usr/local/shareসেই ফাইলগুলির জন্য ব্যবহার করা উচিত যা কোনও নির্দিষ্ট আর্কিটেকচার / ওএস সংস্করণে সুনির্দিষ্ট নয়।

পরে এটি কিনা বিদ্যমান subdirs মধ্যে ফাইলগুলি বিতরণ করার আপ /usr/localঅথবা আপনি একটি নতুন ডেডিকেটেড সংকলন তৈরি করে /usr/local(কিন্তু আধুনিক ইচ্ছার ইতিমধ্যে এক্সিকিউটেবল উপস্থিত PATH, LD_LIBRARY_PATHকিংবা MANPATH)।

কটাক্ষপাত আছে FHS


ধন্যবাদ. সুতরাং, যদি এটি উইন্ডোজ থেকে সাদৃশ্য হয় তবে এটি / usr / স্থানীয় / SPECIAL_APP হওয়া উচিত এবং এর ভিতরে এর উপ-ডিরেক্টরি থাকতে হবে, তাই না?
গ্রীনল্ডম্যান

@ গ্রীনল্ডম্যান: না কোন উপমা মাপসই করা হবে কারণ উইন্ডোজ এবং লিনাক্স বিভিন্ন মডেলের ব্যবহার করুন: উইন্ডোজে, সাধারণত আপনি সব ফাইল একটি একক Dir, যেখানে লিনাক্স-এ আপনি সাধারণত তাদের উপর বিভক্ত রাখা bin, share, lib, ইত্যাদি
MestreLion

3

/optসাধারণ হওয়ার আগ পর্যন্ত স্বাভাবিক জায়গা ছিল /usr/local/lib/<package>


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

0

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

এর জন্য কাস্টম ইনস্টল করতে প্যাকেজের সংখ্যার ভিত্তিতে আমি এই উত্তরটি বিভক্ত করেছি। বিভাজন আমার নিজের অভিজ্ঞতার উপর ভিত্তি করে। এই অভিজ্ঞতাগুলি প্যাকেজগুলি পরিচালনা করতে সময় নেয় এবং কিছু গণ্ডগোলের ঝুঁকি নিয়ে থাকে weigh আমি বলতে চাইছি না যে আমার কাছে সাধারণ মানের জ্ঞান আছে তবে সিদ্ধান্ত গ্রহণের সময় দেখার রেফারেন্স পয়েন্ট হিসাবে এটি বোঝাতে চাই।

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

আপনি ডিরেক্টরি ডিরেক্টরিতে ওভাররাইট করার কারণে এখানে আপডেট করা বেশ সহজ।

পেশাদাররা:

  • সহজ
  • দ্রুত সেটআপ
  • সিস্টেমের অন্যান্য অংশগুলিকে প্রভাবিত করার কোনও সুযোগ নেই
  • আনইনস্টল ইনস্টলের মতোই সহজ

কনস:

  • ইনস্টল করার জন্য প্যাকেজের সংখ্যা বেশি হলে বরং ক্লান্তিকর হয়ে ওঠে
  • তোলে PATHবর্ণন নোংরা

কয়েকটি প্যাকেজের/usr/local/<your package> অধিকর জন্য, আমি আপনাকে নির্ধারিত থেকে এক্সিকিউটেবলকে সিম-লিংক ব্যবহার করার /usr/local/binবা /usr/local/sbinআপনার মূল সুবিধাগুলি প্রয়োজন কিনা তার উপর নির্ভর করে ব্যবহার করার পরামর্শ দেব । এটি আপনাকে প্রতিবার নতুন কিছু যুক্ত হওয়ার সাথে সাথে আপনার পথ পরিবর্তন করা থেকে বাঁচায় যাতে পথ পরিষ্কার থাকে। সমস্ত নন-প্যাকম্যান প্যাকেজ এবং এআর প্যাকেজগুলির জন্য আমি আমার আর্চ ল্যাপটপে এই পদ্ধতিটি ব্যবহার করি।

আপডেটটি প্যাকেজ ডিরেক্টরিটি ওভাররাইট করে এবং সিমলিংকটি এখনও বৈধ কিনা তা পরীক্ষা করে এবং এটি না হলে ফিক্সিংয়ের মাধ্যমে করা হয়।

পেশাদাররা

  • PATHঅগোছালো করে না
  • বেস সিস্টেম প্রভাবিত করে না
  • সমস্ত অ্যাড-অনগুলি সরিয়ে এবং একটি পরিষ্কার বেস সিস্টেমে ফিরে আসার জন্য এখনও খুব সাধারণ

কনস:

  • সেটআপ আরও কাজ
  • শুধুমাত্র একটি প্যাকেজ অপসারণ করার জন্য কিছু অনুসন্ধান আছে

অনেক প্যাকেজ জন্য । যেহেতু এটি আপনি চান না তেমনটি আমি সংক্ষেপে রাখব। আমি মধ্যে বিভাজন প্যাকেজ সুপারিশ করবে bin, lib, share, ইত্যাদি এবং তাদের ইনস্টল করার /usr/local। এটি কাঠামো পরিষ্কার রাখতে হয়। আপনি কোথায় এবং আরও কিছু লিখতে পারেন তাও নির্দিষ্ট করে দিতে পারেন। উদাহরণস্বরূপ আপনি এক্সিকিউটেবলকে রুট পরিবর্তন ছাড়া অন্য লোকদের চান না।

আপনাকে একক ডিরেক্টরি থেকে বেশি লিখতে হবে বলে আপডেটগুলি এখানে আরও জটিল হয়ে ওঠে। আমি পুরো জিনিসটি প্যাকেজিংয়ের পরামর্শ দিচ্ছি এবং প্যাকেজ ম্যানেজারকে বাকী অংশটি পরিচালনা করতে দিই।

ভাগ

shareডিরেক্টরি নিজেই হিসাবে ফাহিম এর উল্লেখ স্থাপত্য স্বাধীন ফাইলের জন্য হয় লিংক ও স্থাপত্য নির্ভরশীল ফাইল যেতে হবে lib, lib32, lib64, ইত্যাদি


প্যাকেজের সংখ্যার ভিত্তিতে পরামর্শ দেওয়া কার্যকর নয়; আমি কীভাবে জানব যে আমার প্যাকেজটি কোন গ্রুপের অন্তর্ভুক্ত?
অ্যালোস মাহদল

এছাড়াও, যখন আপনি "এটি প্রস্তাবিত" বলে থাকেন, রেফারেন্স উত্স বা স্পষ্টভাবে বলুন যে এটি আপনার প্রস্তাবনা (আমি পরবর্তীকালের অনুমান করছি ...?)
অ্যালোস মাহডাল

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

এটি অবশ্যই নামকরণের বিষয় যা জিনিসগুলিকে গোলমেলে পরিণত করে। এটি এমন কিছু যা আমি অতীতে অভিজ্ঞতা অর্জন করেছি এবং সে কারণেই আমি আমার "অতিরিক্ত" প্যাকেজগুলি অন্য সমস্ত বিষয় থেকে দূরে রাখতে চাই। আমি এখনও জিনিসগুলিকে কুৎসিত দেখানো চাই না।
লৌরি তিলি

এবং হ্যাঁ আপনি "এটি প্রস্তাবিত" সম্পর্কে সঠিক কারণ আপনি আমার উত্তর থেকে দেখতে পাবেন যে আমি অন্য কোথাও "আমি সুপারিশ করব" ব্যবহার করেছি। আমি এখন আমার বানান স্থির করে দিয়েছি কেন আমি কিছু সুপারিশ করব। আবার এটি কেবল আমার দৃষ্টিভঙ্গি এবং একটি নির্দিষ্ট উত্তর হিসাবে বোঝানো হয়নি।
লৌরি তিলি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.