Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 16/04/2008, à 10:51

@r#b@se

[Résolu] Lancer un script en root automatiquement au démarrage.

Bonjour big_smile
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 big_smile

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) smile


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 hmm

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 wink

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 tongue

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 hmm 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 smile
/me se félicite smile

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 big_smile

Merci beaucoup en tout cas smile

Hors ligne