Question

Dans le système de fichiers Linux, où doivent être placés les scripts utilisateur ?

Je pense spécifiquement aux scripts python qui doivent être appelés par cron.

Était-ce utile?

La solution

les informations que j'ai obtenues :

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

extraits du chatlog de 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.

merci à Hydroxyde

Autres conseils

Si vous parlez de scripts créés par un utilisateur qui seront exécutés à partir de la crontab de cet utilisateur, je les place généralement dans un dossier bin ou scripts dans le répertoire personnel, ou s'ils sont destinés à être partagés entre utilisateurs, un / Répertoire usr/local/scripts.

Pour qui cela intéresse, le Norme de hiérarchie du système de fichiers (FHS) est un document normatif et reste une très bonne lecture.I décrit la base de presque toutes les distributions Linux et est officiellement approuvé, par ex.par Debian et la base de normes Linux (LSB).

Cependant, vous ne trouverez aucune réponse positive à cette question, puisque...ce n'est pas défini ;-).La seule chose que je peux dire :Ne mettez pas dans /bin (ni dans /usr/bin)./usr/local/scripts est également inhabituel.$HOME/bin semble être un endroit acceptable, si le script n'est utilisé que par cet utilisateur unique.

Je suis convaincu que si un fichier est créé par un utilisateur, il va dans son répertoire utilisateur (/home/username) s'il ne l'a pas créé, cela devient plus compliqué.Dans le passé, je les ai simplement placés dans /usr/local/bin, /bin ou /usr/local/scripts, je ne suis pas sûr de etch, mais vous devez vérifier que /usr/local/ les scripts se trouvent en fait dans le $PATH de Cron.

Le Guide Debian peut être très utile lorsqu'il s'agit d'Ubuntu :

Normalement, les programmes s'installent eux-mêmes dans les sous-répertoires /usr/local.Mais les paquets Debian ne doivent pas utiliser ce répertoire, car il est réservé à l'usage privé de l'administrateur système (ou de l'utilisateur).

/usr/local/bin semble acceptable selon le guide.

Personnellement, je mets mes scripts dans $HOME/.scripts.

J'aimerais cependant que LSB aborde spécifiquement cette question.

Et /home/nom d'utilisateur/bin ?

Ajoutez ~/bin à $PATH et rendez le script exécutable avec chmod +x filename.

perso je préfère

/home/username/.bin

De cette façon, le dossier bin est masqué mais vous pouvez toujours l'ajouter au PATH et exécuter tous les scripts avec le x-bit à l'intérieur.

J'aime que mon répertoire personnel soit propre (à première vue) avec très peu de dossiers.

Vous pouvez également ajouter des chemins à votre fichier crontab comme indiqué dans un question précédente liée à cron.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top