Procuste
Posts: 3
Joined: Sat Sep 05, 2015 8:04 pm

Execution commande au démarrage de Raspbian.

Sat Sep 05, 2015 8:16 pm

Salut à tous !

J'aimerai vous demander un petit conseil, j'ai un petit programme python.

Je voudrais que ce programme s'exécute automatiquement au démarrage du RasPi.

J'ai recherché sur Internet, certains disent d'ajouter la ligne de commande que l'on veut exécuter ici : /etc/rc.local .

J'ai essayé ( en ajoutant la ligne python essai.py ) et malheureusement je n'en n'ai pas la permission...

Je suis donc allé ici : /etc/init.d et j'ai essayé de m'accorder la permission de pouvoir changer le contenu du shell "rc.local"... Mais il me dit que l'opération n'est pas permise... Peut-être qu'il faudrait modifier la permission de "init.d" ? Mais comme je n'ai pas forcément envie de faire de conneries... Je préfère vous demander des conseils avant ;)

J'espère que certains d'entre vous auront la réponse. Merci de m'avoir lu, a bientôt :)

danjperron
Posts: 3522
Joined: Thu Dec 27, 2012 4:05 am
Location: Québec, Canada

Re: Execution commande au démarrage de Raspbian.

Sat Sep 05, 2015 10:25 pm

La commande exécuter par /etc/rc.local est fait par le root.

Donc il faut absolument spécifier tout les chemins.


Si le script est sur /home/pi alors il faut l'ajouter


/user/bin/python /home/pi/essaie.py


Il est possible de l'ajouter dans le crontab avec @reboot

ex:

Code: Select all

crontab -e
@reboot python essaie.py
Si tu l'ajoutes sans le sudo, il sera exécuter par le nom de l'usagé utiliser par crontab -e. Avec sudo avant, "sudo crontab -e", ce sera le root.
P.S. le répertoire sera celui de l'usagé par défaut. Donc pi c'est /home/pi et root c'est /root

Procuste
Posts: 3
Joined: Sat Sep 05, 2015 8:04 pm

Re: Execution commande au démarrage de Raspbian.

Sun Sep 06, 2015 8:11 am

Ok, merci ;)
Mais le problème, c'est que je n'ai pas la permission d'écrire dans le rc.local...

danjperron
Posts: 3522
Joined: Thu Dec 27, 2012 4:05 am
Location: Québec, Canada

Re: Execution commande au démarrage de Raspbian.

Sun Sep 06, 2015 11:44 am

sudo nano /etc/rc.local


et laisse le fichier en root. C'est une question de protection.

Utilise crontab!

Procuste
Posts: 3
Joined: Sat Sep 05, 2015 8:04 pm

Re: Execution commande au démarrage de Raspbian.

Sun Sep 06, 2015 1:44 pm

Super merci ;)
J'avais oublié le "sudo" avant le nano donc c'est normal que je n'avais pas l'autorisation ^^
Encore merci pour l'aide ;)

tetard_canadien
Posts: 8
Joined: Thu Feb 18, 2016 3:43 pm

Re: Execution commande au démarrage de Raspbian.

Thu Feb 18, 2016 3:56 pm

bonjour

je suis probablement moins doué je n'y arrive pas, j'ai modifié le programme de cette façon

#!/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.

# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
printf "My IP address is %s\n" "$_IP"
fi

sudo p0f -o /home/pi/Documents/pof.log
sudo /home/pi/Dcocuments/scan.py

exit 0

la première ligne devrais me lance p0f (qui fonctionne en ligne de commande dans un terminal)
la deuxième mon script, celui ci contient une création d'un fichier texte. fichier non crée en demarage automatique mais présent en lancement manuel

je me serais trompé ou ?

d'avance merci

danjperron
Posts: 3522
Joined: Thu Dec 27, 2012 4:05 am
Location: Québec, Canada

Re: Execution commande au démarrage de Raspbian.

Thu Feb 18, 2016 7:55 pm

La location de p0f ?

il faut ajouter le chemin complet!

p0f est-ce un script bash? Ajoute une extension .sh ou .bash de cette façon il sera plus facile de distinguer que c'est un script.

totoharibo
Posts: 4474
Joined: Thu Jan 24, 2013 8:43 am

Re: Execution commande au démarrage de Raspbian.

Thu Feb 18, 2016 7:57 pm

danjperron wrote:La location de p0f ?

il faut ajouter le chemin complet!

p0f est-ce un script bash? Ajoute une extension .sh ou .bash de cette façon il sera plus facile de distinguer que c'est un script.
sans oublier le & à la fin de la commande si ton programme est "éternel".

danjperron
Posts: 3522
Joined: Thu Dec 27, 2012 4:05 am
Location: Québec, Canada

Re: Execution commande au démarrage de Raspbian.

Thu Feb 18, 2016 8:27 pm

sans oublier le & à la fin de la commande si ton programme est "éternel".
Très important si tes scripts restent en fonction.

Il faut aussi s'assurer que les scripts ne donnent pas d'erreur puisque rc.local stop à la première erreur et ne continue pas.

tetard_canadien
Posts: 8
Joined: Thu Feb 18, 2016 3:43 pm

Re: Execution commande au démarrage de Raspbian.

Thu Feb 18, 2016 9:22 pm

Merci pour ces retours

p0f, je n'ai pas regardé son noyau, je vais vérifier mais je pense à du bash. par contre ce que j'ai installé est p0f.py. je vais tenter les deux extensions

plus d'infos sur le site : http://lcamtuf.coredump.cx/p0f3/

celui ci peut tourner en permanence, je vais donc ajouter &,

la deuxième ligne est mon script principal. ce script est un projet scolaire ou je sois créer un scanner réseau autonome sur un raspberry. il ne me reste que les deux scripts à lancer de manière automatique à la mise sous tension et j'ai fini

si je ne met que le deuxième script, ou je crée un fichier texte, il n'apparait pas. puis je retrouver dans les fichiers logs si une erreur est intervenue au démarrage de rc.local ? pour info linux, python, scapy et autres n'étaient que des inconnus avant la rentrée d'octobre

franck

danjperron
Posts: 3522
Joined: Thu Dec 27, 2012 4:05 am
Location: Québec, Canada

Re: Execution commande au démarrage de Raspbian.

Thu Feb 18, 2016 9:55 pm

si p0f est unscript python il faut le chemin complet, la terminaison .py et le rendre exécutable. pour cela il faut
chmod +x p0f.py

et que la première ligne soit quelque chose comme

#!/usr/bin/python

et n'oublie pas le & sinon le reste du crontab ne se fera pas

tetard_canadien
Posts: 8
Joined: Thu Feb 18, 2016 3:43 pm

Re: Execution commande au démarrage de Raspbian.

Fri Feb 19, 2016 6:55 pm

Bon un grand merci a vous

ça fonctionne, le souci provenait d'un . manquant devant le /home....

la bonne syntaxe :
sudo ./home/pi/Dcocuments/scan.py

dernière question concernant le module p0f

sur rasbpian la version est la 2.08 (debian raspbian)
sur kali la version est la 3.08 (debian jessie)

est ce possible en changeant provisoirement le lien de mise à jour dans "sources.list" situé sous /etc/apt/ ? de pourvoir monter la version de kali ?

un apt-get update et un apt-get install ne me propose que celle en place pour mon raspberry

danjperron
Posts: 3522
Joined: Thu Dec 27, 2012 4:05 am
Location: Québec, Canada

Re: Execution commande au démarrage de Raspbian.

Fri Feb 19, 2016 7:48 pm

/etc/ rc.local est exécuté par root donc tu n'as pas besoin de sudo!

pour le point manquant veux-tu dire qu' il fallait que tu exécute le script pour modifier l'environement.

un point suivit d'un espace avant un script est l'abréviation de source

recherche bash source.

tetard_canadien
Posts: 8
Joined: Thu Feb 18, 2016 3:43 pm

Re: Execution commande au démarrage de Raspbian.

Fri Feb 19, 2016 7:57 pm

non pas d'espace après le point
pour le lancer depuis une fenêtre terminal je tapais ./script.py j'ai repris la même syntaxe dans rc.local et ça à fonctionné

sinon concernant la possibilité de modifier le lien cible pour pouvoir installer une autre version d'un package tu tenterais ?

Return to “Français”