লিনাক্স সি: \ প্রোগ্রাম ফাইলের সমতুল্য কী?


64

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

তবে কখনও কখনও, একটি সফ্টওয়্যার ইনস্টলেশন ফাইলগুলি রাখার পথে অনুরোধ করে। লিনাক্স ডিস্ট্রোর ক্ষেত্রে এই ডিফল্ট স্থানটি ( C:\Program Filesবা C:\progra~1সমমানের) কোথায়? এটি বিভিন্ন বিতরণের জন্য পৃথক? হ্যাঁ হলে, যেখানে এই জন্য হবে RHEL, Suseএবং Ubuntu?

উত্তর:


60

লিনাক্স ডকুমেন্টেশন প্রজেক্ট টি লিনাক্স ফাইল সিস্টেম অনুক্রমের বর্ণনা যেখানে তারা বিভিন্ন ফোল্ডার ও তাদের (আংশিকভাবে ঐতিহাসিক) অর্থ ব্যাখ্যা।

যেহেতু xenoterracide ইতিমধ্যে চিহ্নিত করেছে /binএবং /optএটি স্ট্যান্ডার্ড ডিরেক্টরি যা উইন্ডোজের "প্রোগ্রাম ফাইল" এর সাথে তুলনা করা যেতে পারে।

/binবেশ কয়েকটি দরকারী কমান্ড রয়েছে যা সিস্টেম প্রশাসক পাশাপাশি অ-সুযোগ-সুবিধাপ্রাপ্ত ব্যবহারকারী উভয়েরই কাজে লাগে। এটি সাধারণত মত শাঁস রয়েছে bash, cshইত্যাদি .... এবং সাধারণত মত কমান্ড ব্যবহৃত cp, mv, rm, cat, ls

( টিএলডিপি থেকে উদ্ধৃত )

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

( টিএলডিপি থেকে উদ্ধৃত )


9
/ রেপগুলি কেবল প্যাকেজগুলিতে অন্তর্ভুক্ত নয় এমন প্যাকেজগুলির জন্য কী ব্যবহার করা হয়? ইনস্কেপ, গিম্প, রিদম্বক্স ইত্যাদির জন্য অ্যাপ্লিকেশন ফোল্ডারগুলি / usr / শেয়ারে অবস্থিত। বরং তার সমতুল্য হবে না?
c76c3r8c42b347r8

5
ফাইল সিস্টেমের স্তরক্রম (এফএইচএস) সম্পর্কে আরও সাম্প্রতিক তথ্যের জন্য linuxfoundation.org/en/FHS দেখুন । (দ্রষ্টব্য: এই মুহুর্তে সাইটটি ডাউন থাকলেও শীঘ্রই ব্যাক আপ নেওয়া উচিত)।
jw013

@ টক্সিকবিটস: কমপক্ষে জেন্টু-ইন / অপ্টে বাইনারি প্যাকেজ রয়েছে - বিশেষত যা নন-স্ট্যান্ডার্ড ফাইল সিস্টেমের হায়ারার্কির কারণে / usr এ ইনস্টল করা যায় না।
ম্যাকিয়েজ পাইচোতকা

টিএলডিপি দুর্দান্ত মনে হচ্ছে! ভাল, একটি পাশ নোটে; টিএলডিপিটি প্রথম দেখলাম, আমি ভেবেছিলাম: "খুব বেশি সময় হয়নি ... পিক? কি?"
এজকান

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

45

সরাসরি কোন সমতুল্য নেই। ডিরেক্টরি কাঠামো খুব আলাদা। উইন্ডোজ অধীনে, আপনার প্রতিটি ইনস্টল করা প্যাকেজ / সফ্টওয়্যারগুলির জন্য একটি একক ডিরেক্টরি রয়েছে যার সাথে সম্পর্কিত সমস্ত ফাইল রয়েছে (যেমন C:\Program Files\MyProgram)। লিনাক্সের অধীনে প্রতিটি সফ্টওয়্যার ফাইল টাইপ এবং কিছু অন্যান্য নিয়ম অনুসারে অনেক ডিরেক্টরিতে "ছত্রভঙ্গ" হয়।

উদাহরণ হিসাবে, আমরা পরীক্ষা করতে পারি xscreensaverপ্রোগ্রামের সাথে সম্পর্কিত বিভিন্ন ফাইলগুলি কোথায় ইনস্টল করা হয়েছে:

/etc/pam.d/xscreensaver
/etc/xscreensaver
/etc/xscreensaver/README
/usr/bin/xscreensaver
/usr/bin/xscreensaver-command
/usr/bin/xscreensaver-demo
/usr/bin/xscreensaver-gl-helper
/usr/share/X11/app-defaults/XScreenSaver
/usr/share/applications/xscreensaver-properties.desktop
/usr/share/doc/packages/xscreensaver
/usr/share/doc/packages/xscreensaver/README
/usr/share/locale/ca/LC_MESSAGES/xscreensaver.mo
/usr/share/locale/da/LC_MESSAGES/xscreensaver.mo
/usr/share/locale/de/LC_MESSAGES/xscreensaver.mo
[ ... ]
/usr/share/locale/zh_TW/LC_MESSAGES/xscreensaver.mo
/usr/share/man/man1/xscreensaver-command.1.gz
/usr/share/man/man1/xscreensaver-demo.1.gz
/usr/share/man/man1/xscreensaver.1.gz
/usr/share/man/man6/xscreensaver-gl-helper.6x.gz
/usr/share/pixmaps/xscreensaver.xpm
/usr/share/xscreensaver
/usr/share/xscreensaver/glade
/usr/share/xscreensaver/glade/screensaver-cmndln.png
/usr/share/xscreensaver/glade/screensaver-colorselector.png
[ ... ]

চিন্তা করবেন না, সাধারণত যখন একটি ইনস্টলার জিজ্ঞেস যেখানে ইনস্টল করার সঠিক উত্তরটি নিম্নলিখিত এগুলির মধ্যে একটি: /, /opt, /usr,/usr/local

আপনি দেখতে পাচ্ছেন, বেশ কয়েকটি (1) ফাইল কিছু সাধারণ নিয়ম অনুসারে xscreensaverইনস্টল করা হয় /usr: এক্সিকিউটেবল, ইন /usr/binম্যানুয়াল পৃষ্ঠাগুলি /usr/share/man, ডকুমেন্টেশন ইন /usr/share/doc/packages/PROGRAMNAMEএবং আরও কিছু।

যখন কোনও ইনস্টলার কোনও ইনস্টলেশনের জন্য জিজ্ঞাসা করে prefix, সাধারণত এটি এখন বেস পথটি চায় যার অধীনে প্রোগ্রামটি ইনস্টল করে। আমার xscreensaverউদাহরণে, এটি /usr

সাধারণ নিয়ম হিসাবে: /কেবলমাত্র সিস্টেমটি বুট করার জন্য প্রয়োজনীয় প্রোগ্রাম থাকা উচিত (যেমন C:\windows\system32), /usr/localকেবলমাত্র সেই অনন্য কম্পিউটারে প্রয়োজনীয় প্রোগ্রামগুলি থাকা উচিত, /opt(২) সমস্ত optionচ্ছিক প্রোগ্রাম যাতে মানসম্পন্ন ডিরেক্টরি কাঠামো এবং /usrসমস্ত স্ট্যান্ডার্ড সফ্টওয়্যার রয়েছে ।

যাই হোক না কেন, এটি এমন একটি মান বিদ্যমান যা এই সমস্ত বিধিগুলি বিশদে বিশদভাবে সংজ্ঞায়িত করে: ফাইল সিস্টেম হায়ারার্কি স্ট্যান্ডার্ড

(1) সিস্টেম-ব্যাপী কনফিগারেশন ফাইলগুলিতে অবশ্যই থাকতে হবে /etc

(২) লিনাক্সের অধীনে বেশ অপ্রচলিত


/opt/usr/localবেশ কিছু সময়ের জন্য তৃতীয় পক্ষের সফ্টওয়্যারটির জন্য পছন্দ করা হয় ।
স্টিভ-ও

7
কেবল একটি ব্যাখ্যা, /usr/share"ভাগ" বলা হয় কারণ এটি বিভিন্ন আর্কিটেকচারের (ডকুমেন্টেশন, স্ক্রিপ্টস, চিত্রগুলি) মধ্যে ভাগ করা হয়, অন্যদিকে /usr/lib*আর্কিটেকচার-নির্ভর ফাইল (এবং এক্সিকিউটেবল নয়, যা /usr/bin) for
ইউডক্সোজ

12

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


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

1
মানকটি একাধিক অবস্থানের আইডিকে নির্দিষ্ট করে কেন পাথের নামটি নীচে রয়েছে তবে এখানে ক্যাশেড এফএইচএসের একটি লিঙ্ক রয়েছে যা এটি কী সম্পর্কে আরও সংজ্ঞাতে চলে যায়, এবং সত্যই এটি আপনি কী ইনস্টল করছেন তার উপর অনেক বেশি নির্ভর করে। এছাড়াও আরএইচইএল, সুস এবং উবুন্টু আলাদা হয় তাই তারা একই জিনিসটিকে কিছুটা পৃথক স্থানে রাখতে পারে। /optউদাহরণস্বরূপ সাধারণত মালিকানা সফ্টওয়্যার জন্য ব্যবহৃত হয়।
xenoterracide

এছাড়াও সাধারণত ... সাধারণত সেগুলি একই পার্টিশনে থাকে ... কখনও কখনও /usr/পৃথক পার্টিশন হয়।
xenoterracide

1
কিছু লোক (যেমন দুরত্ব প্রকল্প) যুক্তি দেয় যে বৈষম্য /binএবং /usr/binবৈষম্য এখন অপ্রচলিত; ঐতিহাসিকভাবে, সিস্টেম-সমালোচনামূলক কাপড় হবে /bin, /lib, ... (রুট সরাসরি), এবং /usr(সঙ্গে /usr/bin, /usr/lib, ...) পরে (সম্ভবত নেটওয়ার্কের মাধ্যমে) মাউন্ট করা হবে মৌলিক সিস্টেম কার্যকারিতার জন্য প্রয়োজন হয় না হচ্ছে।
ইউডক্সোজ

1
@ থমাস, বের /optহওয়া উচিত নয়। কিছু লোক অতীতে ভাবত যে সমস্ত অ্যাপ্লিকেশন থেকে আলাদা লোকেশনে কিছু অ্যাপ্লিকেশন পাওয়া ভাল ধারণা। /binমূল বিভাজনে রয়েছে। যেহেতু কিছু সিস্টেমে রুট পার্টিশনের স্থান সীমিত, অ-প্রয়োজনীয় বাইনারিগুলি (যেমন সমস্ত ব্যবহারকারীর অ্যাপ্লিকেশন) এ স্থানান্তরিত হয়েছিল /usr/bin
জানুয়ারী


3

অন্যরা যেমন উল্লেখ করেছে, প্যাকেজ ম্যানেজারের মাধ্যমে ইনস্টল করা প্রোগ্রামগুলি বেশ কয়েকটি ডিরেক্টরিতে ছড়িয়ে পড়ে। বাইনারিটি সাধারণত পাওয়া যায় /usr/bin, সিস্টেম-ব্যাপী কনফিগারেশন ফাইলগুলি রয়েছে /etcএবং আরও কিছু।

প্যাকেজ পরিচালকের মাধ্যমে যদি কোনও অ্যাপ্লিকেশন ইনস্টল না করা থাকে তবে ফাইলগুলি এমন জায়গায় ইনস্টল করা উচিত যেখানে তারা প্যাকেজ ম্যানেজারের সাথে হস্তক্ষেপ না করে। এই জায়গা /usr/local

যদি আপনাকে কোনও ইনস্টলেশন পথের জন্য জিজ্ঞাসা করা হয় তবে সর্বাধিক সাধারণ পছন্দ হবে /usr/local/appname


3

echo $PATHকমান্ড সন্ধানের জন্য শেলটি যে পথটি দেখতে পাবে সেগুলি দেখতে আপনার টার্মিনালে টাইপ করুন । এটি মুদ্রিত হয় সেই ক্রমে কোনও ফাইলের জন্য এটি পরীক্ষা করে যায়।


1
এটি ওপি যা বলেছে তাতে সাড়া দেয় না।
ফ্রান্সেস্কো টার্কো

1

ভাল আপনি নিজের সমস্ত সমাধান খুঁজে পাবেন না /binএবং sbinকারণ এগুলি বেশিরভাগ সিস্টেমে কমান্ড (যেমন সিস্টেম দ্বারা ব্যবহৃত আদেশগুলি) ধারণ করে।

/usr/binআদর্শ "Program Files"হিসাবে ইউনিক্স বিশ্বের বলা যেতে পারে । সংক্রান্ত /optখুব কম প্যাকেজ অপ্ট ইনস্টলেশনের জন্য যে অবস্থান ব্যবহার করতে, একই ব্যবহার প্যাকেজ প্রযোজ্য /etc/বা /varঅবস্থানগুলির মতো

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