Domanda

Nel file system di Linux, dove dovrebbero essere posizionati gli script utente?

Sto pensando specificamente agli script Python da chiamare da cron.

È stato utile?

Soluzione

le informazioni che ho ottenuto:

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

frammenti del log della chat da 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.

i ringraziamenti vanno a Hydroxide

Altri suggerimenti

Se stai parlando di script creati da un utente che verranno eseguiti dal crontab di quell'utente, in genere li inserisco in una cartella bin o script nella directory home o, se sono destinati a essere condivisi tra utenti, un / directory usr/local/scripts.

Per chi interessa, il Standard di gerarchia del file system (FHS) è un documento standard ed è comunque un'ottima lettura.Descrive le basi di quasi tutte le distribuzioni Linux ed è ufficialmente approvato, ad es.di Debian e la Linux Standards Base (LSB).

Tuttavia non troverai alcuna risposta positiva a questa domanda, dal momento che...non è definito ;-).L'unica cosa che posso dire:Non inserire /bin (né in /usr/bin).Anche /usr/local/scripts è insolito.$HOME/bin sembra essere un posto accettabile, se e solo se lo script viene utilizzato solo da questo singolo utente.

Sono fermamente convinto che se un file viene creato da un utente, va nella sua directory utente (/home/nome utente), se non lo ha creato lui diventa più complicato.In passato li ho semplicemente inseriti in /usr/local/bin, /bin o /usr/local/scripts, non sono sicuro di etch, ma devi controllare per assicurarti che /usr/local/ script è in realtà nel $PATH di Cron.

IL Guida Debian può essere molto utile quando si tratta di Ubuntu:

Normalmente i programmi si installano nelle sottodirectory /usr/local.Ma i pacchetti Debian non devono utilizzare quella directory, poiché è riservata all'uso privato dell'amministratore di sistema (o dell'utente).

/usr/local/bin sembra accettabile secondo la guida.

Personalmente ho inserito i miei script $HOME/.scripts.

Vorrei però che LSB affrontasse specificamente questa domanda.

Che ne dici di /home/nome utente/bin?

Aggiungi ~/bin a $PATH e rendi lo script eseguibile con chmod +x nomefile.

personalmente preferisco

/home/username/.bin

In questo modo la cartella bin è nascosta ma puoi comunque aggiungerla al PERCORSO ed eseguire tutti gli script con x-bit all'interno.

Mi piace che la mia directory home sia pulita (a prima vista) con pochissime cartelle.

Puoi anche aggiungere percorsi al tuo file crontab come mostrato in a domanda precedente relativa a cron.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top