|
|
|
|
Lancer un script au démarrage
Dernière réponse le 6 aoû 2009 à 13:52:00 Zempachi, le 27 jan 2006 à 19:39:09Salut,
beh tout est dit dans le titre.
En fait je veux lancer deux services avec deux scripts.
J'ai regardé sur le web la maniere de lancer un script au démarrage et j'avoues que ca m'a refroidi.
Donc, en fait je cherche plutot une facon "vite fait" de faire ou une astuce.
Il faut preciser que ces scripts doivent etre lancés avec les droits du root ce qui fait que l'astuce du fichier .bashrc ne fonctionne pas.
Voila merci d'avance.
intermittent de la poésie
Re,
R: Ubuntu cherche à synchroniser l'heure de votre appareil à chaque démarrage avec un serveur de temps (heure) ou ntp. Le blocage survient lorsque votre système cherche à se brancher alors que votre connexion Internet n'est pas encore activée... Une façon élégante de régler le problème est d'enlever le lien qui lance le protocole ntp et de l'appeler à la toute fin de l'amorce de l'ordi dans un fichier rc.local que nous allons créer.
1. déterminez le niveau par défaut (runlevel)
cat /etc/inittab | grep initdefault
la réponse sera sans doute 2
2. créez le fichier rc.local
sudo touch /etc/init.d/rc.local
3. éditez ses droits
chmod 774 /etc/init.d/rc.local
4. permettre l'exécution du fichier rc.local en dernier
sudo ln -s /etc/init.d/rc.local /etc/rc2.d/S99local
le 99 assure que le fichier sera le dernier processus exécuté lors du démarrage
5. éditez le fichier rc.local pour y mettre les commandes que l'on veut voir s'exécuter en dernier
sudo gedit /etc/init.d/rc.local
et mettez-y par exemple la ligne suivante :
/etc/init.d/ntpdate start
6. enfin nous allons supprimer le lien qui fait appel à ntp trop tôt :
sudo rm -f /etc/rcS.d/S75ntp
Au prochain redémarrage de votre ordi l'heure sera correctement ajustée après le lancement de votre connexion Internet. |
Salut,
|
Répondre à kokzi
|
Répondre à kokzi
|
Salut,
#! /bin/bash
PATH=/bin:/usr/bin:/sbin:/usr/sbin
DAEMON=/usr/bin/camorama #mettre ici votre programme ( exempel camorama)
test -x $DAEMON || exit 0
case "$1" in
start)
#ici on écrit le machin pour démarrer le programme genre
/usr/bin/camorama
;;
stop)
killall camorama #ou rien
;;
force-reload|restart)
$0 stop
$0 start
;;
*)
echo "Usage: /etc/init.d/atd {start|stop|restart|force-reload|status}"
exit 1
;;
esac
exit 0
ensuite sudo chown root:root /etc/init.d/camorama && sudo chmod 755 /etc/init.d/camorama && update-rc.d /etc/init.d/camorama defaults ce qui va créer les liens dans /etc/rc?.d et voilà voir aussi le fichier /etc/init.d/skeleton qui est un squeletet pour les ficheirs de démarrage |
Bonjour,
|
Salut
dmesg|moreou dmesg |tailau cas où quant au jeu de mot bah je vais reprendre un café
|
Disons que sbin est l'endroit où on trouve les programmes système importants et /usr
pour les autorisations : un chmod 777 est indispensable pour tes tests ls -al pour voir les autorisations chmod 777 fichier chmod 777 répertoire chmod -R 777 répertoire ( et ses sous rép ) sinon : comprends bien que les programmes du démarrage sont des programmes de l'utilisateur root donc si tu as créés tes programmes ( ou copiés ) sous ton utilisateur normal ils ne peuvent pas être exécutés par root sans ajout spécial ou un changement d'utilisateur : chown root.root [fichier|rép] un petit man chmod et man chown peut être utile d'un point de vue général, si tu places un programme dans un répertoire il doit avoir les mêmes droits que les autres programes du répertorie ça garde la logique et permet d'éviter les erreurs par exempel dans /usr/sbin : ls -al $(find /usr/sbin/ -type f) tous les fichiers sont -rwxr-xr-x 1 root root soit chown root.root et chmod 755 ( r=4,w=2,x=1) sauf quelques uns qui sont -rwsr-xr-x 1 root root soit chown root.root et chmod 4755 ( r=4,w=2,x=1) le s signifie que le programme est excutable x ( sinon on aurait S ) et qu'il est toujours exécuté comme si c'était le propriétaire du programme qui le lancait |

