NL_FAH_Install_Version="6.3" # Dit is het FAH ("Folding At Home") installatie script. # Om meer te weten te komen over FAH, ga naar http://folding.stanford.edu. # # Om dit script uit te voeren, moet je finstall & finstall.nl downloaden, en # gebruik het commando 'chmod +x finstall finstall.nl; ./finstall.nl' of indien # de standaard shell geen Bash is, gebruik 'chmod +x finstall finstall.nl; # bash -c "./finstall.nl"'. # # Lees ./finstall om meer te weten te komen waar het allemaal over gaat. # # Gebouwd door Ivo Sarak. Vertaald door Bas Couwenberg # Stuur je opmerkingen, hulp en suggesties naar iva at vendomar.ee. # # ChangeLog for finstall.nl: # # v0.3: synced with finstall v4.7 # updated OpenBSD note # # v0.2: "te weten to komen" -> "te weten te komen" # "het screen' programma" -> "het 'screen' programma" # "draait, onthou dat" -> "draait, onthoud dat" # "uniek MachienID" -> "uniek MachineID" # "gebruikt wilt maken" -> "gebruik wilt maken" # "FAH WIn32 client" -> "FAH Win32 client" # "voor X11 configureerd" -> "voor X11 configureert" # "om "contrab" te gebruiken" -> "om "crontab" te gebruiken" # "dan is met mogelijk" -> "dan is het mogelijk" # "Er zijn aantal manieren" -> "Er zijn een aantal manieren" # "uit de voeren" -> "uit te voeren" # "uitvoerd" -> "uitvoert" # "contab" -> "crontab" # "zal je om het wachtwoord van" -> "zal het wachtwoord van" # "Om did op te lossen" -> "Om dit op te lossen" # "waarde te installeren" -> "waarde installeren" # "om MachineID hoger" -> "om de MachineID hoger" # "maak to 8 CPU" -> "maak tot 8 CPU" # "In installeer in dat geval" -> "Installeer in dat geval" # "Voordat het ./folding" -> "Voordat je het ./folding" # # v0.1: initial release # echo_no_finstall(){ cat << EOF Er is geen 'finstall' script in de map '$PWD'. EOF } echo_too_old_finstall(){ cat << EOF 'finstall' is te oud, nog voor versie 1.2! EOF } echo_finstall_is_not_suitable(){ cat << EOF 'finstall' en '$1' gaan niet samen. EOF } Arguments=$@ if [ -r $PWD/finstall ]; then #Import 'finstall': . $PWD/finstall DoNothing >/dev/null else echo_no_finstall exit 1 fi #Messages to display at installer startup: FAH_Install_Greetings() { cat << EOF Dit is het FAH ("Folding At Home") installatie script (ver. $NL_FAH_Install_Version). Om meer te weten te komen over FAH, ga naar http://folding.stanford.edu. EOF } echo_warning_no_cpus(){ cat << EOF !WARNING! Geen /proc/cpuinfo bestand of sysctl programma gevonden! Ik kan het aantal CPUs niet detecteren, ik zal uitgaan van 'CPU_COUNT=1'. EOF } echo_warning_no_bash_shell_found(){ cat << EOF !WARNING! Geen Bash shell gevonden! Ik zal de standaard 'bash' locatie gebruiken. EOF } echo_warning_no_wget_or_curl(){ cat << EOF !WARNING! Geen wget of curl gevonden! Ik kan geen FAH client noch enig ander bestand downloaden, ik zal 'nofetch' forceren. EOF } echo_warning_no_md5(){ cat << EOF !WAARSCHUWING! Geen md5sum of md5 gevonden! Ik kan de MD5SUM van de FAH client niet verifieren, ik zal 'nomd5' forceren. EOF } echo_warning_no_screen_utility(){ cat << EOF !WAARSCHUWING! Geen screen gevonden! Je kan geen gebruik maken van het 'screen' programma, ik zal 'noscreen' forceren. EOF } echo_check_tools_begin(){ cat << EOF Bezig met het testen van de beschikbaarheid van externe programma's... EOF } echo_check_tools_end(){ cat << EOF ...voltooid. Ik zal de volgende flags gebruiken: EOF } echo_creating(){ cat << EOF Bezig met het aanmaken van $1... EOF } echo_created(){ cat << EOF ...$1 is aangemaakt. EOF } Show_WineNotes(){ cat << EOF ------------------------------------- Wine ------------------------------------ *Om de FAH Win32 console client te kunnen draaien, dient Wine geinstalleerd te zijn. *Het is mogelijk dat je een hoop font foutmeldingen krijgt wanneer je de FAH Win32 client start onder Wine, maar uiteindelijk zal het prima starten. *Het is mogelijk dat het nodig is om de WINE configuratie aan te passen, afhankelijk van hoe je FAH wilt gaan gebruiken: 1. Gebruiken als service tijdens opstarten - Je moet "GraphicsDriver" = "ttydrv" instellen onder [main] in ~/.wine/config. Met deze verandering zullen alle andere WINE applicaties niet meer draaien tenzij deze applicaties ook console gebaseerd zijn net als FAH. 2. Gebruiken als een normaal programma onder X11 - Je moet "GraphicsDriver" = "x11drv" instellen anders is het niet mogelijk om FAH te configureren. Indien je FAH onder WINE (X11 of consolse/service gebaseerd) wilt draaien en je ook nog andere WINE programma's wilt gebruiken - je hoeft slechts een gebruikers account toegewijd aan FAH te maken en alle benodigde aanpassingen in de WINE configuratie te maken die nodig zijn voor de manier waarop jij het wilt draaien. *Het is niet aan te raden om de FAH Linux client bestanden te overschrijven met de Win32 versie van die bestanden, omdat de verschillen tussen de bestandsfor- maten er hoogst waarschijnlijk voor zullen zorgen dat alle onafgemaakte en/of onverzonden WUs verloren zullen gaan. EOF } Show_OpenBSDNotes(){ cat << EOF ----------------------------------- OpenBSD ----------------------------------- *FAH Linux client en andere 3rd-party FAH programma's op OpenBSD vereisen een geinstalleerde en werkende Linux emulatie. 1. Installeer /usr/ports/emulators/redhat/base vanuit de 3.8 ports collectie, of download het redhat_base-8.0p5 pakket van de OpenBSD FTP site (of een mirror). 2. Verifieer dat Linux emulatie is geactiveerd is in de kernel: 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 ----------------------------------- *FAH Linux client en andere 3rd-party FAH programma's op FreeBSD vereisen een geinstalleerde en werkende Linux emulatie: http://www.stanford.edu/group/pandegroup/folding/faq.html#run.FreeBSD EOF } Show_WineAttention(){ cat << EOF !!!ATTENTIE!!!" WINE uitzonderingen: 1. Zelfs als Wine volledig operationeel is, is het mogelijk dat de FAH client een hoop font fout meldingen zal geven. 2. Als Wine niet wil draaien, probeer het op te lossen of gebruik de normale FAH client voor Linux. 3. Wanneer je de FAH Win32 client onder Wine draait, onthoud dat elke FAH client een uniek MachineID MOET hebben in de configuratie - het gebruik van "setid" is aangeraden. 4. Wanneer je de foutmelding 'x11drv: Can't open display:' krijgt, dan moet je de WINE configuratie aanpassen: Onder de [wine] sectie van ~/.wine/config verander "GraphicsDriver" = "x11drv" naar "GraphicsDriver" = "ttydrv". Attentie: Het gebruik van "GraphicsDriver" ingesteld op "ttydrv" onder X11 zal toetsenbord ondersteuning uitschakelen, wat configureren van de client onmogelijk maakt. Je moet "x11drv" gebruiken wanneer je de FAH client voor X11 configureert. EOF } WineNote(){ cat << EOF WINE specifieke aantekening: Als je de FAH Win32 client onder Wine wilt gebruiken als systeem service of als je geen gebruik wilt maken van X11, dan is het mogelijk dat nodig is om ~/.wine/config aan te passen. Wine zal vragen om dit op te lossen ('x11drv: Can't open display:') uit http://forum.folding-community.org/viewtopic.php?p=43609#43609: Onder de [wine] sectie in ~/.wine/config verander "GraphicsDriver" = "x11drv" naar "GraphicsDriver" = "ttydrv" en klaar ben je... Attentie: Het gebruik van "GraphicsDriver" ingesteld op "ttydrv" onder X11 zal toetsenbord ondersteuning uitschakelen, wat configureren van de client onmogelijk maakt. Je moet "x11drv" gebruiken wanneer je de FAH client voor X11 configureerd - "ttydrv" zal voldoende werken om de client te draaien, maar niet genoeg om het te configureren. EOF } MacOSXNote(){ cat << EOF MacOSX specifieke aantekening: Als je de FAH MacOSX Client als systeem service wilt gebruiken, dan is het mogelijk om "crontab" te gebruiken zoals eerder beschreven of configureer de "fah" StartUpItems door het maken van de map /Library/StartupItems/fah en door het kopieren van $Fdir/fah en $Fdir/StartupParameters.plist naar deze map. EOF } Show_SambaNotes(){ cat << EOF Aantekening: Vraag de root gebruiker van deze machine om $Fdir/finstallSamba uit te voeren ter configuratie en voeg $Fdir toe als share aan /etc/samba/smb.conf. ------------------------------------ SAMBA ------------------------------------ EOF } Show_FinalNotes(){ cat << EOF Je kan de FAH client(s) starten door het uitvoeren van '$Fdir/folding start' of start de ./FaH scripts direct in de CPU mappen. Aantekening: Als je enkele FAH flags zou willen instellen, neem een kijkje in ./FaH en/of lees de finstall documentatie. Er zijn een aantal manieren om de FAH client(s) uit te voeren als service tijdens het opstarten van het systeem: a) Je zal $Fdir/folding naar jouw systeem service map (ie /etc/init.d/ (*)) moeten kopieren en het dan starten met '/etc/init.d/folding start'. Mogelijk is het ook nodig dat je 'chkconfig --add folding' (**) uitvoert. (*) De door jou gebruikte distributie ondersteunt deze manier voor het starten van services niet of mogelijk heb je een van die gevallen (RedHat 8.0) waar ondanks alle pogingen, FAH weigert om te starten als het geregistreerd is om als service uitgevoerd te worden. Om dit geval op te lossen, voeg '/etc/init.d/folding start' toe aan /etc/rc.d/rc.local of aan een ander opstart script wat door jou distributie wordt gebruikt (Mandrake - rc.boot, SuSe - boot.local, ...) Het is mogelijk ook nodig om 'folding' te verwijderen van de draaibare services door het uit te schakelen (setup->System services) of door 'chkconfig --del folding' uit te voeren indien nodig. (**) Er is geen 'chkconfig' in Debian, gebruik 'update-rc.d folding defaults' om de 'folding' services toe te voegen en 'update-rc.d folding remove' om 'folding' services te verwijderen. Aantekening: MacOSX heeft geen "/etc/init.d" service opstart methode, gebruik Crontab of StartupItems om de FAH client(s) te starten. b) Een andere manier om FAH als service te starten is door "crontab" te gebruiken: http://teammacosx.homeunix.com/forum/cgi-bin/ikonboard.pl?s=630986ed363be3092a8737a56af58b87;act=ST;f=10;t=173 Korte "crontab" howto: Voer "crontab -e" uit, druk op "i", voeg "@reboot $Fdir/folding start >/dev/null" toe aan het einde van het bestand, druk op de [Esc] toets, typ: ":x" en druk op [Enter]. EOF if [ "$wine" = "true" ]; then echo "" WineNote echo "" fi if [ "$macosx" = "true" ]; then echo "" MacOSXNote echo "" fi cat << EOF Aantekening: Alleen de root gebruiker kan systeem services aanpassen (normale gebruikers hebben de crontab optie). Laat de root gebruiker $Fdir/installService uitvoeren om FAH te installeren als service tijdens het opstarten van het systeem. Aantekening1: FAH client(s) worden gestart met de rechten van de gebruiker $USER. Aantekening2: Als je probeert om de FAH client(s) te starten als een andere gebruiker, zal het wachtwoord van gebruiker $USER gevraagd worden. Gebouwd door Ivo Sarak. Stuur je opmerkingen, hulp en suggesties naar iva at vendomar.ee. Je kan wat extra informatie vinden op http://ra.vendomar.ee/~ivo/FAHLinux.txt of lokaal: $Fdir/FAHLinux.txt Finstall op folding-community.org: http://forum.folding-community.org/viewtopic.php?t=2283 Finstall documentatie (finstall/folding FAQ): http://ra.vendomar.ee/~ivo/finstallFAQ.txt of lokaal: $Fdir/finstallFAQ.txt EOF } AskForChoice(){ #Ask for y/n type choice. #Input: $Message #Output: $Answer ("true"="ja" or "false"="nee") 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" = "ja" -o "$Answer" = "j" -o "$Answer" = "nee" -o "$Answer" = "n" ]; then answerOK="true" #true=yes and false=no: if [ "$Answer" = "ja" -o "$Answer" = "j" ]; then Answer="true" else Answer="false" fi fi done } echo_FAH_DIR_is_invalid(){ cat << EOF FAH CPU subdirectory name Dir is invalid! Map is op '$Dir' ingesteld, maar de naam mag niet leeg zijn of een '/' bevatten. EOF } echo_setting_up_FAH(){ cat << EOF Bezig met het opzetten van de FAH client(s) voor $1 processor(en), EOF } echo_directory_is_present(){ cat << EOF De map $1 is aanwezig... EOF } echo_directory_is_not_present(){ cat << EOF De map $1 is niet aanwezig... EOF } echo_making_directory(){ cat << EOF Bezig met het maken van $1... EOF } echo_can_not_make_directory(){ cat << EOF Je hebt niet de juiste rechten voor het aanmaken van de map $1. Verander de FAH map locatie (Fdir) of overtuig de root gebruiker van deze machine ervan om deze map voor jou beschikbaar te maken. EOF } echo_installation_terminated_as_fah_is_already_running(){ cat << EOF De installatie is beeindigd omdat FAH momenteel draait vanuit $2 Sluit FAH en voer $1 opnieuw uit. EOF } echo_removing_file(){ cat << EOF Bezig met het verwijderen van $1... EOF } echo_removed(){ cat << EOF ...verwijderd. EOF } echo_skipping_downloading_of_FAH_client(){ cat << EOF Het downloaden van de FAH client wordt overgeslagen. EOF } echo_downloading_FAH(){ cat << EOF Bezig met het downloaden van de FAH client ($1): EOF } echo_there_is_no_wget_or_curl(){ cat << EOF Is is geen wget/curl beschikbaar of deze kunnen niet worden gebruikt! EOF } echo_file_in_directory(){ cat << EOF $1 in $2: EOF } echo_documentation(){ cat << EOF ---Documentatie--- Bezig met het downloaden van de finstall FAQ: EOF } echo_downloading_general_HOWTO(){ cat << EOF Bezig met het downloaden van de algemene FAH op Linux HOWTO: EOF } echo_skipping_md5sum(){ cat << EOF MD5SUM verificatie wordt overgeslagen. EOF } echo_verify_md5sum(){ cat << EOF Verifieer alstublief de MD5SUM waarde van $1. Aantekening: Je kan deze waarde vinden op $2 achter de platform specifieke $1 download link in de 'MD5-sum of download' kolom. MD5SUM waarde van de gedownloade $1: EOF } echo_no_md5sum_available(){ cat << EOF Er is geen md5sum/md5 beschikbaar of het kan worden gebruikt! EOF } echo_no_FAH_client_found(){ cat << EOF No FAH client ($1) found at $2! Geen FAH client ($1) gevonden in $2! Verifieer de URL ($3$1), wget/curl aanwezigheid of download $1 handmatig, plaats het in $2 en gebruik de 'nofetch' optie. EOF } echo_ask_for_3rd_party_tools(){ cat << EOF ---3rd party FAH programma's--- Een aantal 3rd party FAH programma's kunnen door het folding script gebruikt worden: 1. Dick Howell's 'qd' en 'fpd' (http://linuxminded.xs4all.nl/?target=software-qd-tools.plc) EOF } echo_no_3rd_party_tool_can_be_fetched(){ cat << EOF *** Geen enkele 3rd party programma kan worden opgehaald! *** EOF } echo_3rd_party_tool_qd(){ cat << EOF Dick Howell's 'Programma om de data in het bestand te dumpen' ($1): EOF } echo_3rd_party_tool_qd_data1(){ cat << EOF Dick Howell's 'Programma om de data in het bestand te dumpen' data bestand ($1): EOF } echo_3rd_party_tool_qd_data2(){ cat << EOF Larry Perry's 'Electron Microscope III' data bestand ($1): EOF } echo_3rd_party_tool_fpd(){ cat << EOF Dick Howell's 'Grafische weergave van FAH proteines voor Linux' programma ($1): EOF } echo_machineid_asking(){ cat << EOF FAH 4.00 zal de MachineID verifieren en zal zichzelf sluiten als het een andere draaiende FAH client vindt met hetzelfde MachineID. Om dit op te lossen, moet je of de client(s) twee maal starten, of elke client met een unieke MachineID waarde installeren. EOF } error_too_many_FAH_clients(){ cat << EOF !!!FOUT!!!" Je wil teveel FAH clients installeren ($1)! Het is niet mogelijk om de MachineID hoger in te stellen dan 8 en je kan ook niet meer dan 8 FAH clients per gebruiker draaien. Om dit op te lossen: 1. Indien het een verse installatie van FAH is - maak tot 8 CPU submappen van foldingathome aan met de hand en voer de aanvullende FAH client uit zoals beschreven in 2.A, 2.B; 2. Indien het een update van FAH is - perk het aantal CPU mappen in tot 8 en A. als je Wine gebruikt en de Win32 FAH client - laat een andere FAH gebruiker de andere FAH clients daaronder draaien; B. als je de normale Linux FAH client gebruikt - laat een andere FAH gebruiker de andere FAH clients daaronder draaien en voer 'rm -ifdr /tmp/fah' uit voordat je deze clients start. C. als je MacOSx gebruikt - I vermoed dat 2.A van toepassing zou moeten zijn; EOF } echo_setup_FAH_clients(){ cat << EOF Bezig met de setup van FAH client #$1: EOF } echo_file_is_present(){ cat << EOF Het bestand $1 is aanwezig... EOF } echo_removed_it(){ cat << EOF ...ik heb het verwijderd. EOF } echo_file_is_not_present(){ cat << EOF Het bestand $1 is niet aanwezig. EOF } echo_making_a_file_entry(){ cat << EOF Bezig met het maken van een '$1' vermelding... EOF } echo_making_a_file(){ cat << EOF Bezig met het maken van een '$1' bestand... EOF } echo_but_no_file_found_in_directory(){ cat << EOF ...maar geen '$1' gevonden in $2! EOF } echo_removing_client_configuration(){ cat << EOF Bezig met verwijderen van de huidige client configuratie ($1/$2$3/client.cfg)... EOF } echo_done(){ cat << EOF ...voltooid. EOF } echo_there_is_already_config_in_directory(){ cat << EOF Er is al een client.cfg (client configuratie) bestand in $1/$2$3/... EOF } echo_keeping_it(){ cat << EOF ...ik bewaar deze. EOF } echo_last_known_good_config(){ cat << EOF Laatst bekende 'goede' kopie van client.cfg is in de map van FAH client #$1. EOF } echo_trying_to_copy_previous_config(){ cat << EOF Poging tot het kopieren van de configuratie van de vorige client... EOF } echo_copying_previous_config(){ cat << EOF ...bezig met $1/$2$3/client.cfg naar $1/$2$4 te kopieren... EOF } echo_but_nothing_found(){ cat << EOF ...maar niets gevonden! EOF } echo_skipping_running_of_FAH(){ cat << EOF Het uitvoeren van de FAH client wordt overgeslagen... EOF } echo_configuring_FAH_client_in_directory(){ cat << EOF Bezig met het configureren van de FAH client in de map $1/$2$3: EOF } echo_freebsd_attention(){ cat << EOF ATTENTIE: Als de Linux emulatie niet is geinstalleerd, zal je een foutmelding krijgen: "ELF binary type "3" not known." "Abort trap ./FaH -configonly" Installeer in dat geval Linux emulatie en voer dit script opnieuw uit. EOF } echo_starting_FaH(){ cat << EOF Bezig met het starten van './FaH -configonly 2>/dev/null': EOF } echo_no_valid_config_file_found(){ cat << EOF ***!!! GEEN client.cfg GEVONDEN !!!************************************************ Voordat je het ./folding script gebruikt, moet je de FAH client uitvoeren en het configureren! Voorbeeld: cd $1/$2$3 ./FaH -configonly Of voer $4 nogmaals uit, zonder 'norun' of 'auto' optie. *********************************************************************************** EOF } #MACOS X specific files: echo_making_macosx_files(){ cat << EOF Bezig met de FAH service omschrijvings bestanden en installatie scripts voor MacOSX: EOF } echo_making_openbsd_files(){ cat << EOF Bezig met het FAH service installatie script voor OpenBSD: EOF } echo_making_gentoo_files(){ cat << EOF Bezig met de FAH service installatie scripts voor Gentoo Linux: EOF } echo_making_linux_files(){ cat << EOF Bezig met de FAH service installatie scripts voor Linux: EOF } echo_making_FAH_backup_script(){ cat << EOF Bezig met het FAH backup script te maken EOF } echo_FAH_client_installation_completed(){ cat << EOF De installatie van de FAH client is voltooid! EOF } echo_samba(){ cat << EOF ------------------------------------ SAMBA ------------------------------------ EOF } echo_waiting_for_n_seconds(){ cat << EOF Ik wacht voor $1 seconden... EOF } echo_no_directory_access(){ cat << EOF ...maar is niet schrijfbaar voor jou! Verander de map locatie van FAH (Fdir) of overtuig de root gebruiker van deze machine om deze map voor jou beschikbaar te maken EOF } echo_invalid_argument(){ cat << EOF Ongeldig argument #$1: '$2' Werking: $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="Wil je door gaan met de installatie (j/n)?: " } message_do_you_want_to_read_faq(){ Message="Wil je de finstall FAQ lezen (j/n)?: " } message_is_this_correct_md5sum_value(){ Message="Is dit de correcte MD5SUM waarde van $Fclient (j/n)?: " } message_do_you_want_to_use_3rd_party_tools(){ Message="Wil je gebruik maken van een van deze 3rd party FAH programma's (j/n)?: " } message_do_you_want_automatic_machineid_changing(){ Message="Wil je gebruik maken van automatische MachineID verandering (j/n)?: " } message_do_you_want_to_reconfigure(){ Message="Wil je deze FAH client herconfigureren (j/n)?: " } message_do_you_want_to_use_same_config(){ Message="Wil je het gebruiken voor deze client en ook voor alle overgebleven configuratieloze clients (j/n)?: " } message_do_you_want_to_reset_config(){ Message="Wil je de configuratie van de overige FAH client resetten (j/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 [ $NL_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.