موقع البرنامج النصي للمستخدم لينكس (حفر دبيان) [مغلق]

StackOverflow https://stackoverflow.com/questions/15171

  •  08-06-2019
  •  | 
  •  

سؤال

في نظام ملفات Linux، أين يجب وضع البرامج النصية للمستخدم؟

أفكر على وجه التحديد في نصوص بايثون التي سيتم استدعاؤها بواسطة cron.

هل كانت مفيدة؟

المحلول

المعلومات التي حصلت عليها:

/usr/local/sbin     custom script meant for root
/usr/local/bin      custom script meant for all users including non-root

مقتطفات من سجل الدردشة من irc.debian.org #debian:

(02:48:49) c33s: question: where is the _correct_ location, to put custom scripts
for the root user (like a script on a webserver for createing everything needed 
for a new webuser)? is it /bin, /usr/local/bin,...? /usr/local/scripts is 
mentioned in (*link to this page*)
(02:49:15) Hydroxide: c33s: typically /usr/local/sbin
(02:49:27) Hydroxide: c33s: no idea what /usr/local/scripts would be
(02:49:32) Hydroxide: it's nonstandard
(02:49:53) Hydroxide: if it's a custom script meant for all users including 
non-root, then /usr/local/bin
(02:52:43) Hydroxide: c33s: Debian follows the Filesystem Hierarchy Standard, 
with a very small number of exceptions, which is online in several formats at 
http://www.pathname.com/fhs/ (also linked from http://www.debian.org/devel/ and 
separately online at http://www.debian.org/doc/packaging-manuals/fhs/fhs-2.3.html)
(02:53:03) Hydroxide: c33s: if you have the debian-policy package installed, it's 
also in several formats at /usr/share/doc/debian-policy/fhs/ on your system
(02:53:37) Hydroxide: c33s: most linux distributions follow that standard, though 
usually less strictly and with more deviations than Debian.

شكرا للخروج إلى هيدروكسيد

نصائح أخرى

إذا كنت تتحدث عن البرامج النصية التي أنشأها المستخدم والتي سيتم تشغيلها من crontab الخاص بالمستخدمين، فعادةً ما أضعها إما في سلة المهملات أو مجلد البرامج النصية في الدليل الرئيسي، أو إذا كان المقصود منها مشاركتها بين المستخدمين، أ / دليل usr/local/scripts.

لمن يهمه الأمر، معيار التسلسل الهرمي لنظام الملفات (FHS) هي وثيقة معايير ولا تزال قراءة جيدة جدًا.أصف الأساس لأي توزيعة Linux تقريبًا وتم اعتمادها رسميًا على سبيل المثال.بواسطة ديبيان وقاعدة معايير Linux (LSB).

لن تجد أي إجابة إيجابية لهذا السؤال، رغم ذلك، منذ ...لم يتم تعريفه ؛-).الشيء الوحيد الذي يمكنني قوله:لا تضع في /bin (لا في /usr/bin)./usr/local/scripts غير عادي أيضًا.يبدو أن $HOME/bin مكان مقبول، إذا تم استخدام البرنامج النصي بواسطة هذا المستخدم الفردي فقط.

أنا مؤمن بشدة أنه إذا تم إنشاء ملف بواسطة مستخدم، فسيتم إدخاله في دليل المستخدم الخاص به (/home/اسم المستخدم) إذا لم يصنعه، فسيصبح الأمر أكثر تعقيدًا.لقد قمت في الماضي بوضعها إما في /usr/local/bin أو /bin أو /usr/local/scripts، لست متأكدًا من الحفر، ولكن عليك التحقق للتأكد من أن /usr/local/ البرامج النصية موجودة بالفعل في PATH $ الخاص بـ Cron.

ال دليل دبيان يمكن أن يكون مفيدًا جدًا عندما يتعلق الأمر بـ Ubuntu:

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

/usr/local/bin يبدو مقبولا وفقا للدليل.

أنا شخصياً أضع النصوص الخاصة بي $HOME/.scripts.

أتمنى أن تتناول LSB هذا السؤال على وجه التحديد.

ماذا عن /home/اسم المستخدم/bin؟

أضف ~/bin إلى $PATH واجعل البرنامج النصي قابلاً للتنفيذ باستخدام اسم الملف chmod +x.

شخصيا أفضل

/home/username/.bin

بهذه الطريقة يكون مجلد bin مخفيًا ولكن لا يزال بإمكانك إضافته إلى PATH وتنفيذ جميع البرامج النصية باستخدام x-bit بداخله.

أحب أن يكون دليل منزلي نظيفًا (للوهلة الأولى) ويحتوي على عدد قليل جدًا من المجلدات.

يمكنك أيضًا إضافة مسارات إلى ملف crontab الخاص بك كما هو موضح في ملف السؤال السابق المتعلق بالكرون.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top