سؤال عند تثبيت تطبيقات المستخدم ، أين تشير "أفضل الممارسات" إلى أنها موجودة؟


أحيانا أقوم بتثبيت التطبيقات يدويا ، بدلا من استخدام apt أو مدير حزم آخر.

ما الموقع (/usr/، /usr/local/، /opt/، /home/، وما إلى ذلك) يقترح "أفضل الممارسات" لتركيب تطبيقات المستخدم؟


184
2017-08-05 14:42


الأصل


كتبت عن رغبتي في تثبيت الأشياء من المصدر في كثير من الأحيان أداة صغيرة للقيام بذلك الذي يقوم بالتغييرات على ملف بدء التشغيل shell الخاص بك (وأيضاً تعديل بادئة المكتبة الخاصة بك ، إذا طلبت ذلك ، للبرامج التي تعتمد على المكتبات المشتركة). لا ميزة غنية جدا ، لكنها تعمل 99 ٪ من الوقت. - new123456
منشور له صلة: askubuntu.com/q/138547/62483 - Lucio
مناقشة كبيرة حول التمييز بين /opt و /usr/local : unix.stackexchange.com/q/11544/11917 - blong


الأجوبة:


هذا يعتمد حقا. إذا كان التطبيق يحتوي على makefile ، (للتطبيقات python) يستخدم distutils (لديه setup.py ملف) أو بناء / تركيب نظام مماثل ، وضعها في /usr/local/ (السلوك الافتراضي).

إذا كنت تحتاج فقط إلى استخراج كرة تراكبية وتشغيلها مباشرة (مثل Thunderbird و Firefox) ، ضعها في /opt/.

لماذا ا؟ من ما أفهم، /usr/local/ لديه التسلسل الهرمي الذي يشبه /usr/. لذلك برنامج يتوقع الحصول على "تثبيت" في /usr/ يجب أن تعمل بشكل جيد في /usr/local/. البرنامج الذي يحتاج فقط إلى دليل واحد وسيحصل على جميع الملفات / المكتبات المتعلقة بهذا الدليل يمكنه الحصول على دليل واحد لنفسه /opt/.


163
2017-08-05 14:53



يبدو الكثير من الناس ينسون opt/ - في رأيي لقد ضربت الظفر على الرأس كما هو لغرض. - Marco Ceppi♦
لقد قمت بتنزيل الكسوف واستخلصت إلى / opt. كيف يمكنني تشغيله من المحطة الطرفية مثل البرامج الأخرى مثل javac و java. فعلت مع البدائل التحديث على النحو التالي ، sudo التحديث البدائل - تثبيت "/ usr / بن / خسوف" "الكسوف" "/ opt / eclipse / eclipse" 1 ولكن تقول القيادة لم يتم العثور على نوع sudo كسوف - Deepen
قم بعمل ارتباط رمزي من / usr / bin أو أضفه إلى PATH في ~ / .bashrc - Alex


من الجيد أن نتذكر ذلك /usr لا تقف ل المستعمل لكن بالأحرى موارد نظام يونكس.

على هذا النحو ، فإنني أميل إلى معرفة أن أي توزيع لديه الحق في الدوس على جميع محتويات /usr, وأن إضافات محددة إلى النظام تدخل /usr/local، والتي أحتفظ بها قبل إجراء الترقية.

وفي الوقت نفسه ، تدخل التطبيقات وأشياء أخرى /opt.

بعض الناس يشعرون بالراحة وضع الاشياء في /homeعلى الرغم من أنني نادراً ما أتبع هذه الاتفاقية.

كل ما قيل ، اسمحوا لي مدير حزمة التوزيع تفعل الأشياء في طريقها أولا ، ومن ثم القيام بما ورد أعلاه عند الأشياء اليد المتداول.


99
2017-09-17 17:39



تجدر الإشارة إلى أن "موارد نظام Unix" هي إعادة تسمية تم إجراؤها بعد \ "الصفحة الرئيسية \". في الأيام القديمة ، القديمة ، القديمة (Unix Version 6 et.al.) سترى أدلة مثل / usr / jimmy ، / usr / siobhan ، / usr / ahmed ، إلخ. لأن الأدلة "user" تم تخزينها في / usr . - Mark Leighton Fisher
حسنا سأعض: ماذا يعني الخيار؟ - Seth
Seth أعتقد أنه "اختياري" - كان في الأصل للبرامج التي لم تكن جزءًا من التثبيت الافتراضي. - Carl H
/ usr User. كان ذلك لأن مستخدمي لينكس كانوا مطورين. أولا لأنها بدأت في الانخراط في devs والمستخدمين /home قدم دير. ثم شخص ما لديه فكرة أن يقول ذلك يعني Unix System Resourcesالتي لا معنى لها حقاً ، لأن لدينا Unix system Resources في /dev - Info-Screen
صحيح ، / usr هو اسم مختصر. لقد تغير الهدف منذ الأيام التي كان فيها Unix يعمل على PDP-7 مرة أخرى في عام 1969. - Walt Stoneburner


تثبيت برامج غير مستقرة مثل تطوير فايرفوكس في / home / user / opt / يجعل إزالتها أسهل كثيرًا ، وعدم وجود ارتباك للمستخدمين الآخرين حول الإصدار الذي يجب استخدامه ... لذلك إذا لم يكن برنامجًا للاستخدام العام ، فثبّت في مجلد فرعي في دليل منزلك.

لا تقم أبدًا بتثبيت البرامج في / usr / ، فمن المحتمل أن يتسبب ذلك في حدوث فوضى ، والأشياء المثبتة في / usr / يُقصد بها حزم التوزيع فقط. / usr / local / للحزم التي تم تجميعها محليًا. ويعمل srtucture بنفس الطريقة بالضبط! الملفات في / usr / local / سيتم تحديد أولوياتها على الملفات في / usr /

/ opt / يجب أن يستخدم لتركيب حزم (ثنائية) مسبقة التحويل (Thunderbird، Eclipse، Netbeans، IBM NetSphere، إلخ) وما شابه ذلك. ولكن إذا كانت مخصصة لمستخدم واحد فقط فيجب وضعها في دليل المنزل الخاص بك.

إذا كنت تريد أن تتمكن من تشغيل برنامج مثبت في موقع "غريب" (مثل / home / user / opt / firefox /) دون كتابة المسار بالكامل ، فإنك تحتاج إلى إضافته إلى متغير PATH $ ، فيمكنك القيام بذلك إضافة خط مثل هذا في /home/user/profile

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

يجب أن يكون اسم المجلد هو الملف الذي يوجد به الملف القابل للتنفيذ الذي تريد تشغيله.


30
2017-08-07 08:40





يشير نظام Linux Systemystem Hierarchy Standard إلى /usr/local.

من عند http://tldp.org/LDP/Linux-Filesystem-Hierarchy/html/usr.html:

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


25
2017-08-05 14:45



يبدو أنه يتناقض مع هذا / usr / local stuff مع المعلومات الموجودة على صفحة "opt": tldp.org/LDP/Linux-Filesystem-Hierarchy/html/opt.html "" هذا الدليل محجوز لكافة البرامج وحزم الوظائف الإضافية التي ليست جزءًا من التثبيت الافتراضي. على سبيل المثال ، يتم العثور على حزم StarOffice و Kylix و Netscape Communicator و WordPerfect عادةً هنا. للتوافق مع FSSTND ، يجب تثبيت جميع تطبيقات الطرف الثالث في هذا الدليل. "..." (على غرار الطريقة التي سيقوم فيها Windows بتثبيت برنامج جديد إلى شجرة دليله الخاصة C: \ Windows \ Progam Files \ "Program Name ")" - Pod


عادةً ما يكون لدي مجلد باسم "البرامج" في منزلي حيث أقوم بتثبيت تلك البرامج ، غريبًا بما فيه الكفاية (أو لا) كل الأشياء جافا الآن.

لديه ميزة واحدة كبيرة بالنسبة لي ، عندما أقوم بإعادة تثبيت أو تغيير أجهزة الكمبيوتر التي يتم نقلها مع بقية بيتي. لديه عيب واضح ، هذه التطبيقات متاحة فقط لمستخدمي.


5
2017-08-05 14:57



كيف يمكنني إعادة تثبيت Ubuntu 16.04 دون فقدان البيانات في المجلد الرئيسي؟ حاولت أن أفعل فورمات / الدليل ثم اكتب نفس اسم المستخدم وكلمة المرور القديمة ولكن وجدت أن أوبونتو يخلق مجلد المنزل آخر. - Ibrahim Disouki


استخدم "checkinstall" لتحويل طردك الأجنبي إلى debu بحيث يمكن إلغاء تثبيته باستخدام مدير الحزم.

لاحظ أن ملفات التهيئة لن يتم التعامل معها في الغالب كملفات تهيئة (ربما يتم تجاهلها ، أو ربما يتم التعامل معها كجزء من التطبيق) ، وأن البرامج النصية قبل التثبيت وبعده تتعطل أحيانًا ، على الرغم من أنها عادة ما تحذرك عندما تعتقد أن سيكون لدى deb برنامج نصي تالف قبل أو بعد التثبيت.


1
2017-08-16 01:41