ব্যবহারকারীর অ্যাপ্লিকেশন ইনস্টল করার সময়, "সেরা অনুশীলনগুলি" তাদের অবস্থানের পরামর্শ দেয় কোথায়?


210

মাঝে মাঝে আমি অ্যাপ্লিকেশনটি ম্যানুয়ালি ইনস্টল করি না, বরং aptঅন্য কোনও প্যাকেজ ম্যানেজার ব্যবহার করে ।

কি অবস্থান ( /usr/, /usr/local/, /opt/, /home/, ইত্যাদি) ব্যবহারকারী অ্যাপ্লিকেশন ইনস্টলেশনের জন্য "সর্বোত্তম কার্যাভ্যাস" দ্বারা পরামর্শ দেওয়া হয়?


উত্স থেকে প্রায়শই জিনিসগুলি ইনস্টল করা পছন্দ করে, আমি এটি করার জন্য একটি ছোট সরঞ্জাম লিখেছি যা ভাগ করে নেওয়া লাইব্রেরিতে নির্ভর করে এমন প্রোগ্রামগুলির জন্য যা আপনার নিজের শেল স্টার্টআপ ফাইলটিতে নিজস্ব পরিবর্তন হয় (এবং আপনার লাইব্রেরির উপসর্গটিও পরিবর্তন করে দেখুন) )। খুব সমৃদ্ধ বৈশিষ্ট্যযুক্ত নয়, তবে এটি 99% সময় কাজ করে।
new123456

সম্পর্কিত পোস্ট: Askubuntu.com/q/138547/62483
লুসিও

1
মধ্যে পার্থক্য গ্রেট আলোচনা /optএবং /usr/local: unix.stackexchange.com/q/11544/11917
blong

উত্তর:


184

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

আমি যা বুঝি তার থেকে /usr/local/একইরকম একটি শ্রেণিবিন্যাস রয়েছে /usr/। যাইহোক, মত ডিরেক্টরি /usr/bin/এবং /usr/lib/সাধারণত প্যাকেজ মাধ্যমে ইনস্টল জন্য সংরক্ষিত apt। সুতরাং কোনও প্রোগ্রাম "ইনস্টল" হওয়ার প্রত্যাশায় /usr/কাজ করা উচিত /usr/local/

আপনার যদি কেবল একটি টারবাল বের করে সরাসরি চালানো দরকার (যেমন ফায়ারফক্স) তবে এটিতে প্রবেশ করুন /opt/। এমন একটি প্রোগ্রাম যা কেবল একটি ডিরেক্টরি প্রয়োজন এবং সেই ডিরেক্টরি সম্পর্কিত সমস্ত ফাইল / লাইব্রেরি এতে নিজের জন্য একটি ডিরেক্টরি পেতে পারে /opt/


24
দেখে মনে হচ্ছে এটি অনেক লোক ভুলে গেছে opt/- আমার মতে আপনি এটির উদ্দেশ্য হিসাবে মাথার পেরেকটি আঘাত করেছেন।
মার্কো সেপ্পি

3
/ ইউএসআর / বিন থেকে একটি সিমিলিংক তৈরি করুন বা এটি AT / .bashrc এ PATH- এ যুক্ত করুন
অ্যালেক্স

1
কি হবে ~/.local/share? @ মার্কো
চূড়ান্তভাবে

1
আপনি ভিতরে ~(আপনার হোম ডিরেক্টরি) জিনিসগুলি ইনস্টল করতে পারেন তবে এটি কেবলমাত্র একজন ব্যবহারকারীর জন্যই অ্যাপ্লিকেশনটিকে অ্যাক্সেসযোগ্য করে তুলবে। আপনার সিস্টেমের অন্যান্য ব্যবহারকারীদের সেই সফ্টওয়্যারটির নিজস্ব ইনস্টলেশন ইনস্টল করতে এবং বজায় রাখতে হবে। আপনার হোম ডিরেক্টরি ইনস্টল করার জন্য অ্যাপ্লিকেশনগুলি ইনস্টল করার সর্বোত্তম অনুশীলনের হিসাবে, আমি বিশ্বাস করি এর মতো শক্তিশালী নির্দেশিকা নেই কারণ আপনি সিস্টেম প্যাকেজগুলিতে হস্তক্ষেপ করবেন না।
উমং

1
হোম / উবুন্টু / মাইয়াপ এর আওতায় 'টার থেকে আনজিপড' থাকা অ্যাপ্লিকেশনগুলি ইনস্টল করা কি ভুল - এটি / অপ্ট / মায়াপের সাথে তুলনা করে কী আলাদা?
জার্ক

116

এটা মনে রাখা ভালো /usrজন্য দাঁড়ানো না ব্যবহারকারী বরং UNIX সিস্টেম রিসোর্স

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

ইতিমধ্যে, অ্যাপ্লিকেশন এবং অন্যান্য জিনিসগুলি প্রবেশ করে /opt

কিছু লোক স্টাফ লাগাতে স্বাচ্ছন্দ্য বোধ করে /home, যদিও আমি খুব কমই এই সম্মেলনটি অনুসরণ করি।

যা যা বলেছিল, আমি বিতরণ প্যাকেজ ম্যানেজারটিকে প্রথমে কাজগুলি করতে দিয়েছি এবং তারপরে হ্যান্ড রোলিংয়ের জিনিসগুলি যখন উপরের কাজটি করে।


35
এটি মনে রাখা দরকার যে 'ইউনিক্স সিস্টেম সংস্থানগুলি হল' / হোম 'এর পরে নাম পরিবর্তন করা হয় was পুরানো, পুরাতন, পুরানো দিনগুলিতে (ইউনিক্স সংস্করণ et এটাল।) আপনি / usr / জিমি, / ইউএসআর / সিওবান, / ইউএসআর / আহমদ ইত্যাদির মতো ডিরেক্টরি দেখতে পাবেন কারণ "ব্যবহারকারী" ডিরেক্টরিগুলি / usr এ সঞ্চিত ছিল ।
মার্ক লেইটন ফিশার

5
ঠিক আছে আমি কামড় দেব: কিসের পক্ষে দাঁড়ায়?
শেঠ

3
@ আমি মনে করি এটি 'alচ্ছিক' - এটি মূলত এমন সফ্টওয়্যারগুলির জন্য ছিল যা কোনও ডিফল্ট ইনস্টলেশনের অংশ ছিল না।
কার্ল এইচ

5
/ usr হয় User। কারণ লিনাক্স ব্যবহারকারীরা বিকাশকারী ছিলেন। প্রথমে এটি ডেভস এবং ব্যবহারকারীদের মধ্যে বিভক্ত হওয়া শুরু করার সাথে সাথে ডিরটি /homeচালু করা হয়েছিল। এবং তারপর কেউ ধারণা এটা মানে বলার ছিল Unix System Resources, যা সত্যিই ইন্দ্রিয় না তোলে কারণ আমরা আছে Unix system Resourcesমধ্যে/dev
তথ্য-স্ক্রীণ

2
সঠিক, / usr একটি ব্যাক্রোনিয়াম।
১৯ix৯

34

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

/ Usr / এ প্রোগ্রামগুলি কখনই ইনস্টল করবেন না, এটি বিশৃঙ্খলার কারণ হতে পারে, / usr / এ ইনস্টল করা জিনিসগুলি কেবল বিতরণ প্যাকেজগুলির জন্যই বোঝানো হয়। / usr / স্থানীয় / স্থানীয়ভাবে সংকলিত প্যাকেজগুলির জন্য। আর স্ট্রাকচার ঠিক একইভাবে কাজ করে! / usr / স্থানীয় / এ থাকা ফাইলগুলিকে / usr / এ থাকা ফাইলগুলির চেয়ে অগ্রাধিকার দেওয়া হবে

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

আপনি যদি পুরো পথটি টাইপ না করে "অদ্ভুত" স্থানে ইনস্টল করা একটি প্রোগ্রাম (যেমন / বাড়ি / ব্যবহারকারী / অপ্ট / ফায়ারফক্স /) চালাতে সক্ষম হতে চান তবে আপনার এটিকে আপনার AT প্যাথ ভেরিয়েবলটিতে যুক্ত করতে হবে, আপনি এটি করতে পারেন আপনার / home/user/.profile এ এর ​​মতো একটি লাইন যুক্ত করা

export PATH=/home/user/opt/firefox:$PATH

ফোল্ডারের নামটি এমন একটি হওয়া উচিত যেখানে আপনার চালনার জন্য কার্যকর হওয়া ফাইলটি অবস্থিত।


26

লিনাক্স ফাইল সিস্টেম হায়ারার্কি স্ট্যান্ডার্ড নির্দেশ করে /usr/local

Http://tldp.org/LDP/Linux-Files systemm- হাইয়ারচি / html/ usr.html থেকে :

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


1
অপ্ট পৃষ্ঠায় থাকা তথ্যের সাথে এই / usr / স্থানীয় স্টাফের সাথে বিরোধিতা করে বলে মনে হচ্ছে: tldp.org/LDP/Linux-Files system-Hierarchy / html / opt.html "" এই ডিরেক্টরিটি সমস্ত সফ্টওয়্যার এবং অ্যাড-অন প্যাকেজগুলির জন্য সংরক্ষিত আছে ডিফল্ট ইনস্টলেশন অংশ নয়। উদাহরণস্বরূপ, স্টারঅফিস, কিলিক্স, নেটস্কেপ কমিউনিকেশনার এবং ওয়ার্ডসুফেক্ট প্যাকেজগুলি সাধারণত এখানে পাওয়া যায়। এফএসএসটিএনডি মেনে চলার জন্য, সমস্ত তৃতীয় পক্ষের অ্যাপ্লিকেশনগুলি এই ডিরেক্টরিতে ইনস্টল করা উচিত "" ... "(উইন্ডোজ তার নিজস্ব ডিরেক্টরি ট্রিটিতে নতুন সফ্টওয়্যার ইনস্টল করবে এমনভাবে: সি: \ উইন্ডোজ \ প্রোগ্রামাম ফাইল Program" প্রোগ্রামের নাম) ")"
পোড

6

আমার বাড়িতে সাধারণত "প্রোগ্রামস" নামে একটি ফোল্ডার থাকে যেখানে আমি এই প্রোগ্রামগুলি ইনস্টল করি, যথেষ্ট অদ্ভুত (বা না) তারা এখনই সব জাভা স্টাফ।

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


হোম ফোল্ডারে ডেটা না হারিয়ে আমি কীভাবে উবুন্টু 16.04 টি পুনরায় ইনস্টল করতে পারি? আমি ফরমেট /ডিরেক্টরিতে চেষ্টা করার পরে কেবল একই পুরানো ব্যবহারকারীর নাম এবং পাসওয়ার্ড টাইপ করেছিলাম কিন্তু আমি দেখতে পেয়েছি যে উবুন্টু অন্য একটি হোম ফোল্ডার তৈরি করে।
ইব্রাহিম ডিসৌকি

1

আপনার এলিয়েন প্যাকেজটিকে একটি ডেবে রূপান্তর করতে "চেকইনস্টল" ব্যবহার করুন যাতে এটি প্যাকেজ পরিচালক ব্যবহার করে আনইনস্টলযোগ্য হয়।

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

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