سؤال ما هو موقع التثبيت التقليدي للتطبيقات في Linux؟


أنا حاليا بتثبيت NetBeans ، ودليل التثبيت الافتراضي هو /home/thomasowens/netbeans-6.8. أنا لست من معجبين بهذا الموقع ، لذلك أنا أبحث في /etc، /bin، /usr/binو /sbin. هل يوجد في لينكس مكان ، حسب الاصطلاح ، هو نفسه مثل Windows ' C:\Program Files دليل؟


68
2018-01-02 20:20


الأصل




الأجوبة:


وفقا ل نظام الملفات التسلسل الهرمي قياسي، هناك العديد من الأماكن المقبولة ، اعتمادًا على التطبيق. أنا أقتبس منه على نطاق واسع هنا.

  • bin اختصار لـ "ثنائي" بالطبع
  • sbin اختصار لعبارة "server binary" ، والتي يتم تعريفها على النحو التالي:

    المرافق المستخدمة للنظام   الإدارة (وغيرها من الجذر فقط   أوامر)

  • /usr هو للبيانات القابلة للقراءة فقط ، ويجب مشاركتها بين العديد من المضيفات المتوافقة مع FHS (إذا كان لديك الكثير من الأجهزة على شبكتك ، وكلها بنفس البنية ، يجب أن تكون قادراً على مشاركة مجلد واحد / usr مع كل جهاز على الشبكة)

  • /usr/local للاستخدام من قبل مسؤول النظام عند تثبيت البرنامج محليًا (على سبيل المثال ، للتطبيقات المثبتة فقط على هذا الجهاز ، وليس على كل جهاز على الشبكة).

أخذ هذه معا:

  • /usr/bin هو الدليل الأساسي للأوامر القابلة للتنفيذ على النظام.
  • /usr/sbin هو لأي ثنائيات غير أساسية تستخدم حصريًا من قبل مسؤول النظام.
  • يجب وضع برامج إدارة النظام المطلوبة لإصلاح النظام أو استرداد النظام أو تركيب / usr أو الوظائف الأساسية الأخرى /sbin بدلا من ذلك (أي الأشياء التي تحتاج إلى الوصول إليها لتركيبها /usr/sbin أدخل /sbin)
  • وبالمثل ، أوامر المستخدم الأساسية التي قد تكون مطلوبة من قبل /usr يتم تركيبه /bin
  • أي شيء مثبت فقط على الجهاز المحلي يجب أن يدخل /usr/local/bin أو /usr/local/sbin

هناك استخدام واحد آخر لـ / usr / local رغم ذلك. معظم الأشياء التي تقوم بتثبيتها من خلال مدير الحزم الخاص بالتوزيعة سيتم وضعها تحت / usr ؛ الكثير من الناس يضعون الأشياء التي قاموا بتجميعها باليد تحت / usr / local بدلاً من ذلك. هذا يبقيهم بعيداً عن نظام إدارة الحزم ويسمح لك باكتشاف ما قمت بتثبيته من التوزيعة (ولا تحتاج إلى النسخ الاحتياطي لأنك تستطيع الاستيلاء عليه مرة أخرى) وما قمت بتجميعه باليد ؛ كما يتيح لك تشغيل إصدارات مختلفة في نفس الوقت (على سبيل المثال ، / usr / bin / firefox مقابل / usr / local / bin / firefox).


فقط عندما اعتقدت أن الأمور قد تمت تسويتها ، هناك مكان آخر ، وهو على الأرجح أقرب ما يعادل c:\Program Files - /opt:

/opt محجوز لتثبيت حزم برامج التطبيقات الإضافية

/opt هو على الارجح أقرب ما يعادل c:\program files، حيث إنه المكان الوحيد الذي تتوقع أن تجد فيه تطبيقًا يحتوي على جميع ملفاته معًا في مجلد واحد ، بدلاً من أن يكون متناثرًا /usr/bin، /varو /etc. عادة ما تستخدم فقط من قبل حزم كبيرة جدا ، ولكن في هذه الحالة ، بالنظر إلى أن Netbeans تريد أن يكون لها مجلد خاص بها ، فمن الأرجح أن يجعلها تحت / اختيار / netbeans


92
2018-01-02 21:23



مثير للإعجاب. إذا كنت قد صممت لينكس لوضعت تطبيقات الشبكة المشتركة في / usr / shared ومن ثم وضع تطبيقات المضيف المحلي الخاص في / usr. بهذه الطريقة يمكن أن أشارك / usr / المشتركة دون أيضا ، من خلال الميراث ، وتقاسم / usr. - djangofan
إجابة لطيفة حقا. أود أيضًا التعليق على حفظ الأشياء بعيدًا عن نظام إدارة الحزم. - DaveParillo
بالتأكيد / اختيار "حزم طرف ثالث كاملة". ستقوم معظم عمليات التثبيت بتقسيم الثنائيات المختلفة والمكتبات والملفات وما إلى ذلك إلى دلائل مختلفة ، ولكن عندما يكون لديك دليل "الكل في واحد" ، فإن / opt يجعل التعامل معه أمرًا سهلاً. - Avery Payne
الأسئلة السريعة للزوجين: 1) إذا كان من المفترض أن يكون / usr مشاركًا بين جميع الأجهزة على الشبكة ، فهل هذا يعني أن جميع أدلة الأطفال ستكون قابلة للمشاركة أيضًا ، مما يجعل / usr / local مرئيًا للآلات الأخرى على الشبكة؟ 2) ما هو FHS 3) عندما تتحدث عن الأوامر اللازمة لتركيب / usr ، هل تتحدث عن كيفية تشغيل نظام التشغيل من ، على سبيل المثال ، إيقاف التشغيل؟ أعتذر عن قصف الأسئلة بعد 7 سنوات ، لكنني جديد في لينكس وكان لدي هذا السؤال نفسه بعد أن رأيت أدلة التثبيت تقول أين تضع الأشياء ، ولكن ليس لماذا نضعها هناك. +1 راجع للشغل - Ungeheuer


حقا يأتي إلى تفضيل شخصي. ساوضح لي ما يستحق.

/ usr / usr / bin هي عادة أماكن للبرامج المثبتة من قبل النظام ليتم تثبيتها. عندما أقوم بتركيب الأشياء بنفسي ، أقوم بتثبيتها في أحد الأماكن العديدة:

  1. إذا كان البرنامج نصيًا أو برنامجًا صغيرًا فقط سأستخدمه ، أقوم بتثبيته في ~ / bin - هذا هو المكان الذي ينتهي فيه معظم أغراضي.
  2. إذا كان شيئًا مثلك وصفته (NetBeans) مع شجرة ملف كاملة خاصة به ، فأقوم بتثبيته في / opt
  3. إذا كانت قابلة للتنفيذ ، أقوم بتثبيتها في / usr / local / bin

لماذا أميز بين # 2 & # 3؟ لا توجد فكرة ، إنها مجرد عادة قمت بتطويرها مع مرور الوقت. إنه يعمل على أن / opt عادة ما ينتهي به المطاف إلى أن يصبح شجرة عميقة من الملفات ، ولكن ليس هناك سوى 2 أو 3 "أشياء" فعلية مثبتة. في هذه اللحظة ، لدي lampp والملاحظات اللوتس المثبتة في اختيار ، الدلائل 2 أن كل الأشجار كبيرة بدلاً من تحتها. في / usr / local / bin ، لدي 20 أو 30 إدخالًا ، ولكن لا يوجد دليل فرعي.

لا أقوم بتثبيت الأشياء في / usr / bin أو / usr / sbin لأنني أحب أن أحتفظ بالأشياء التي أقوم بإضافتها يدويًا (وليس جزءًا من التثبيت ببساطة من المستودع القياسي) منفصلة.


4
2018-01-03 01:23





بينما ال نظام الملفات التسلسل الهرمي قياسي يقدم بعض التوجيه. لقد وجدت أن معظم التوزيعات ترغب في تثبيت الحزم في /usr/share.

لهذا السبب ، لقد اعتمدت ممارسة تثبيت أي تطبيق لم يتم تثبيته عبر مدير الحزم (rpm / apt-get / emerge) في /usr/local. هذا يسمح لي بالحفاظ على التطبيقات والمكتبات التي لا تدار من خلال إدارة الحزم منفصلة عن تلك التي هي.

إنها تقنية ساعدتني في إدارة النظام الخاص بي في إطار كل من Fedora Core و Gentoo.


1
2018-01-03 01:45





كنت أعتقد أن الموقع الافتراضي هو /bin، حيث يتم تثبيت كل شيء تقريبا بشكل افتراضي إذا كنت تستخدم apt-get أو ما شابه ...

... ومع ذلك ، عندما يتعلق الأمر ببرامج أكثر حداثة (أو برامج بدون تثبيت) تحتوي على الكثير من الملفات الإضافية ، فأنا أحب وضعها في دليلها الخاص /bin.


0
2018-01-02 20:24



ما الفرق بين / bin و / usr / bin و / sbin؟ / bin يجعل الأمر أكثر منطقية ، لأنه لملفات BINary. - Thomas Owens


عادة ما يتم تثبيتها في عدة مجلدات ، بشكل رئيسي / usr ، / local ، / bin ، إلخ. يمكنك معرفة مكان تثبيت البرنامج من GDebi Installer (تحت علامة تبويب الملفات). إذا كنت تنوي نقل Netbeans ، فأقترح نقلها إلى / opt ، لأن هذا هو المكان الذي يبدو أن Google تقوم بتثبيت الأشياء فيه.


0
2018-01-02 20:33





اتفق مع إجابة James Polley ، لكن في الواقع الدليل الافتراضي يجعل الكثير منطقيًا ما لم تكن بحاجة إلى مشاركة التطبيق بين حسابات متعددة. أنا ، على سبيل المثال ، كنت بحاجة إلى تثبيت Eclipse 3.0 (عفا عليها الزمن) من أجل القيام بعمل Flex تحت Linux ، وأضعه في $ HOME / eclipse3.


0
2018-01-03 04:07





أحب استخدام / تطبيقات لمعظم التطبيقات الإضافية التي أقوم بتثبيتها على خوادم متعددة. أحتفظ بنسخة من المجلد في / installs / apps على خادم nfs الخاص بي. عندما أقوم بإنشاء أي خادم لينكس جديد ، أقوم بتثبيت مجلدات التثبيت والنسخ / التطبيقات ولدي العديد من التطبيقات الشائعة المختلفة على الخادم الجديد. أحذف هذه الإدخالات التي لست بحاجة إليها لهذا الخادم الجديد وقد انتهيت. حسنًا ، ربما أحتاج إلى تشغيل نص برمجي أو ثلاثة لتعيين متغيرات البيئة أو عبارات المسار ، ولكن هذا إلى حد كبير ما يلزم لإعداد العديد من الخوادم الجديدة.

لقد جئت من Windows و .net الخلفية. كان أحد الوعود من .net أن معظم التطبيقات يمكن تثبيتها باستخدام Windows xcopy. أنا أبحث عن نفس الشيء في لينكس. حيثما أكون متاحًا ، أختار التراكب على RPM أو yum ، إلخ. لذلك يمكنني الانتشار إلى / apps مع cp -r وإضافة التطبيق إلى خادم nfs الخاص بي لعمليات النشر المستقبلية.


0
2018-05-29 15:32



يطرح السؤال على الاتفاقية. لقد وصفت ما تفعله شخصيًا. هل يمكنك على الأقل ربط هذا بمؤتمر؟ - fixer1234