FR_FAH_Install_Version="6.3" # Il s'agit du script d'installation de FAH ("Folding At Home"). # Pour en savoir plus sur FAH, allez voir http://folding.stanford.edu. # # Pour executer ce script, Vous devez telecharger finstall & finstall.fr et # utiliser la commande 'chmod +x finstall finstall.fr; ./finstall.fr' ou si # le shell par defaut n'est pas Bash, utiliser # 'chmod +x finstall finstall.fr; bash -c "./finstall.fr"'. # # Lire ./finstall pour savoir de quoi il s'agit. # # Cree par Ivo Sarak. Traduit par Nicolas Vervelle. # Envoyez Vos commentaires, aide et suggestions a ivo at vendomar.ee. # echo_no_finstall(){ cat << EOF Il n'y a pas de script 'finstall' dans le repertoire '$PWD'. EOF } echo_too_old_finstall(){ cat << EOF 'finstall' est pre1.2! EOF } echo_finstall_is_not_suitable(){ cat << EOF 'finstall' et '$1' ne sont pas compatibles. EOF } Arguments=$@ if [ -r $PWD/finstall ]; then #Import 'finstall': . $PWD/finstall DoNothing >/dev/null else echo_no_finstall exit 1 fi #Messages a afficher au demarrage de l'installeur: FAH_Install_Greetings(){ cat << EOF Il s'agit du script d'installation de FAH ("Folding At Home") (ver. $FAH_Install_Version). Pour en savoir plus sur FAH, allez sur http://folding.stanford.edu. EOF } echo_warning_no_cpus(){ cat << EOF !ATTENTION! Il n'y a pas de fichier /proc/cpuinfo ou d'utilitaire sysctl! Impossible de determiner le nombre de CPU, on considere que 'CPU_COUNT=1'. EOF } echo_warning_no_bash_shell_found(){ cat << EOF !ATTENTION! Pas de shell Bash de trouve! On utilise l'emplacement par defaut de 'bash'. EOF } echo_warning_no_wget_or_curl(){ cat << EOF !ATTENTION! Pas de wget ou de curl! Impossible de telecharger le client FAH ou un autre fichier, on force 'nofetch'. EOF } echo_warning_no_md5(){ cat << EOF !ATTENTION! Pas de md5sum/md5! Impossible de verifier le MD5SUM du client FAH, on force 'nomd5'. EOF } echo_warning_no_screen_utility(){ cat << EOF !ATTENTION! Pas de screen! Vous ne pouvez pas utiliser l'utilitaire 'screen', on force 'noscreen'. EOF } echo_check_tools_begin(){ cat << EOF Test de la disponibilite des utilitaires externes... EOF } echo_check_tools_end(){ cat << EOF ...fini. Utilisation des flags: EOF } echo_creating(){ cat << EOF Creation de $1... EOF } echo_created(){ cat << EOF ...$1 cree. EOF } Show_WineNotes(){ cat << EOF ------------------------------------- Wine ------------------------------------ *Pour utiliser le client FAH console Win32, Wine doit etre installe. *Vous risquez d'avoir beaucoup de messages d'erreur de polices en demarrant le client FAH Win32 sous Wine, mais il devrait finir par demarrer correctement. *Vous aurez peut-etre besoin de changer la configuration de WINE en fonction de la facon dont vous comptez lancer FAH: 1. En tant que service au demarrage - Vous devez avoir "GraphicsDriver" = "ttydrv" dans [main] dans le fichier ~/.wine/config. Avec cette modification Vous allez rendre toutes les autres applications WINE inutiles a moins qu'elles soient aussi des application console comme FAH. 2. L'utiliser en tant qu'application normale sous X11 - Vous devez avoir "GraphicsDriver" = "x11drv" ou Vous ne pourrez pas configurer FAH. Si vous voulez que FAH sous WINE (X11 ou console/service) et que d'autres applications WINE marchent - creez un compte utilisateur dedie pour FAH et faites toutes les modifications necessaires de la configuration de WINE en fonction de la facon dont Vous le lancer. *Il n'est pas recommande d'ecraser les fichiers du client Linux FAH avec la version Win32, car des differences dans les formats de fichiers entraineront probablement une perte des WUs en cours/non envoyees. EOF } Show_OpenBSDNotes(){ cat << EOF ----------------------------------- OpenBSD ----------------------------------- *Le client FAH Linux et d'autres utilitaires FAH sous OpenBSD necessiteront l'installation et le fonctionnement de l'emulation Linux: 1. Installez /usr/ports/emulators/redhat/base depuis la collection de ports 3.8, or obtenez le package redhat_base-8.0p5 depuis le site FTP OpenBSD (ou un mirroir). 2. Assurez vous que de l'emulation Linux est activee dans le noyau: sysctl -w kernel.emul.linux=1 echo 'sysctl -w kernel.emul.linux=1 # Enable running Linux binaries' >> /etc/sysctl.conf EOF } Show_FreeBSDNotes(){ cat << EOF ----------------------------------- FreeBSD ----------------------------------- *Le client FAH Linux et d'autres utilitaires FAH sous FreeBSD necessiteront l'installation et le fonctionnement de l'emulation Linux: http://www.stanford.edu/group/pandegroup/folding/faq.html#run.FreeBSD EOF } Show_WineAttention(){ cat << EOF !!!ATTENTION!!! Exceptions WINE: 1. Meme si Wine est entierement operationnel, le client FAH peut Vous donner beaucoup de messages d'erreur de polices de caracteres. 2. Si Wine ne marche pas, essayez de corriger ce probleme ou utilisez le client FAH Linux natif. 3. Quand vous lancez le Client FAH Win32 sous Wine, pensez que chaque client FAH DOIT avoir un MachineID unique de configure - l'utilisation de "setid" est recommende. 4. Si Vous avez une erreur 'x11drv: Can't open display:', alors Vous devez changer la configuration WINE: Dans la section [wine] de ~/.wine/config, remplacez "GraphicsDriver" = "x11drv" par "GraphicsDriver" = "ttydrv". Attention: L'utilisation de "GraphicsDriver" a "ttydrv" sous X11 desactivera le support du clavier et donc Vous ne pourrez pas configurer le client. Vous devez utiliser "x11drv" pour configurer le client FAH sous X11. EOF } WineNote(){ cat << EOF Note specifique a WINE: Si vous voulez utiliser le client FAH Win32 sous Wine en tant que service systeme ou pas sous X11, Vous pouvez avoir besoin de changer ~/.wine/config. Wine demandera X11, mais generalement il n'y en a pas pendant le demarrage du systeme. Une correction simple a ceci ('x11drv: Can't open display:') se trouve a http://forum.folding-community.org/viewtopic.php?p=43609#43609: Dans la section [wine] de ~/.wine/config, remplacez "GraphicsDriver" = "x11drv" par "GraphicsDriver" = "ttydrv" et c'est parti... Attention: L'utilisation de "GraphicsDriver" a "ttydrv" sous X11 desactivera le support du clavier et Vous ne pourrez donc pas configurer le client. Vous devrez utiliser "x11drv" pour la configuration du client sous X11 - "ttydrv" fonctionnera suffisament sous X11 pour lancer le client, mais pas pour le configurer. EOF } MacOSXNote(){ cat << EOF Note specifique a MaxOSX: Si Vous voulez utiliser le Client FAH MaxOSX en tant que service systeme, il est possible d'utiliser "crontab" comme decrit precedemment ou de positionner les StartupItems "fah" en creant le repertoire /Library/StartupItems/fah et en copiant $Fdir/fah et $Fdir/StartupParameters.plist dans ce repertoire. EOF } Show_SambaNotes(){ cat << EOF Note: Demandez a l'utilisateur root de cette machine d'executer $Fdir/finstallSamba pour configurer et ajouter $Fdir en tant que partage a /etc/samba/smb.conf. ------------------------------------ SAMBA ------------------------------------ EOF } Show_FinalNotes(){ cat << EOF Vous pouvez demarrer le(s) client(s) FAH en executant '$Fdir/folding start' ou en demarrant les scripts ./FaH directement dans les repertoires CPU. Note: Si Vous voulez configurer des flags FAH, regardez dans ./Fah et/ou lisez la documentation de finstall. Il y a plusieurs facons de lancer un(des) client(s) FAH au demarrage du systeme en tant que service: a) Vous pouvez copier $Fdir/folding dans le repertoire systeme de service (ie: /etc/init.d/ (*)) et le demarrer avec '/etc/init.d/folding start'. Aussi, Vous pouvez executer 'chkconfig --add folding' (**). (*) Votre distribution peut ne pas supporter ce type de demarrage de service ou vous pouvez avoir un de ces cas (RedHat 8.0) ou en depit de tous les efforts, FAH refuse de demarrer quand il est enregistre en tant que service. Pour contourner ce probleme, ajoutez '/etc/init.d/folding start' a /etc/rc.d/rc.local ou un autre script de demarrage que votre systeme ou distribution utilisera (Mandrake - rc.boot, SuSe - boot.local, ...) Vous pouvez aussi avoir besoin de retirer 'folding' des services executables en le desactivant (setup->System services) ou en executant 'chkconfig --del folding' si besoin. (**) Il n'y a pas de 'chkconfig' sous Debian, utilisez 'update-rc.d folding default' pour ajouter les services 'folding' et 'update-rc.d folding remove' pour supprimer les services 'folding'. Note: MacOSX n'a pas le demarrage de service "/etc/init.d", utilisez Crontab ou StartupItems pour demarrer le(s) client(s) FAH. b) Une autre facon de demarrer FAH en service est d'utiliser "crontab": http://teammacosx.homeunix.com/forum/cgi-bin/ikonboard.pl?s=630986ed363be3092a8737a56af58b87;act=ST;f=10;t=173 Howto "crontab" rapide: Lancez "crontab -e", appuyez sur "i", ajoutez "@reboot $Fdir/folding start >/dev/null" a la fin du fichier, appuyez sur la touche [Esc], entrez ":x", appuyez [Enter]. EOF if [ "$wine" = "true" ]; then echo "" WineNote echo "" fi if [ "$macosx" = "true" ]; then echo "" MacOSXNote echo "" fi cat << EOF Note: Seul l'utilisateur root peut modifier les services systeme (les utilisateurs normaux ont l'option crontab). Laissez l'utilisateur root executer $Fdir/installService pour installer FAH en tant que service au demarrage du systeme. Note1: Le(s) client(s) FAH demarrera avec les droits de $USER. Note2: Si vous essayer de demarrer le(s) client(s) FAH avec un autre utilisateur, on vous demandera le mot de passe de $USER. Cree par Ivo Sarak. Envoyez vos commentaires, aide et suggestions a ivo at vendomar dot ee. Vous pouvez avoir des informations supplementaires sur http://ra.vendomar.ee/~ivo/FAHLinux.txt ou localement: $Fdir/FAHLinux.txt Finstall sur folding-community.org: http://forum.folding-community.org/viewtopic.php?t=2283 Finstall documentation (finstall/folding FAQ): http://ra.vendomar.ee/~ivo/finstallFAQ.txt ou localement: $Fdir/finstallFAQ.txt EOF } AskForChoice(){ #Demande pour un choix de type y/n. #Input: $Message #Output: $Answer ("true"="yes" or "false"="no") local answerOK answerOK="false" while [ "$answerOK" = "false" ] do echo -n "$Message" read Answer if [ "$tr_OK" = "true" ] ; then Answer=$(echo $(echo "$Answer" | tr A-Z a-z)) #echo $Answer fi if [ "$Answer" = "oui" -o "$Answer" = "o" -o "$Answer" = "non" -o "$Answer" = "n" ]; then answerOK="true" #true=yes and false=no: if [ "$Answer" = "oui" -o "$Answer" = "o" ]; then Answer="true" else Answer="false" fi fi done } echo_FAH_DIR_is_invalid(){ cat << EOF Le nom du sous-repertoire CPU de FAH, Dir, est incorrect! Dir est positionne a '$Dir', mais le nom ne doit pas etre vide ou contenir '/'. EOF } echo_setting_up_FAH(){ cat << EOF Configuration du(des) client(s) FAH pour $1 processeur(s). EOF } echo_directory_is_present(){ cat << EOF Le repertoire $1 est present... EOF } echo_directory_is_not_present(){ cat << EOF Le repertoire $1 n'est pas present... EOF } echo_making_directory(){ cat << EOF Creation de $1... EOF } echo_can_not_make_directory(){ cat << EOF Vous n'avez pas les droits pour creer le repertoire $1. Modifiez l'emplacement du repertoire FAH (Fdir) ou demandez a l'utilisateur root de cette machine de rendre ce repertoire disponible pour Vous. EOF } echo_installation_terminated_as_fah_is_already_running(){ cat << EOF Installation terminee car FAH tourne actuellement depuis $2 Arretez FAH et relancez $1. EOF } echo_removing_file(){ cat << EOF Suppression de $1... EOF } echo_removed(){ cat << EOF ...supprime. EOF } echo_skipping_downloading_of_FAH_client(){ cat << EOF Ignore le telechargement du client FAH. EOF } echo_downloading_FAH(){ cat << EOF Telechargement du client FAH ($1): EOF } echo_there_is_no_wget_or_curl(){ cat << EOF Il n'y a pas de wget/curl disponibles ou ils ne peuvent pas etre utilises! EOF } echo_file_in_directory(){ cat << EOF $1 dans $2: EOF } echo_documentation(){ cat << EOF ---Documentation--- Telechargement de la FAQ finstall: EOF } echo_downloading_general_HOWTO(){ cat << EOF Telechargement du HOWTO general FAH sur Linux: EOF } echo_skipping_md5sum(){ cat << EOF Ignore la verification MD5SUM. EOF } echo_verify_md5sum(){ cat << EOF Veuillez verifier la valeur MD5SUM de $1. Note: Vous pouvez obtenir cette valeur a $2. apres le lien de telechargement $1 specifique a la plateforme dans la colonne 'MD5-sum of download'. Valeur MD5SUM du fichier telecharge $1: EOF } echo_no_md5sum_available(){ cat << EOF Il n'y a pas de md5sum/md5 disponible ou il ne peut etre utilise! EOF } echo_no_FAH_client_found(){ cat << EOF Pas de cliet FAH ($1) trouve a $2! Verifiez l'URL ($3$1), la presence de wget/curl ou telechargez manuellement $1, copiez le dans $2 et utilisez l'option 'nofetch'. EOF } echo_ask_for_3rd_party_tools(){ cat << EOF -- Utilitaires FAH 3rd party --- Des utilitaires FAH peuvent etre utilises avec le script folding: 1. 'qd' et 'fpd' de Dick Howell (http://linuxminded.xs4all.nl/?target=software-qd-tools.plc) EOF } echo_no_3rd_party_tool_can_be_fetched(){ cat << EOF *** Les utilitaires 3rd party ne peuvent pas etre recuperes! *** EOF } echo_3rd_party_tool_qd(){ cat << EOF L'utilitaire de Dick Howell pour afficher le fichier ($1): EOF } echo_3rd_party_tool_qd_data1(){ cat << EOF Les donnees pour l'utilitaire de Dick Howell pour afficher ($s1): EOF } echo_3rd_party_tool_qd_data2(){ cat << EOF Le fichier de donnees d'Electron Microscope III de Larry Perry ($1): EOF } echo_3rd_party_tool_fpd(){ cat << EOF L'affichage graphique de proteines de FAH sous Linux de Dick Howell ($1): EOF } echo_machineid_asking(){ cat << EOF FAH 4.0 verifiera la valeur de MachineID et se terminera si il trouve un autre client FAH fonctionnant avec le meme MachineID. Pour contourner ceci, Vous devez soit demarrer le(s) client(s) deux fois ou installer chaque client avec une valeur unique de MachineID. EOF } error_too_many_FAH_clients(){ cat << EOF !!!ERREUR!!!" Vous voulez installer trop de client FAH ($1)! Vous ne pouvez pas fixer la valeur de MachineID au-dessus de 8 et donc, Vous ne pouvez pas lancer plus de 8 clients FAH par utilisateur. Pour contourner ceci: 1. Si il s'agit d'une installation toute neuve de FAH - creez jusqu'a 8 sous-repertoires de foldinghome a la main et executez les clients FAH supplementaires comme indique en 2.A, 2.B; 2. Si il s'agit d'une mise a jour de FAH - reduisez le nombre de repoertoires a 8 et A. quand vous utilisez Wine et le client FAH Win32 - creez un autre utilisateur FAH pour lancer les autres clients FAH; B. quand vous utilisez le client FAH Linux - creez un autre utilisateur FAH pour lancer les autres clients FAH et executez 'rm -ifdr /tmp/fah' avant de les lancer; C. quand vous utilisez MaxOSX - je pense que 2.A marche; EOF } echo_setup_FAH_clients(){ cat << EOF Configuration du client FAH #$1: EOF } echo_file_is_present(){ cat << EOF Le fichier $1 est present... EOF } echo_removed_it(){ cat << EOF ...supprime. EOF } echo_file_is_not_present(){ cat << EOF Le fichier $1 n'est pas present. EOF } echo_making_a_file_entry(){ cat << EOF Creation de l'entree '$1'... EOF } echo_making_a_file(){ cat << EOF Creation du fichier '$1'... EOF } echo_but_no_file_found_in_directory(){ cat << EOF ...mais pas de '$1' trouve dans $2! EOF } echo_removing_client_configuration(){ cat << EOF Suppression de la configuration actuelle du client ($1/$2$3/client.cfg)... EOF } echo_done(){ cat << EOF ...fait. EOF } echo_there_is_already_config_in_directory(){ cat << EOF Il y a deja un fichier client.cfg (configuration du client) dans $1/$2$3/... EOF } echo_keeping_it(){ cat << EOF ...on le garde. EOF } echo_last_known_good_config(){ cat << EOF La dernier 'bonne' copie de client.cfg est dans le repertoire du client FAH #$1. EOF } echo_trying_to_copy_previous_config(){ cat << EOF Tentative de copie de la configuration du client precedent... EOF } echo_copying_previous_config(){ cat << EOF ...copie de $1/$2$3/client.cfg vers $1/$2$4... EOF } echo_but_nothing_found(){ cat << EOF ...mais rien de trouve! EOF } echo_skipping_running_of_FAH(){ cat << EOF On ignore le lancement du client FAH... EOF } echo_configuring_FAH_client_in_directory(){ cat << EOF Configuration du client FAH dans le repertoire $1/$2$3: EOF } echo_freebsd_attention(){ cat << EOF ATTENTION: Si l'emulation Linux n'est pas installee, vous aurez une message d'erreur: "ELF binary type "3" not known." "Abort trap ./FaH -configonly" Dans ce cas, installez l'emulation Linux et relancez ce script. EOF } echo_starting_FaH(){ cat << EOF Demarrage de './FaH -configonly 2>/dev/null': EOF } echo_no_valid_config_file_found(){ cat << EOF ***!!! PAS DE client TROUVE !!!**************************************************** Avant d'utiliser le script ./folding, Vous devez executer le client FAH et le configurer Exemple: cd $1/$2$3 ./FaH -configonly Ou relancez $4, sans l'option 'norun' ou 'auto'. *********************************************************************************** EOF } #MACOS X specific files: echo_making_macosx_files(){ cat << EOF Creation des fichiers de description de service et les scripts d'installation pour MacOSX: EOF } echo_making_openbsd_files(){ cat << EOF Creation du script d'installation de service pour OpenBSD: EOF } echo_making_gentoo_files(){ cat << EOF Creation des scripts d'installation de service pour Gentoo Linux: EOF } echo_making_linux_files(){ cat << EOF Creation des scripts d'installation de service pour Linux: EOF } echo_making_FAH_backup_script(){ cat << EOF Creation du script de sauvegarde FAH: EOF } echo_FAH_client_installation_completed(){ cat << EOF Installation du client FAH terminee! EOF } echo_samba(){ cat << EOF ------------------------------------ SAMBA ------------------------------------ EOF } echo_waiting_for_n_seconds(){ cat << EOF Attente pendant $1 secondes... EOF } echo_no_directory_access(){ cat << EOF ...mais n'est accessible en ecriture pour Vous! Changez l'emplacement du repertoire FAH (Fdir) ou demander a l'utilisateur root de rendre ce repertoire accessible pour Vous. EOF } echo_invalid_argument(){ cat << EOF Argument incorrect #$1: '$2' Usage: $3 {|DoNothing}|{nofetch|nomd5|norun|keepcfg|copycfg|no3rd|freebsd|wine|skip3rd|fcliA|fcliB|nodocs|get3rd|setid|keepid|auto|screen|noscreen|samba|macosx|linux|setcfg|openbsd|gentoo|smp}+ EOF } message_do_you_want_to_continue(){ Message="Voulez vous continuer avec l'installation (o/n)?: " } message_do_you_want_to_read_faq(){ Message="Voulez vous lire la FAQ de finstall (o/n)?: " } message_is_this_correct_md5sum_value(){ Message="Est-ce la valeur correct du MD5SUM de $Fclient (o/n)?: " } message_do_you_want_to_use_3rd_party_tools(){ Message="Voulez-vous utiliser un des utilitaires 3rd party FAH (o/n)?: " } message_do_you_want_automatic_machineid_changing(){ Message="Voulez-vous utilisez le changement automatique de MachineId (o/n)?: " } message_do_you_want_to_reconfigure(){ Message="Voulez-vous reconfigurer ce client FAH (o/n)?: " } message_do_you_want_to_use_same_config(){ Message="Voulez-vous l'utiliser pour ce client et aussi pour tous les clients non configures restants (o/n)?: " } message_do_you_want_to_reset_config(){ Message="Voulez-vous reinitialiser les configuration des autres clients FAH restants (o/n)?: " } echo_dirs_option_over_ridden(){ cat << EOF NOTE: 'dirs $DirNum' is being over-ridden since previous CPU subdirectories were found! EOF } if [ $(echo $FAH_Install_Version | wc -w) -eq 0 ] ; then echo_too_old_finstall exit 1 else if [ $FR_FAH_Install_Version = $FAH_Install_Version ]; then CheckArg $Arguments if [ $? -eq 0 ]; then if [ "$DoNothing" != "true" ]; then #Install FAH client: FAH_Install if [ $? -eq 0 ]; then #Make empty FAH "flags" file: cd $Fdir if [ -r ./fah_config ]; then #Flags are already there, do not update these: echo -n else echo 'FAH_flags=""' > ./fah_config fi fi fi fi else echo_finstall_is_not_suitable $0 exit 1 fi fi #END.