উত্তর:
"ইউনিক্স ভিত্তিক সিস্টেম" সাধারণত-প্রযোজ্য সংকল্প যে কোন ধরণের যে প্রয়োগ করা হবে করতে পর্যন্ত খুব সাধারণ একটি বিভাগ হয় সব ইউনিক্স ভিত্তিক সিস্টেম। সমস্যাটি হ'ল ফাইল সিস্টেমে কাঠামো (এবং "যথাযথ" / "প্রচলিত" জিনিসগুলি রাখার জায়গা) "ইউনিক্স" এর বিভিন্ন স্বাদের (যদি আপনি এটি এটিকেও বলতে পারেন) এর মধ্যে এতটাই ভিন্ন যে আপনাকে এটি পরিচালনা করতে হবে ক্ষেত্রে ভিত্তি করে একটি মামলা উপর.
কয়েকটি উদাহরণ:
উত্তরটি হ'ল লিনাক্স, বিএসডি, সোলারিস, এইচপি-ইউএক্স ইত্যাদির কোনও ডিগ্রো হ'ল কোনও অপারেটিং সিস্টেমে কোথায় কোনও স্টোর রাখতে হবে তার জন্য ক্যানোনিকাল, সামাজিকভাবে গ্রহণযোগ্য, সু-সমন্বিত কনভেনশন সঠিক পরিস্থিতিতে নির্ভর করে । বিশেষ করে:
apt-getবা yumএকটি ওয়েবসাইট বন্ধ একটি ইনস্টলার ডাউনলোড ছাড়াই সরাসরি এটি ইনস্টল করুন কিভাবে?সমস্ত কারণ বিবেচনা না করে এর জন্য সরাসরি কোনও উত্তর নেই। তবে, উবুন্টু 12.04 এর জন্য , যদি আপনি পিপিএতে.deb বিতরণ করার জন্য বা উবুন্টুর নিজস্ব প্যাকেজ সংগ্রহস্থলের ( mainবা universe) জমা দেওয়ার জন্য কোনও ফাইলের মধ্যে আপনার প্যাকেজ তৈরি করে থাকেন , তবে আমি প্রস্তাব দিচ্ছি যে ক্যাশেটি সংরক্ষণ করা উচিত /var/cache। তবে এটি কেবল উবুন্টুর জন্য এবং আপনার অবশ্যই এই ধারণাটি প্রয়োগ করা উচিত নয় যে প্রতিটি ডিসট্রো বা ইউনিক্স-ভিত্তিক ওএস এটি গ্রহণযোগ্য বিবেচনা করবে।
তদতিরিক্ত, যদি সিস্টেমের বুটগুলিতে ক্যাশে ডেটা সংরক্ষণ করার কোনও সুবিধা না থাকে তবে আমি মনে করি এটি / টেম্পেও অন্তর্ভুক্ত থাকতে পারে।
নোট করুন যে আপনার প্রোগ্রামটি যে ধরণের ফাইল ব্যবহার করে সেগুলির জন্য আপনি এই পাথিং কনভেনশন সমস্যাগুলির মধ্যে যাচ্ছেন : ভাগ করা ডেটা, এক্সিকিউটেবল ফাইল, লাইব্রেরি, সহায়তা ফাইল, চিত্র, শব্দ, ওয়েব পৃষ্ঠাগুলি এবং এগুলি । সুতরাং আমাকে অবাক করে বলতে হবে, আপনি যদি ক্যাশে ফাইলগুলি সম্পর্কে জিজ্ঞাসা করছেন তবে কীভাবে আপনি অন্যান্য ফাইল প্রকারগুলি পরিচালনা করার পরিকল্পনা করছেন। আপনি কি নিরীহ অনুমান করছেন এবং আশা করছেন যে কেউ আপনার সাথে একমত নয়? আপনি যদি উবুন্টু ডক্স বা মানগুলি কোথায় রাখবেন সে বিষয়ে পরামর্শ না দিয়ে থাকেন, তবে কেবল একটি জিনিস বা অন্যটি ধরে নেওয়া বাজে ধারণা। উদাহরণস্বরূপ, সর্বদা / usr / lib এ লাইব্রেরি আটকে রাখা ভুল হতে পারে, কারণ তারা অন্য কোথাও অবস্থিত অবস্থার উপর নির্ভর করে।
অতিরিক্ত হিসাবে, একটি সফ্টওয়্যার বিকাশকারী হিসাবে, আমি মনে করি সবচেয়ে দায়িত্বশীল কাজটি হ'ল শেষ ব্যবহারকারীকে তাদের ফাইলগুলি কোথায় রাখবেন তা সিদ্ধান্ত নিতে দেওয়া। আপনি ডিফল্ট সেট করতে পারেন, তবে ব্যবহারকারীরা (এবং বিতরণকারী) তাদের ডিস্ট্রোতে ফিট করার জন্য বিল্ডটি কাস্টমাইজ করতে পারবেন এবং করতে পারেন।
এটি করার সবচেয়ে সহজ উপায় হ'ল জিএনইউ অটোকনফ ব্যবহার করে আপনার প্রোগ্রামটি তৈরি করা । অটোকনফ একটি বিল্ড সিস্টেম যেখানে ব্যবহারকারী ডিফল্ট থেকে দূরে বিভিন্ন "ডিরেক্টরি টাইপের" এর পথ পরিবর্তন করতে বিল্ড স্ক্রিপ্টে কমান্ড-লাইন আর্গুমেন্টগুলি পাস করতে পারে। প্রায় প্রতিটি ডিস্ট্রিবিউশনে প্রতিটি অটোকনফ প্যাকেজের জন্য একটি বিল্ড স্ক্রিপ্ট থাকে যা প্রতিটি ধরণের জন্য ডিস্ট্রো-উপযুক্ত প্রথাগত ডিরেক্টরিগুলি সেট করে। এমনকি তাদের ক্যাশে: শেয়ারডস্টেটির জন্য বিশেষত একটি ডিরেক্টরি টাইপ রয়েছে ।
gemসরঞ্জাম দ্বারা রত্নগুলি ইনস্টল করা হয় । তবে, আপনার অ্যাপ্লিকেশনটি রত্ন দ্বারা ডাউনলোড করা একই ডিরেক্টরিতে রানটাইম সময়ে ফাইলগুলি তৈরি করা সম্ভবত উপযুক্ত হবে না। অন্যদিকে, আপনি যদি ব্যবহারকারী হিসাবে অ্যাপটি চালাচ্ছেন তবে আপনার জন্য একটি ডিরেক্টরি প্রয়োজন যা ব্যবহারকারীদের জন্য পঠনযোগ্য , এবং এর অর্থ হয় অনুমতি পরিবর্তন করা (যার প্রয়োজন ইনস্টল-এ আরও বেশি সিস্টেম ইন্টিগ্রেশন কাজ যেমন গ্রুপ তৈরির মতো ইত্যাদি) বা বিশ্বব্যাপী পঠন-লিখন ডিরেক্টরি ব্যবহার করে, যেমন / tmp।
/usr, /libবা /binআপনার অ্যাপ্লিকেশন থেকে।
/tmpফোল্ডার হবে। আপনার প্রশ্নের উত্তরগুলি হবে (ডাউনলোড, না, না, না, না, না, না, না)। সম্ভবত বেশিরভাগ লোকের পক্ষে সিদ্ধান্তটি শেষ হওয়া স্বাভাবিক বলে মনে হয়/tmpতবে আমি ইউনিক্স সিস্টেমে নতুন এবং উবুন্টু ওএস ভিত্তিক কনভেনশন আমার কাছে অপরিচিত। এটি রত্নটির জন্য অগ্নিস্টিক ডিস্ক ক্যাশে করার অনুমতি দেওয়ার জন্য আকর্ষণীয় ধারণাটি খোলে (ব্যবহারকারী অগ্নোস্টিক)। ধন্যবাদ, আমার কাছ থেকে +1