Frage

Wo sollen Benutzerskripte im Linux-Dateisystem abgelegt werden?

Ich denke speziell an Python-Skripte, die von Cron aufgerufen werden sollen.

War es hilfreich?

Lösung

die Informationen, die ich bekommen habe:

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

Chatlog-Ausschnitte von 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.

Vielen Dank an Hydroxide

Andere Tipps

Wenn es sich um Skripts handelt, die von einem Benutzer erstellt wurden und über die Crontab des Benutzers ausgeführt werden, lege ich diese normalerweise entweder in einen Ordner „bin“ oder „scripts“ im Home-Verzeichnis, oder wenn sie für die gemeinsame Nutzung durch Benutzer gedacht sind, a / usr/local/scripts-Verzeichnis.

Für wen es sich interessiert, der Dateisystemhierarchiestandard (FHS) ist ein Standarddokument und immer noch eine sehr gute Lektüre.Ich beschreibe die Grundlage für fast jede Linux-Distribution und werde z. B. offiziell unterstützt.von Debian und die Linux Standards Base (LSB).

Auf diese Frage werden Sie allerdings keine positive Antwort finden, denn ...es ist nicht definiert ;-).Ich kann nur sagen:Nicht in /bin einfügen (auch nicht in /usr/bin)./usr/local/scripts ist ebenfalls ungewöhnlich.$HOME/bin scheint ein akzeptabler Ort zu sein, wenn das Skript nur von diesem einzelnen Benutzer verwendet wird.

Ich bin der festen Überzeugung, dass eine Datei, die von einem Benutzer erstellt wurde, in seinem Benutzerverzeichnis (/home/username) abgelegt wird. Wenn er sie nicht erstellt hat, wird es komplizierter.Ich habe sie in der Vergangenheit einfach entweder in /usr/local/bin, /bin oder /usr/local/scripts abgelegt. Bei Etch bin ich mir nicht sicher, aber Sie müssen überprüfen, ob /usr/local/ scripts befindet sich tatsächlich in Crons $PATH.

Der Debian-Leitfaden kann sehr nützlich sein, wenn es um Ubuntu geht:

Normalerweise installieren sich Programme in den Unterverzeichnissen /usr/local.Debian-Pakete dürfen dieses Verzeichnis jedoch nicht verwenden, da es für den privaten Gebrauch des Systemadministrators (oder Benutzers) reserviert ist

/usr/local/bin Scheint laut Anleitung akzeptabel zu sein.

Persönlich habe ich meine Skripte eingefügt $HOME/.scripts.

Ich wünschte jedoch, dass LSB sich speziell mit dieser Frage befassen würde.

Wie wäre es mit /home/username/bin?

Fügen Sie ~/bin zu $PATH hinzu und machen Sie das Skript mit chmod +x Dateiname ausführbar.

Persönlich bevorzuge ich

/home/username/.bin

Auf diese Weise wird der bin-Ordner ausgeblendet, aber Sie können ihn trotzdem zum PATH hinzufügen und alle Skripte mit dem darin enthaltenen x-Bit ausführen.

Ich möchte, dass mein Home-Verzeichnis (auf den ersten Blick) sauber ist und nur sehr wenige Ordner enthält.

Sie können Ihrer Crontab-Datei auch Pfade hinzufügen, wie in a gezeigt vorherige Cron-bezogene Frage.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top