#1 Le 16/04/2008, à 10:51
- @r#b@se
[Résolu] Lancer un script en root automatiquement au démarrage.
Bonjour
J'essaye depuis hier soir de monter mes partitions Window$ qui sont sur ma grappe RIAD 0 (Grace au Nforce 650i SLI je crois -> fakeRAID non ? )
Enfin ceci étant, j'ai enfin réussi à les monter à force de longue et fastidieuses recherches (Il faudrait vraiment faire une page dans la doc sur Dmraid). Donc je les monte avec la commande :
sudo mount /dev/mapper/nvidia_hihbajie1 /media/Vista
... (pour les autres partitions)
Je me suis dit, c'est bien ça mais ce serais mieux si c'était automatique !
J'ai donc écrit un petit script :
#!/bin/bash
#RAID | Petit script permettant d'activer et de monter les partitions RAID
echo "Activer le RAID"
sudo dmraid -ay
echo "Activer dmraid... OK"
sudo mount /dev/mapper/nvidia_hihbajie3 /media/Programmes
echo "Monter /dev/mapper/nvidia_hihbajie3 dans /media/Programmes... OK"
sudo mount /dev/mapper/nvidia_hihbajie1 /media/Vista
echo "Monter /dev/mapper/nvidia_hihbajie1 /media/Vista... OK"
echo "RAID Activé et monté !"
exit 0
Et je l'ai rajouté dans Système/préférences/sessions. Or cela ne foinctionne pas. Je suppose que c'est que le script contient "sudo" ce qui implique que l'on rentre le mot de passe : impossible dans ce cas là : pas de terminal !
Alors comment faire pour le lancer automatiquement ?
Merci
Dernière modification par @r#b@se (Le 16/04/2008, à 12:06)
Hors ligne
#2 Le 16/04/2008, à 11:09
- MulX
Re : [Résolu] Lancer un script en root automatiquement au démarrage.
Mettre le fichier /etc/rc.local (sans les sudo) ?
Enfin faire l'appel du fichier.
Il faudrait peut être vérifier la sorti de la commande mount (Histoire de ne pas marquer OK quand ça ne l'est pas)
Tchous, MulX. -- PlayOnLinux :) -- Gopherspace ! -- 6 * 9 = 42 (si si) -- Humph? -- Follow me!
Hors ligne
#3 Le 16/04/2008, à 11:20
- @r#b@se
Re : [Résolu] Lancer un script en root automatiquement au démarrage.
Merci beacoup MulX !
J'ai besoin de quelques petites précisions :
Pour le moment mon "rc.local" ressemble à ça :
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
exit 0
Donc je le change en ça :
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
#RAID | Petit script permettant d'activer et de monter les partitions RAID
echo "Activer le RAID"
sudo dmraid -ay
echo "Activer dmraid... OK"
sudo mount /dev/mapper/nvidia_hihbajie3 /media/Programmes
echo "Monter /dev/mapper/nvidia_hihbajie3 dans /media/Programmes... OK"
sudo mount /dev/mapper/nvidia_hihbajie1 /media/Vista
echo "Monter /dev/mapper/nvidia_hihbajie1 /media/Vista... OK"
echo "RAID Activé et monté !"
#FIN DE RAID
exit 0
C'est ça ?
De plus, comment faire "l'appel du fichier" ? Je pense que c'est cette ligne mais je ne la comprend pas vraiment
In order to enable or disable this script just change the execution
bits.
Et enfin, comment vérifier la sortie de la commande ? (En fait j'ai mit "OK" à chaque fois parce que je me suis dit, si ça plante avant je verrai où.)
Hors ligne
#4 Le 16/04/2008, à 11:28
- MulX
Re : [Résolu] Lancer un script en root automatiquement au démarrage.
Non enfaite ce que je disais c'était de mettre dans rc.local une ligne de la sorte avant le exit 0 :
bash /machin/monscript.sh
Est mettre dans monscript.sh les commandes du raid
Pour le code d'erreur je te dis ça ce soir parce que je dois partir la
Pense a chmoder ton rc.local (+x)
Tchous, MulX. -- PlayOnLinux :) -- Gopherspace ! -- 6 * 9 = 42 (si si) -- Humph? -- Follow me!
Hors ligne
#5 Le 16/04/2008, à 11:43
- Gari
Re : [Résolu] Lancer un script en root automatiquement au démarrage.
hum tu peux aussi le mettre directement en lien dans ton runlevel (je suppose que c'est deux, d'où le 'rc2.d').
sudo chown root:root /LA/OU/EST/TONSCRIPT
sudo ln -s /LA/OU/EST/TONSCRIPT /etc/rc2.d/S99TONSCRIPT
Dans ce cas, il sera lancé automatique au démarrage de la session. J'ai donné le fichier à root, mais ce n'est peut-être pas nécessaire.
Hors ligne
#6 Le 16/04/2008, à 11:47
- @r#b@se
Re : [Résolu] Lancer un script en root automatiquement au démarrage.
Je vais tester ça, mais si on donne le fichier à root par le chown, alors les sudo deviennent inutiles ? Je vais tester tout ça et je vous raconte
Edit :
Alors j'ai testé les deux méthodes :
Méthode Gari
sudo chown root:root ~/.scripts/raid
sudo ln -s ~/.scripts/raid /etc/rc2.d/S99RAID
Redémarre...
Rien Bon on essaye la Méthode MulX
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
bash /home/arobase/.scripts/raid
exit 0
#!/bin/sh -e
#RAID | Petit script permettant d'activer et de monter les partitions RAID
echo "Activer le RAID"
dmraid -ay
echo "Activer dmraid... OK"
mount /dev/mapper/nvidia_hihbajie3 /media/Programmes
echo "Monter /dev/mapper/nvidia_hihbajie3 dans /media/Programmes... OK"
mount /dev/mapper/nvidia_hihbajie1 /media/Vista
echo "Monter /dev/mapper/nvidia_hihbajie1 /media/Vista... OK"
echo "RAID Activé et monté !"
#FIN DE RAID
exit 0
Redémarre...
Ça marche oué !!
Merci à vous deux ! *Coche le raid dans la liste des choses à faire*
Prochaine étape, les listes de lecture de mpd >_<
Dernière modification par @r#b@se (Le 16/04/2008, à 12:06)
Hors ligne
#7 Le 16/04/2008, à 15:05
- Gari
Re : [Résolu] Lancer un script en root automatiquement au démarrage.
J'avoue, je pige pas pourquoi ça marche pas ma méthode <frustration intense>. Bon je vais essayer chez moi ce soir (hééé ouais, windows powaaa au boulot :s).
Cela dit, la méthode MulX me paraît être la meilleure en définitive (plus "élégante").
Hors ligne
#8 Le 16/04/2008, à 19:10
- MulX
Re : [Résolu] Lancer un script en root automatiquement au démarrage.
Bon cool que ma méthode marche
/me se félicite
Sinon pour ne pas afficher a chaque fois OK quand ça n'est pas OK, tu utilise ce code :
#!/bin/bash
status=0
function ok_ko
{
if [ "$1" == "0" ] ; then
echo "[ OK ]"
else
echo "[ KO ]"
status=1
fi
}
#RAID | Petit script permettant d'activer et de monter les partitions RAID
echo -n "Activer le RAID ... "
dmraid -ay
ok_ko $?
echo -n "Monter /dev/mapper/nvidia_hihbajie3 dans /media/Programmes..."
mount /dev/mapper/nvidia_hihbajie3 /media/Programmes
ok_ko $?
echo -n "Monter /dev/mapper/nvidia_hihbajie1 /media/Vista... "
mount /dev/mapper/nvidia_hihbajie1 /media/Vista
ok_ko $?
if [ "$status" == "0" ] ; then
echo "RAID Activé et monté :-) "
exit 0
else
echo "Echec du RAID :-( "
exit 1
fi
#FIN DE RAID
Note qu'il est possible si on veut de faire changer le code d'erreur en fonction de la commande qui a échoué, le tout est de savoir si c'est utile ...
Dernière modification par MulX (Le 16/04/2008, à 19:12)
Tchous, MulX. -- PlayOnLinux :) -- Gopherspace ! -- 6 * 9 = 42 (si si) -- Humph? -- Follow me!
Hors ligne
#9 Le 17/04/2008, à 00:03
- @r#b@se
Re : [Résolu] Lancer un script en root automatiquement au démarrage.
Puissant ! Je pensais pas que l'on pouvais faire tout ça avec du bash, ça me rapelle un peu le PHP ou le TI-Basic
Merci beaucoup en tout cas
Hors ligne