Différences
Cette page vous donne les différences entre la révision choisie et la version actuelle de la page.
— |
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. 😄 | ||