Emplacement du script utilisateur linux (debian etch) [fermé]
Dans le système de fichiers linux, où les scripts utilisateur doivent-ils être placés?
Je pense spécifiquement aux scripts python à appeler par cron.
8 réponses
Les informations que j'ai reçues:
/usr/local/sbin custom script meant for root
/usr/local/bin custom script meant for all users including non-root
Snips 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 de sortir à L'hydroxyde
Si vous parlez de scripts créés par un utilisateur qui seront exécutés à partir de cette crontab des utilisateurs, 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 les utilisateurs, un répertoire /usr/local/scripts.
Pour qui cela intéresse, leFilesystem Hierarchy Standard (FHS) est un document standard et toujours une très bonne lecture. Je décrit la base de presque toutes les distributions Linux et est officiellement approuvé par exemple par Debian {[2] } et la Linux Standards Base (LSB).
Vous ne trouverez pas de réponse positive à cette question, cependant, depuis ... il n'est pas défini ;-). Seule chose que je peux dire: Ne pas mettre dans /bin (ni dans /usr/bin). /usr/local/scripts est rare. $HOME/bin semble être un endroit acceptable, si le script n'est utilisé que par cet utilisateur unique.
Je suis un beleiver fort que si un fichier est créé par un utilisateur, il va dans son répertoire utilisateur (/home/username) s'il ne l'a pas fait alors cela devient plus compliqué. J'ai dans le passé juste les mettre dans /usr / local / bin, / bin, ou/usr/local /scripts, Je ne suis pas sûr de etch, mais vous devez vérifier pour vous assurer que/usr/local / scripts est réellement dans le $PATH de Cron.
Le Guide Debian peut être très utile quand il s'agit D'Ubuntu:
Normalement, les programmes s'installent 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, j'ai mis mes scripts $HOME/.scripts
.
J'aimerais que la DSL aborde spécifiquement cette question.
Que diriez-vous de /home/username/bin?
Ajoutez ~ / bin à $ PATH et rendez le script exécutable avec chmod + x filename.
Personnellement, je préfère
/home/username/.bin
De cette façon, le dossier bin est caché mais vous pouvez toujours l'ajouter au chemin 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 une question précédente relative à cron .