View Full Version : init e init.d, che differenze ci sono?
ho cercato un po ma non ho capito...
cosa cambia in ubuntu server se metto uno script in init.d o init?
e poi, cosa cambia fra "bash" e "sh"? (per ubuntu dovrei usare sh giusto?)
scusate la domanda niubba
Gimli[2BV!2B]
15-05-2012, 19:44
init
In Ubuntu l'init è un po' una scarpa e una ciabatta.
Hanno portato avanti il progetto Upstart (http://upstart.ubuntu.com/), software con caratteristiche interessanti, ma purtroppo non (ancora?) in grado di sostituire in toto il più diffuso init System V (http://it.wikipedia.org/wiki/Init#Differenza_tra_sistemi_in_stile_System_V_e_quelli_in_stile_BSD) (nonché quello utilizzato dalla mamma Debian).
I demoni pilotati da Upstart hanno un file conf in /etc/init, i demoni/altro che non è stato possibile migrare ad Upstart hanno un loro script in /etc/init.d, con i relativi link di lancio ed arresto nei vari runlevel (da /etc/rcS.d fino ad /etc/rc6.d).
Devo dire che non essendo un assiduo utilizzatore Ubuntu potrei aver scritto imprecisioni o non essere aggiornato sulla situazione.
shell
/bin/sh (cioè sh) è un link alla shell di default del sistema. In Debian (http://wiki.debian.org/Shell) ed Ubuntu da qualche tempo è dash (http://en.wikipedia.org/wiki/Debian_Almquist_shell) (tra le più leggere... e pulite... :stordita:).
gimli@kwankey:~$ ls -la /bin/sh
lrwxrwxrwx 1 root root 4 mar 1 11:10 /bin/sh -> dash
Problema: dash non offre tutte le funzionalità di bash, altrimenti sarebbe meno leggera di quel che è.
Ne consegue che script che contengono bashismi (http://mywiki.wooledge.org/Bashism) (cioè espressioni interpretabili solo da bash) andranno in errore se eseguiti con dash. Al contrario bash può eseguire qualsiasi script scritto per dash.
Per completezza ti ricordo che esistono tante shell Unix, classificabili in varie famiglie. (http://en.wikipedia.org/wiki/Unix_shell)
Conclusione: nello shabang (http://it.wikipedia.org/wiki/Shabang) è preferibile specificare esplicitamente la shell che hai utilizzato durante lo sviluppo dello script, altrimenti potrebbe non funzionare.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.