EE_FAH_Install_Version="6.3" # See on FAH ("Folding At Home") paigaldamise skript. # T2psemat infot FAH'i kohta saad kylastades http://folding.stanford.edu. # # Selle skripti k2ivitamiseks lae alla skriptid finstall ja finstall.ee ning # kasuta k2sku 'chmod +x finstall finstall.ee; ./finstall.ee' vo~i juhul # kui vaikimisi m22ratud shell ei ole Bash, siis kirjuta # 'chmod +x finstall finstall.ee; bash -c "./finstall.ee"'. # # T2psemat infot finstall'i kohta leiad ./finstall skriptist endast. # # Koostaja Ivo Sarak. T2lkinud Ivo Sarak. # Kommentaarid jms saab saata ivo at vendomar.ee. # echo_no_finstall(){ cat << EOF Ei leidnud 'finstall' skripti '$PWD' kataloogis. EOF } echo_too_old_finstall(){ cat << EOF 'finstall' on vanem kui pre1.2! EOF } echo_finstall_is_not_suitable(){ cat << EOF 'finstall' ja '$1' ei sobi kokku. EOF } Arguments=$@ if [ -r $PWD/finstall ]; then #Importida 'finstall': . $PWD/finstall DoNothing >/dev/null else echo_no_finstall exit 1 fi #Paigalduse tervitustekst: FAH_Install_Greetings() { cat << EOF See on FAH ("Folding At Home") paigaldamise skript. (ver. $EE_FAH_Install_Version). T2psemat infot FAHi kohta saad kui kylastad http://folding.stanford.edu. EOF } echo_warning_no_cpus(){ cat << EOF !HOIATUS! Ei leia faili /proc/cpuinfo ega ka sysctl utiliiti! Seega ei oska ka protsessorite arvu m22rata. Kasutan vaikev22rtusena 'CPU_COUNT=1'. EOF } echo_warning_no_bash_shell_found(){ cat << EOF !HOIATUS! Ei suuda tuvastada Bash shell'i! Vaikev22rtusena kasutan yldlevinud 'bash' asukohta. EOF } echo_warning_no_wget_or_curl(){ cat << EOF !HOIATUS! Ei leia wget'i ega curl'i! Kuna ei oska muude vahenditega faile alla laadida, siis kehtestan 'nofetch'. EOF } echo_warning_no_md5(){ cat << EOF !HOIATUS! Ei leia md5sum/md5't! Seega ei saa kontrollida MD5SUM v22rtust, kehtestan 'nomd5'. EOF } echo_warning_no_screen_utility(){ cat << EOF !HOIATUS! Ei leia screen'i! Seega ei saa Sa ka 'screen'i kasutada, kehtestan 'noscreen'. EOF } echo_check_tools_begin(){ cat << EOF Uurin vajalike utiliitide/failide olemasolu... EOF } echo_check_tools_end(){ cat << EOF ...saigi tehtud. V6tmete seisud: EOF } echo_creating(){ cat << EOF Loon faili $1... EOF } echo_created(){ cat << EOF ...fail $1 saigi loodud. EOF } Show_WineNotes(){ cat << EOF -------------------------------------- Wine ------------------------------------ *Et k2ivitada FAH Win32 konsooli klienti, peab olema Wine eelnevalt paigaldatud. *FAH Win32 klient v6ib loopida miskeid Fontide vigu, aga l6puks peaks see siiski k2ivituma. *Sa pead muutma Wine seadeid: 1. Kui soovid kasutada FAH kliente deemonina, siis kirjuta ~/.wine/config faili [main] alajaotusesse "GraphicsDriver" = "ttydrv". See muudatus lubab WINE'l k2ivitada ainult konsooli programme ning arvatavasti suurem osa teisi WINE programme enam ei k2ivitu. 2. Kui soovid kasutada FAH kliente tavalise X11 aluse programmina, siis kirjuta ~/.wine/config faili [main] alajaotusesse "GraphicsDriver" = "x11drv". Kui sa soovid kasutada ka muid WINE programme, siis tee parem uus kasutaja ning paigalda ja k2ivita FAH kliendid selle kasutaja 6igustes. *Ei ole soovitatav yle kirjutada Win32 ja Linux faile, sest nende vorming on erinev ning halvemal juhul j22d sa ilma pooleliolevatest v6i ka juba l6petatud, aga saatmata WU'dest. EOF } Show_OpenBSDNotes(){ cat << EOF ----------------------------------- OpenBSD ----------------------------------- *OpenBSD'l FAH Linux kliendi ja kolmandate osapoolte FAH utiliitide k2ivitamiseks peab olema paigaldatud Linux'i tugi (Linux emulation) 1. Paigalda 3.8 ports kollektsioonis olev /usr/ports/emulators/redhat/base v6i lae alla OpenBSD FTPst (v6i m6nest peeglist) redhat_base-8.0p5 pakk. 2. Veendu, et kerneli Linux'i toetus on lubatud: 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 ----------------------------------- *FreeBSD'l FAH Linux kliendi ja kolmandate osapoolte FAH utiliitide k2ivitamiseks peab olema paigaldatud Linux'i tugi (Linux emulation): http://www.stanford.edu/group/pandegroup/folding/faq.html#run.FreeBSD EOF } Show_WineAttention(){ cat << EOF !!!HOIATUS!!!" WINE erandid: 1. Isegi kui Wine on korralikult paigaldatud v6ib FAH klient v2ljastada vigu. 2. Kui FAH klient Wine'ga k2ivitu, siis kasuta FAH Linux klienti. 3. Erinevad FAH Win32 kliendid peavad olema erinevate MachineID v22rtusega, "setid" kasutamine on eelistatud. 4. Kui n2ed viga 'x11drv: Can't open display:', siis pead muutma WINE seadeid: ~/.wine/config faili [wine] alajaotuses muuda "GraphicsDriver" = "x11drv" "GraphicsDriver" = "ttydrv"'ks. Hoiatus: Kui "GraphicsDriver" = "ttydrv", siis FAH klienti X11 all k2ivitades ei ole sel klaviatuuri tuge ja sa ei saa seda ka seadistada (X11 all peab kasutama "x11drv"). EOF } WineNote(){ cat << EOF WINE m2rkus: Kui sa kasutad FAH Win32 klienti deemonina v6i niisama konsoolilt, siis pead ka muutma WINE seadeid ~/.wine/config failis. Wine will ask for X11, but usually there isn't any around during system startup. Lihtsaim v6te ('x11drv: Can't open display:') probleemile http://forum.folding-community.org/viewtopic.php?p=43609#43609: ~/.wine/config faili [wine] alajaotuses muuda "GraphicsDriver" = "x11drv" "GraphicsDriver" = "ttydrv"'ks. Hoiatus: Kui "GraphicsDriver" = "ttydrv", siis FAH klienti X11 all k2ivitades ei ole sel klaviatuuri tuge ja sa ei saa seda ka seadistada. Seadistuseks X11 all peab kasutama "x11drv", aga muidu k2ivitamiseks ei ole see oluline ning "ttydrv" toimib ka X11 all. EOF } MacOSXNote(){ cat << EOF MacOSX m2rkus: Kui sa tahad FAH MacOSX klienti kasutada deemonina, siis kasuta eelpool mainitud "crontab" v6tet v6i tee "fah" StartupItems luues /Library/StartupItems/fah kataloogi ning kopeerides sinna $Fdir/fah ja $Fdir/StartupParameters.plist failid. EOF } Show_SambaNotes(){ cat << EOF M2rkus: Las root kasutaja k2ivitab $Fdir/finstallSamba, et seadistada ja ka lisada $Fdir ligip22s /etc/samba/smb.conf'i. ------------------------------------ SAMBA ------------------------------------ EOF } Show_FinalNotes(){ cat << EOF FAH klientide k2ivitamiseks k2ivita '$Fdir/folding start' v6i k2ivita otse CPU alamkataloogides olevaid ./FaH skripte. M2rkus: Kui sa tahad saata FAH kliendile ka v6tmeid, siis vaata ./FaH skripti ja/v6i loe finstall dokumentatsiooni. On palju v6imalusi FAH klientide k2itamiseks deemonina: a) Kopeeri $Fdir/folding arvuti systeemsete deemonite kataloogi (N: /etc/init.d/ (*)) ja k2ivita see k2suga '/etc/init.d/folding start'. Lisaks pead ka k2ivitama 'chkconfig --add folding' (**). (*) Kui Sinu kasutatav OS ei pruugi toetada sellise deemonite k2ivitamist v6i kui deemon keeldub k2ivitumast (RedHat 8.0), siis lisa '/etc/init.d/folding start' /etc/rc.d/rc.local (Mandrake - rc.boot, SuSe - boot.local, ...) faili l6ppu ning k6rvaldada 'folding' deemon syteemsest nimistust k2ivitades 'chkconfig --del folding'. (**) Debian'is ei ole 'chkconfig' ning kasuta 'update-rc.d folding defaults' 'folding' deemoni lisamiseks ning 'update-rc.d folding remove' 'folding' deemoni eemaldamiseks. M2rkus: MacOSX ei kasuta "/etc/init.d" deemonite k2ivitamiseks, selleks kasuta Crontab'i v6i StartupItems'i. b) Yheks v6imaliseks FAH k2ivitamisel deemonina on kasutada ka "crontab"'i: http://teammacosx.homeunix.com/forum/cgi-bin/ikonboard.pl?s=630986ed363be3092a8737a56af58b87;act=ST;f=10;t=173 Lyhike "crontab" 6petus: K2ivita "crontab -e", vajuta "i", lisa faili l6ppu "@reboot $Fdir/folding start >/dev/null", vajuta [Esc] klahvi, sisesta ":x" and vajuta [Enter]. EOF if [ "$wine" = "true" ]; then echo "" WineNote echo "" fi if [ "$macosx" = "true" ]; then echo "" MacOSXNote echo "" fi cat << EOF M2rkus: Ainult root kasutaja saab muuta systeemsete deemonite k2ivitamist (tavakasutajaile on crontab). Et k2ivitada FAH kliente systeemse deemonina, las root kasutaja k2ivitab $Fdir/installService M2rkus1: FAH kliendid k2ivitatakse kasutaja $USER 6igustes. M2rkus2: Kui sa pyyad k2ivitada neid m6ne teise kasutaja alt, siis kysitakse sinult kasutaja $USER salas6na. Koostaja Ivo Sarak. Kommentaarid jms saab saata ivo at vendomar.ee. Lisateavet saab http://ra.vendomar.ee/~ivo/FAHLinux.txt v6i $Fdir/FAHLinux.txt Finstall folding-community.org'is: http://forum.folding-community.org/viewtopic.php?t=2283 Finstall dokumentatsioon (finstall/folding KKK): http://ra.vendomar.ee/~ivo/finstallFAQ.txt v6i $Fdir/finstallFAQ.txt EOF } AskForChoice(){ #Ask for y/n type choice. #Input: $Message #Output: $Answer ("true"="jah" or "false"="ei") 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" = "jah" -o "$Answer" = "j" -o "$Answer" = "ei" -o "$Answer" = "e" ]; then answerOK="true" #true=yes and false=no: if [ "$Answer" = "jah" -o "$Answer" = "j" ]; then Answer="true" else Answer="false" fi fi done } echo_FAH_DIR_is_invalid(){ cat << EOF Vigane FAH CPU alamkataloogide nimi Dir! Dir on praegu '$Dir', aga nimi ei tohi olla tyhi v6i sisaldada '/'. EOF } echo_setting_up_FAH(){ cat << EOF Paigaldan FAH kliente $1'le protsessorile. EOF } echo_directory_is_present(){ cat << EOF Kataloog $1 on olemas... EOF } echo_directory_is_not_present(){ cat << EOF Kataloogi $1 ei ole... EOF } echo_making_directory(){ cat << EOF Teen $1 kataloogi... EOF } echo_can_not_make_directory(){ cat << EOF Sul ei ole vajalikke 6igusi $1 kataloogi tegemiseks. Muuda FAH kataloogi asukohta (Fdir) v6i veena root kasutajat andma sulle kirjutamise 6igused sellele kataloogile. EOF } echo_installation_terminated_as_fah_is_already_running(){ cat << EOF Edasine FAH klientide paigaldamine katkes, sest FAH parajasti k2ib $2 kataloogis! Peata FAH klientide tegevus ning k2ivita $1 uuesti. EOF } echo_removing_file(){ cat << EOF Kustutan $1 faili... EOF } echo_removed(){ cat << EOF ...saigi kustutatud. EOF } echo_skipping_downloading_of_FAH_client(){ cat << EOF J2tan vahele FAH kliendi alla laadimise. EOF } echo_downloading_FAH(){ cat << EOF Laen alla FAH kliendi faili ($1): EOF } echo_there_is_no_wget_or_curl(){ cat << EOF Ei leia wget/curl'i v6i kui nad ka olemas on, siis ei saa neid ikkagi kasutada! EOF } echo_file_in_directory(){ cat << EOF $1 $2's: EOF } echo_documentation(){ cat << EOF ---Dokumentatsioon--- Laen alla finstall KKK: EOF } echo_downloading_general_HOWTO(){ cat << EOF Laen alla yldise FAH Linux k2itamisjuhendi: EOF } echo_skipping_md5sum(){ cat << EOF J2tan vahele MD5SUM v22rtuse kontrolli. EOF } echo_verify_md5sum(){ cat << EOF Kinnita $1 MD5SUM v22rtust. M2rkus: Selle v22rtuse leiad $2 lehel $1 faili viite taga olevas 'MD5-sum of download' veerus. Faili $1 arvutatud MD5SUM v22rtuseks sain: EOF } echo_no_md5sum_available(){ cat << EOF Ei leia md5sum/md5't v6i kui nad ka olemas on, siis ei saa neid ikkagi kasutada! EOF } echo_no_FAH_client_found(){ cat << EOF Ei leidnud FAH klienti ($1) $2 kataloogist! Kontrolli URLi ($3$1), wget/curl olemasolu v6i hoopistykis lae $1 alla k2sitsi, pane see $2 kataloogi ning kasuta 'nofetch' v6tit. EOF } echo_ask_for_3rd_party_tools(){ cat << EOF ---Kolmandate osapoolte FAH utiliidid--- folding skript oskab kasutada ka m6ningaid kolmandate osapoolte FAH utiliite: 1. Dick Howell'i 'qd' ja 'fpd' (http://linuxminded.xs4all.nl/?target=software-qd-tools.plc) EOF } echo_no_3rd_party_tool_can_be_fetched(){ cat << EOF *** Ei saa alla laadida saa yhtegi kolmanda osapoole utiliiti! *** EOF } echo_3rd_party_tool_qd(){ cat << EOF Dick Howell'i ' faili uurimise programm' ($1): EOF } echo_3rd_party_tool_qd_data1(){ cat << EOF Dick Howell'i ' faili uurimise programm' andmefail ($1): EOF } echo_3rd_party_tool_qd_data2(){ cat << EOF Larry Perry'i 'Electron Microscope III' andmefail ($1): EOF } echo_3rd_party_tool_fpd(){ cat << EOF Dick Howell'i 'Graafiline FAH proteiinide vaatamise programm Linuxile' ($1): EOF } echo_machineid_asking(){ cat << EOF FAH 4.00 kontrollib MachineID v22rtust ning ei lase end k2ivitada kui see leiab samast masinast m6ne teise FAH kliendi, millel on sama MachineID v22rtus. Lahenduseks on kas FAH kliendi kahekordne k2ivitamine v6i iga FAH kliendi MachineID v22rtuse erinevaks muutmine. EOF } error_too_many_FAH_clients(){ cat << EOF !!!VIGA!!!" Sa soovid paigaldada liiga palju FAH kliente ($1)! Kuna ei ole v6imalik muuta MachineID v22rtust suuremaks kui 8, siis ei ole ka v6imalik paigaldada rohkem kui 8 FAH klienti. Lahenduseks: 1. Kui see on esmane FAH klientide paigaldus, siis tee k2sitsi kuni 8 CPU foldingathome kataloogi alamkataloogi ning ylej22nud kliente k2ita vastavalt punktidele 2.A v6i 2.B; 2. Kui see on FAH klientide versiooniuuendus, siis v2henda CPU alamkataloogide hulka 8'ni ja A. Kui kasutad Wine't ja Win32 FAH klienti, siis tee uus FAH kasutaja ning paigalda ylej22nud FAH kliendid selle kasutaja all; B. Kui kasutad Linux FAH klienti, siis tee samuti uus FAH kasutaja ja paigalda kliendid, aga enne FAH klientide k2ivitamist k2ivita k2sk 'rm -ifdr /tmp/fah'; C. Kui kasutad MacOSX FAH klienti, siis pead arvatavasti k2ituma vastavalt punktile 2.A; EOF } echo_setup_FAH_clients(){ cat << EOF FAH kliendi number $1 paigaldamine: EOF } echo_file_is_present(){ cat << EOF Fail $1 on olemas... EOF } echo_removed_it(){ cat << EOF ...kustutasin selle. EOF } echo_file_is_not_present(){ cat << EOF Fail $1 ei ole olemas. EOF } echo_making_a_file_entry(){ cat << EOF Teen '$1' nimelise sissekande... EOF } echo_making_a_file(){ cat << EOF Teen '$1' faili... EOF } echo_but_no_file_found_in_directory(){ cat << EOF ..., aga ei ole '$1' faili $2 kataloogis! EOF } echo_removing_client_configuration(){ cat << EOF Kustutan FAH kliendi seadete faili ($1/$2$3/client.cfg)... EOF } echo_done(){ cat << EOF ...saigi valmis. EOF } echo_there_is_already_config_in_directory(){ cat << EOF $1/$2$3/ kataloogis on juba client.cfg (FAH kliendi seaded) fail... EOF } echo_keeping_it(){ cat << EOF ...j2tan alles. EOF } echo_last_known_good_config(){ cat << EOF Eelmine 'hea' client.cfg koopia on FAH kliendi #$1 kataloogis. EOF } echo_trying_to_copy_previous_config(){ cat << EOF Pyyan kopeerida eelmise kliendi seaded... EOF } echo_copying_previous_config(){ cat << EOF ...kopeerin $1/$2$3/client.cfg $1/$2$4 kataloogi... EOF } echo_but_nothing_found(){ cat << EOF ...aga ei leidnud midagi! EOF } echo_skipping_running_of_FAH(){ cat << EOF J2tan FAH kliendi k2ivitamata... EOF } echo_configuring_FAH_client_in_directory(){ cat << EOF Seadistan $1/$2$3 kataloogis olevat FAH klienti: EOF } echo_freebsd_attention(){ cat << EOF HOIATUS: Kui Linuxi tugi (Linux emulation) ei ole paigaldatud, siis saad miski sarnase vea: "ELF binary type "3" not known." "Abort trap ./FaH -configonly" Sellisel juhul paigalda Linuxi tugi ja k2ivita see skript uuesti. EOF } echo_starting_FaH(){ cat << EOF K2ivitan './FaH -configonly 2>/dev/null': EOF } echo_no_valid_config_file_found(){ cat << EOF ***!!! EI LEIDNUD client.cfg FAILI !!!********************************************* Enne ./folding skripti k2ivitamist pead Sa seadistama FAH kliendi! N2ide: cd $1/$2$3 ./FaH -configonly V6i k2ivitama $4, aga ilma 'norun' v6i 'auto' v6tmeta. *********************************************************************************** EOF } #MACOS X specific files: echo_making_macosx_files(){ cat << EOF Teen MacOSX FAH deemoni kirjelduse ning paigaldamise skripte: EOF } echo_making_openbsd_files(){ cat << EOF Teen OpenBSD FAH deemoni paigaldamise skripti: EOF } echo_making_gentoo_files(){ cat << EOF Teen Gentoo Linuxi FAH deemoni paigaldamise skripte: EOF } echo_making_linux_files(){ cat << EOF Teen Linuxi FAH deemoni paigaldamise skripte: EOF } echo_making_FAH_backup_script(){ cat << EOF Teen FAH'ist varukoopiate tegemise skripti: EOF } echo_FAH_client_installation_completed(){ cat << EOF FAH klientide paigaldus on l6ppenud! EOF } echo_samba(){ cat << EOF ------------------------------------ SAMBA ------------------------------------ EOF } echo_waiting_for_n_seconds(){ cat << EOF Ootan $1 sekundit... EOF } echo_no_directory_access(){ cat << EOF ...aga sul ei ole sinna kirjutamise 6igust! Muuda FAH kataloogi asukohta (Fdir) v6i veena root kasutajat andma sulle kirjutamise 6igused sellele kataloogile. EOF } echo_invalid_argument(){ cat << EOF Vigane v6ti #$1: '$2' Kasutus: $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="Kas sa soovid j2tkata (j/e)?: " } message_do_you_want_to_read_faq(){ Message="Kas sa soovid lugeda finstall KKK'd (j/e)?: " } message_is_this_correct_md5sum_value(){ Message="Kas see on $Fclient'i 6ige MD5SUM v22rtus (j/e)?: " } message_do_you_want_to_use_3rd_party_tools(){ Message="Kas sa soovid kasutada neid kolmandate osapoolte FAH utiliite (j/e)?: " } message_do_you_want_automatic_machineid_changing(){ Message="Kas sa soovid kasutada automaatset MachineID v22rtuse muutmist (j/e)?: " } message_do_you_want_to_reconfigure(){ Message="Kas sa soovid muuta FAH kliendi seadeid (j/e)?: " } message_do_you_want_to_use_same_config(){ Message="Kas sa soovid kasutada seda ka ylej22nud seadistamata FAH klientidel (j/e)?: " } message_do_you_want_to_reset_config(){ Message="Kas sa soovid muuta ka ylej22nud FAH klientide seadeid (j/e)?: " } echo_dirs_option_over_ridden(){ cat << EOF M2rkus: Ignoreerin 'dirs $DirNum', sest leidsin juba olemasolevaid CPU alamkatalooge! EOF } if [ $(echo $FAH_Install_Version | wc -w) -eq 0 ] ; then echo_too_old_finstall exit 1 else if [ $EE_FAH_Install_Version = $FAH_Install_Version ]; then CheckArg $Arguments if [ $? -eq 0 ]; then if [ "$DoNothing" != "true" ]; then #FAH paigaldamine: FAH_Install if [ $? -eq 0 ]; then #Tyhja FAH kliendi v6tmete faili tegemine: cd $Fdir if [ -r ./fah_config ]; then #Kui see fail on juba olemas, siis ei tee sellega mitte midagi: echo -n else echo 'FAH_flags=""' > ./fah_config fi fi fi fi else echo_finstall_is_not_suitable $0 exit 1 fi fi #END.