Différences

Cette page vous donne les différences entre la révision choisie et la version actuelle de la page.

Lien vers cette vue

astuces:boinc [Le 27/10/2019 à 14:41] (Version actuelle)
minzord Déplacement dans Astuces
Ligne 1: Ligne 1:
 +======Boinc et systemd : mise en place et paramétrage de boinc avec un système Linux utilisant systemd======
 +Le logiciel ''boinc'' permet de participer à des projets de calculs partagés. Vous en apprendrez plus sur le site de [[http://www.grid-france.fr|l'équipe France]].
 +=====Création d'un utilisateur système dédié au fonctionnement de boinc=====
 +On crée un utilisateur système nommé ''boinc_user'' qui ne servira qu'à faire fonctionner le logiciel ''boinc''. Le répertoire personnel de cet utilisateur sera ''/boinc_user'' (ça ne sera pas ''/home/boinc_user'').
 +
 +
 +  useradd  --system  --home /boinc_user  --create-home  --shell /bin/false  boinc_user
 +
 +Vérifiez que le répertoire ''/boinc_user'' a bien été créé. On donne les droits d'accès 755 à ce répertoire :
 +  chmod 755 -R /boinc_user
 +
 +
 +''boinc'' sera lancé par l'utilisateur ''boinc_user'', mais ce sera l'utilisatrice ''sophie'' qui contrôlera le logiciel. Pour cela, il faut paramétrer la commande ''sudo''. On ajoute cette ligne à la fin du fichier ''/etc/sudoers'' :
 +  sophie ALL = (boinc_user) NOPASSWD: EXEC: ALL
 +Évidemment, remplacez ''sophie'' par votre utilisateur habituel. 😄
 +=====Téléchargement et installation=====
 +Le logiciel boinc est téléchargeable sur le site [[http://boinc.berkeley.edu|boinc.berkeley.edu]]. Prenez la version qui correspond à votre architecture processeur.
 +
 +Ensuite, on copie le fichier téléchargé dans le répertoire personnel ''/boinc_user'' de l'utilisateur ''boinc_user'' :
 +  sudo  -u boinc_user  cp  /home/sophie/telechargements/boinc_7.0.28_x86_64-pc-linux-gnu.sh  /boinc_user
 +
 +On se déplace dans le répertoire ''/boinc_user'' :
 +  cd /boinc_user
 +
 +On donne les droits 755 au fichier copié :
 +  sudo  -u boinc_user  chmod 755  boinc_7.0.28_x86_64-pc-linux-gnu.sh
 +
 +
 +Enfin, on installe le logiciel :
 +  sudo  -u boinc_user  ./boinc_7.0.28_x86_64-pc-linux-gnu.sh
 +
 +
 +Si le répertoire ''/boinc_user/BOINC'' est bien apparu, on peut continuer. 😊
 +=====Paramétrage de systemd=====
 +//Ici, toutes les commandes sont à lancer en tant que ''root''.//
 +
 +On crée le fichier ''/etc/systemd/system/boincsystemd.service'' qui contient :
 +  [Unit]
 +  Description=Logiciel boinc lancé par systemd
 +  
 +  [Service]
 +  WorkingDirectory=/boinc_user/BOINC
 +  User=boinc_user
 +  Nice=10
 +  IOSchedulingClass=idle
 +  ExecStart=/boinc_user/BOINC/boinc
 +  ExecStop=/boinc_user/BOINC/boinccmd --quit
 +  Type=simple
 +  
 +  [Install]
 +  WantedBy=multi-user.target
 +Voir le [[http://www.freedesktop.org/software/systemd/man|manuel]] de ''systemd'' pour la signification des différentes options.
 +
 +On va lancer notre logiciel, en s'assurant que tout va bien. Dans un premier terminal, on consulte les logs de ''systemd'' :
 +  journalctl -f
 +Dans un second terminal, on lance :
 +  systemctl start boincsystemd.service
 +Normalement, rien n’apparait après avoir entrer cette commande. Dans le premier terminal, des messages indiquant le démarrage correct de ''boinc'' devraient s'afficher 3 à 4 minutes plus tard. Lisez ces messages et vérifiez l'absence d'erreur.
 +
 +
 +Enfin, on demande à ''systemd'' de lancer automatiquement ''boinc'' à chaque démarrage de l'ordinateur :
 +  systemctl enable boincsystemd.service
 +=====(facultatif) Lancement retardé de boinc au démarrage de l'ordinateur=====
 +//Ici également, toutes les commandes sont à lancer en tant que ''root''.//
 +
 +Au démarrage de l'ordinateur, ''systemd'' permet de lancer ''boinc'' après une temporisation. Cela évite que ''boinc'' pompe trop de ressources au démarrage.
 +
 +Désactivez d'abord le lancement automatique de ''boincsystemd.service'' :
 +  systemctl disable boincsystemd.service
 +
 +Créez le fichier ''/etc/systemd/system/boincsystemd.timer'' dont le contenu est :
 +  [Timer]
 +  # Lancement 3 minutes après le démarrage de l'ordinateur.
 +  OnBootSec=3min
 +  
 +  [Install]
 +  WantedBy=multi-user.target
 +
 +et activez le lancement automatique de ''boincsystemd.timer'' :
 +  systemctl enable boincsystemd.timer
 +Dorénavant, ''systemd'' se chargera de lancer automatiquement ''boinc'' trois minutes après le démarrage de l'ordinateur.
 +=====Contrôle de boinc et ajout de projets=====
 +En ''root'', on crée le petit script ''/usr/local/bin/controle_de_boinc.sh'' qui contient :
 +  #!/bin/bash
 +  
 +  # Pour autoriser le « Boinc Manager »
 +  # de l'utilisateur boinc_user
 +  # à s'afficher dans la session graphique
 +  # de l'utilisateur sophie :
 +  xhost local:
 +  
 +  sudo -u boinc_user -H /boinc_user/BOINC/run_manager
 +
 +Toujours en ''root'', on rend ce fichier exécutable :
 +  chmod 755 /usr/local/bin/controle_de_boinc.sh
 +L'utilisatrice ''sophie'' peut maintenant contrôler ''boinc'' en lançant le script ''controle_de_boinc.sh''. Elle peut commencer de nouveaux projets, suspendre et redémarrer ''boinc'', etc.
 +
 +
 +=====Licence=====
 +Ce tutoriel est publié sous la licence [[http://www.wtfpl.net/|« Do What the Fuck You Want to Public License »]].
 +
 +[[http://www.wtfpl.net|{{ :logo_wtfpl.png | Logo « Do What the Fuck You Want to Public License »}}]]
 +
 +Vous pouvez en faire ce que vous voulez, je m'en bats joyeusement les gonades avec un presse-purée. 😄
  
 
astuces/boinc.txt · Dernière modification: Le 27/10/2019 à 14:41 par minzord     Haut de page
Recent changes RSS feed Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki Design by Chirripó