Différences
Cette page vous donne les différences entre la révision choisie et la version actuelle de la page.
boinc [Le 27/10/2019 à 14:41] minzord effacée |
— (Version actuelle) | ||
---|---|---|---|
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. 😄 | ||