How to install Seti on Linux - A newbie approach

Questions and Answers : Unix/Linux : How to install Seti on Linux - A newbie approach
Message board moderation

To post messages, you must log in.

AuthorMessage
jfjunior

Send message
Joined: 9 Oct 99
Posts: 9
Credit: 17,838,129
RAC: 10
Canada
Message 182009 - Posted: 25 Oct 2005, 1:02:22 UTC
Last modified: 25 Oct 2005, 1:58:14 UTC

I've been looking for a step by step BOINC installation instructions tailored to a new Linux user such as myself for a very long time. When I was about to give up I found this well written documentation in Spanish. Here is my translation into English of this document.

The instructions below worked for me, with the exception of the Script file. According to the original instructions the script was tailored to a Debian based Linux. I'm using Mandriva 2006 and I need to start my Seti Client manually after each reboot. Well, I can live with that for now. Having said that it would be very nice if someone could complement these instructions and add more STEP by STEP details for a script which would work on Mandriva, Suse etc...

If you can read Spanish the original instructions are available here:

Lamatriz

My Spanish language skills are not the best, but I think the translation will be good enough to help the new Linux users out there having difficulties installing Seti.

So here we go, straight to the point now:

*************************************

First you need to have a Boinc account such as:

* Seti@home
* Einstein@home
* ClimatePrediction.net
* LHC@home

In our case I will consider a Seti@home user.

1 - Download the last Boinc Client Sofware for Linux. The latest version as of 23.10.2005 is: boinc_5.2.4_i686-pc-linux-gnu.sh and it can be found here: Boinc Client

2 - After saving the Boinc client to your machine copy it to a folder of your choice. I will follow the original document and use the /opt folder. You can adapt the instructions if you wish to install it to a different location. Just remember to also change the script file if you do so.

Open the Shell Prompt where you downloaded your Boinc Client to and type the following:

$ su
Password: xxxxxx
mv boinc_5.2.4_i686-pc-linux-gnu.sh /opt/
cd /opt

3 - Since the last command above was "cd /opt" you should be sitting inside the /opt folder. Now we will change the archive permission as an executable and delete the original Boinc Client by using the following commands:

$ chmod +x boinc_5.2.4_i686-pc-linux-gnu.sh
$ ./boinc_5.2.4_i686-pc-linux-gnu.sh
$ rm boinc_5.2.4_i686-pc-linux-gnu.sh

4 - The first execution of Boinc will be done manually and during this process we'll configure our Boinc Client.

Type the following:

$ cd BOINC/
$ ./boinc -attach_project http://setiathome.berkeley.edu xxxxxxxxxxxxxxxxxxxx

Where xxxxxxxxxxxxxxxxxxxx is your alpha-numeric Seti@home account key.

Wait for the Boinc Client to complete the process of attaching to your account and when you notice that it's processing a Seti Unit cancel the program by hitting Ctrl+C, so we can proceed with the next step of the setup.

5 - Now its time to create the script. As mentioned before this process is suitable to a Debian based Linux. Using Kate, Gedit or any other text editor we'll create an archive named boinc in /etc/init.d: by typing the following command:

$ kate /etc/init.d/boinc

then copy the following script into the text editor window:

#!/bin/sh
# /etc/init.d/boinc
# Start/stop/restart
boinc_start() {
if [ -x /opt/BOINC/run_client ]; then
echo “Starting BOINC.”
/opt/BOINC/run_client > boinc.log &
fi
}
boinc_stop() {
echo “Stopping BOINC.”
sudo killall boinc
}
boinc_restart() {
boinc_stop
sleep 2
boinc_start
}
case “$1″ in
’start’)
boinc_start
;;
’stop’)
boinc_stop
;;
‘restart’)
boinc_restart
;;
*)
boinc_start
esac

Note that the script points to a file labelled boinc.log which will be saved inside /opt/BOINC. If we want to revise this file we just need to use the following command:

$ less /opt/BOINC/boinc.log

At this point, after we have saved the script above, we'll make the script an executable and run it to make sure it works by typing the commands below:

$ chmod +x /etc/init.d/boinc
$ /etc/init.d/boinc start
$ ps -A

The last command above "ps -A" will show a list of all the processes running on your Linux box. Look for two processes labelled "setiathome_4.02" and "boinc" in the list. If you see them it means that you are now running Seti in your box.

The next step is creating a symbolic link by typing the following command:

$ ln -s /etc/init.d/boinc /etc/rc2.d/S99boinc

Done that we can now reboot the machine and Seti at home will start automatically. If you are in doubt just use the "ps -A" command and check the list again.

If you wish to attach another project to your Boinc Client just use the following commands:

$ /etc/init.d/boinc stop
$ cd /opt/BOINC
$ ./boinc -attach_project http://xxxxx yyyyyyyyy

Where http://xxxxx is the project URL and
yyyyyyyyy is the project key associated with your account.

and so on and so forth.

IMPORTANT NOTE: It appears that all the steps need to be performed while signed on as root (su). In my personal experience I was also unable to start Boinc without being signed on as root. I'm not sure if this is related to my Linux distribution or if its by design (sorry, but I'm a new Linux user with about 30 days experience in Linux at the most).

Somehow I'm unable to post the script properly as the Forum page keeps changing the Enconding, thus turning double quotes into a's, etc. Please go to Lamatriz to download the original script if you have any problems.

Again if someone can please add / clarify this document it will be very much appreciated. All the instructions I found to date about installing and running Seti on Linux appears to be tailored for Linux experts.

Thank you and happy crunching!!!
ID: 182009 · Report as offensive
Profile Trane Francks

Send message
Joined: 18 Jun 99
Posts: 221
Credit: 122,319
RAC: 0
Japan
Message 182094 - Posted: 25 Oct 2005, 9:12:16 UTC

I'm one who would not install BOINC as root. I installed into my user directory. It's very easy.

1. download boinc*.sh file to a temp dir
2. chmod +x the file
3. from $HOME, run this .sh file - it will unpack a BOINC directory
4. add a line to your crontab to autoexec boinc executable every time the system starts

My crontab looks like this:

# Start BOINC
*/10 * * * * cd /home/trane/boinc; ./boinc 1>>./boinclog 2>>./boincerr

Basically, it just tries to fire up BOINC every 10 min. Some guys don't like the noise it leaves in the log files, but I find it a convenient timestamp to see whenever a job doesn't swap out correctly. Running BOINC as a cron job means that the system merely needs to be running to exec. The user does not need to be logged on.

ID: 182094 · Report as offensive
jfjunior

Send message
Joined: 9 Oct 99
Posts: 9
Credit: 17,838,129
RAC: 10
Canada
Message 182107 - Posted: 25 Oct 2005, 10:27:39 UTC - in response to Message 182094.  
Last modified: 25 Oct 2005, 10:33:14 UTC

Hi Trane,

Thanks for your tip, but as a newbie I've no idea in how to add a line to crontab, etc.. It looks very easy for a person with some experience in Linux, but for a newbie and I'm talking about a person who just download a copy of Linux about 25 days ago for the first time in his life, it sounds like brain surgery.

I think several users in the community would appreciate if you could elaborate and post a STEP by STEP instructions as the one I've posted before. Believe me I've Googled for days on end and I could not find anything which was as basic as these instructions in Spanish.

Lets for example take a look at your point number 2 below: "chmod +x the file". Now I know exactly what it means, but about 72 hours ago I had no idea what it meant.

For a person learning Linux/Unix I think the best approach would be getting instructions such as:

Go to the Linux shell prompt and type the following:

$ chmod +x filename.sh

etc...etc...

Well, I think you got my point. My objective here is to create a "newbie set of instructions" and not for users with already some basic or expert knowledge of Linux.

The problem I find with Linux out there is that everything is so "easy" to do and all the instructions, or most of them, are tailored to an user with already some Linux experience.

Lets not forget that there are people out there just starting up with Linux and they need all the help they can get and I mean STEP by STEP help. As long as things stay so hard to do in Linux, M$ will continue to be the monopoly it's today.

I would love to try your approach if you can please elaborate a little bit more, especially about the crontab part. Obviously I could Google crontab and read a book about it, but at this point I'm just trying to install Seti and post instructions which would be clear enough for a blind 125 years old lady who never touched a computer in her life, never mind Linux, to follow.

I also don't like the idea of running the program as root, but I have yet to find better and easier instructions to follow.

As for your crontab, isn't the BOINC folder name case sensitive? Apparently when you unpack the file it will create the folder BOINC instead boinc, correct?

# Start BOINC
*/10 * * * * cd /home/trane/boinc; ./boinc 1>>./boinclog 2>>./boincerr

Thanks again


I'm one who would not install BOINC as root. I installed into my user directory. It's very easy.

1. download boinc*.sh file to a temp dir
2. chmod +x the file
3. from $HOME, run this .sh file - it will unpack a BOINC directory
4. add a line to your crontab to autoexec boinc executable every time the system starts

My crontab looks like this:

# Start BOINC
*/10 * * * * cd /home/trane/boinc; ./boinc 1>>./boinclog 2>>./boincerr

Basically, it just tries to fire up BOINC every 10 min. Some guys don't like the noise it leaves in the log files, but I find it a convenient timestamp to see whenever a job doesn't swap out correctly. Running BOINC as a cron job means that the system merely needs to be running to exec. The user does not need to be logged on.


ID: 182107 · Report as offensive
Profile Trane Francks

Send message
Joined: 18 Jun 99
Posts: 221
Credit: 122,319
RAC: 0
Japan
Message 182749 - Posted: 27 Oct 2005, 6:01:26 UTC - in response to Message 182107.  
Last modified: 27 Oct 2005, 6:01:57 UTC

I think several users in the community would appreciate if you could elaborate and post a STEP by STEP instructions as the one I've posted before.


I don't want this to sound unhelpful, but I think that users who are struggling to grasp when and how to open a shell are best served by finding basic Linux tutorials. For example, somebody getting started with Slackware would be very well served to read through The Revised Slackware Book Project. All the Linux basics are covered there.

Upon finding such information, the user now has all the tools necessary to get BOINC running and well beyond that, too. Serving up a step-by-step on how to get BOINC running doesn't really teach the user about living with Linux. I think the latter is far more beneficial.

I encourage users to look for distribution-related 'getting started' HOW-TOs and the like.

Cheers.

ID: 182749 · Report as offensive
jfjunior

Send message
Joined: 9 Oct 99
Posts: 9
Credit: 17,838,129
RAC: 10
Canada
Message 182804 - Posted: 27 Oct 2005, 12:00:23 UTC - in response to Message 182749.  

Well, I could not agree more than learning Linux is beneficial. This is my goal and I hope in a few months time I will master the basics. However I do feel that you lost track of what I was trying to accomplish here:

A how to for Linux 'NEWBIES" in how to install Seti.

Lets leave at that!!!

Jay



I think several users in the community would appreciate if you could elaborate and post a STEP by STEP instructions as the one I've posted before.


I don't want this to sound unhelpful, but I think that users who are struggling to grasp when and how to open a shell are best served by finding basic Linux tutorials. For example, somebody getting started with Slackware would be very well served to read through The Revised Slackware Book Project. All the Linux basics are covered there.

Upon finding such information, the user now has all the tools necessary to get BOINC running and well beyond that, too. Serving up a step-by-step on how to get BOINC running doesn't really teach the user about living with Linux. I think the latter is far more beneficial.

I encourage users to look for distribution-related 'getting started' HOW-TOs and the like.

Cheers.


ID: 182804 · Report as offensive
Scarecrow

Send message
Joined: 15 Jul 00
Posts: 4520
Credit: 486,601
RAC: 0
United States
Message 182867 - Posted: 27 Oct 2005, 16:36:19 UTC - in response to Message 182094.  

I Running BOINC as a cron job means that the system merely needs to be running to exec. The user does not need to be logged on.

The cron-related method I use to run boinc as a non-root user is to put the @reboot command in that user's crontab. This will restart boinc for that user any time the system boots up. There's no checking or restarting if boinc dies an unnatural death while running, but for my purposes I'd rather it not restart if there are recurring problems that are causing it to crash. So far (knock on wood) boinc has never crashed, and if there's a controlled, or unexpected reboot, boinc will take off without any manual intervention.
First line in the user's crontab is:

@reboot /home/mdc/BOINC/boinc


ID: 182867 · Report as offensive
jfjunior

Send message
Joined: 9 Oct 99
Posts: 9
Credit: 17,838,129
RAC: 10
Canada
Message 183106 - Posted: 28 Oct 2005, 2:08:45 UTC - in response to Message 182867.  

Thanks Scarecrow. I will need to look more deeply into that and find out more about cron job. I really don't mind if it does not restart boinc in case it dies.

Trane provided a good link "The Revised Slackware Book Project" and I will take a good look at it so I can at least master the basics. Then I will go back to my goal of posting a "Seti Install - Newbie approach" thing, :)

Thanks a lot you guys for all the info. For sure I've learned a thing or two.

Regards...


I Running BOINC as a cron job means that the system merely needs to be running to exec. The user does not need to be logged on.

The cron-related method I use to run boinc as a non-root user is to put the @reboot command in that user's crontab. This will restart boinc for that user any time the system boots up. There's no checking or restarting if boinc dies an unnatural death while running, but for my purposes I'd rather it not restart if there are recurring problems that are causing it to crash. So far (knock on wood) boinc has never crashed, and if there's a controlled, or unexpected reboot, boinc will take off without any manual intervention.
First line in the user's crontab is:

@reboot /home/mdc/BOINC/boinc




ID: 183106 · Report as offensive
Phil Wieland

Send message
Joined: 9 Aug 00
Posts: 47
Credit: 748,038
RAC: 0
United Kingdom
Message 186533 - Posted: 7 Nov 2005, 2:21:04 UTC - in response to Message 182867.  

The cron-related method I use to run boinc as a non-root user is to put the @reboot command in that user's crontab. This will restart boinc for that user any time the system boots up.


Just noticed this nifty trick. Is it a common feature of cron or is it limited to only certain versions of linux? The crontab man pages on Red Hat 9.0 don't mention @reboot , or am I looking in the wrong place?
Phil
Liverpool, England
ID: 186533 · Report as offensive
Scarecrow

Send message
Joined: 15 Jul 00
Posts: 4520
Credit: 486,601
RAC: 0
United States
Message 186555 - Posted: 7 Nov 2005, 4:04:18 UTC - in response to Message 186533.  

Just noticed this nifty trick. Is it a common feature of cron or is it limited to only certain versions of linux? The crontab man pages on Red Hat 9.0 don't mention @reboot , or am I looking in the wrong place?


I've heard that the suite of @ commands aren't universally shared between all versions of cron and distrubutions of Linux. Our 'standard' machines are Debian, with the current stable cron package version being 3.0pl1-86, by Paul Vixie. This version allows all the following:
    @reboot        Run once, at startup.
    @yearly        Run once a year, "0 0 1 1 *".
    @annually     (same as @yearly)
    @monthly      Run once a month, "0 0 1 * *".
    @weekly       Run once a week, "0 0 * * 0".
    @daily          Run once a day, "0 0 * * *".
    @midnight     (same as @daily)
    @hourly        Run once an hour, "0 * * * *".

In looking at this version's man page, I don't see any mention of the @ commands listed at all, but they do work. It may have to be a "try it and see" exercise to verify it's existance and functionality on individual systems.

ID: 186555 · Report as offensive
Phil Wieland

Send message
Joined: 9 Aug 00
Posts: 47
Credit: 748,038
RAC: 0
United Kingdom
Message 187159 - Posted: 9 Nov 2005, 2:22:39 UTC - in response to Message 186555.  


...
In looking at this version's man page, I don't see any mention of the @ commands listed at all, but they do work. It may have to be a "try it and see" exercise to verify it's existance and functionality on individual systems.


Many thanks for the info. I'll give it a try when I've got a minute. It's got to be easier than all that fiddling with scripts in /etc/init.d

Phil
Liverpool, England
ID: 187159 · Report as offensive
S@NL - Skipper
Volunteer tester

Send message
Joined: 5 Jul 99
Posts: 5
Credit: 2,306,079
RAC: 0
Netherlands
Message 226948 - Posted: 6 Jan 2006, 13:23:32 UTC - in response to Message 187159.  
Last modified: 6 Jan 2006, 13:24:00 UTC

Well thanks for the info.

It did the trick for me.
Maybe I will try to change the user that is running boinc.
ID: 226948 · Report as offensive
freeZotic van NovaLoka
Avatar

Send message
Joined: 19 Feb 06
Posts: 4
Credit: 16,584
RAC: 0
Netherlands
Message 441352 - Posted: 21 Oct 2006, 18:24:53 UTC - in response to Message 182009.  

Step by Step instructions is just what we need, but they have to be Step by Step with extreme detail in finding what where.

It didn't work for me, again, I'm really fed up with Boinc and Linux and the lot.
I want Windows and a Wizard and none of this monket bussiness.

Anyway thanks for exploring the same issue as me.

"On the shoulders of giant numbers"
ID: 441352 · Report as offensive
Dotsch
Volunteer tester
Avatar

Send message
Joined: 9 Jun 99
Posts: 2422
Credit: 919,393
RAC: 0
Germany
Message 441365 - Posted: 21 Oct 2006, 18:55:56 UTC - in response to Message 441352.  

Step by Step instructions is just what we need, but they have to be Step by Step with extreme detail in finding what where.

It didn't work for me, again, I'm really fed up with Boinc and Linux and the lot.
I want Windows and a Wizard and none of this monket bussiness.

Anyway thanks for exploring the same issue as me.

The installation guide from jfjunior is very good. It includes all the task what to have be done. Could you please describe, what is not working for you.

There is also one at the BOINC wiki :
http://boinc-wiki.ath.cx/index.php?title=Installing_the_BOINC_Client_Software_And_Participating_In_A_BOINC_Powered_Project
http://boinc-wiki.ath.cx/index.php?title=Installing_The_BOINC_Client_Software_on_Linux
ID: 441365 · Report as offensive
Profile zoom3+1=4
Volunteer tester
Avatar

Send message
Joined: 30 Nov 03
Posts: 65709
Credit: 55,293,173
RAC: 49
United States
Message 464940 - Posted: 24 Nov 2006, 17:39:22 UTC - in response to Message 441365.  
Last modified: 24 Nov 2006, 17:40:53 UTC

Step by Step instructions is just what we need, but they have to be Step by Step with extreme detail in finding what where.

It didn't work for me, again, I'm really fed up with Boinc and Linux and the lot.
I want Windows and a Wizard and none of this monket bussiness.

Anyway thanks for exploring the same issue as me.

The installation guide from jfjunior is very good. It includes all the task what to have be done. Could you please describe, what is not working for you.

There is also one at the BOINC wiki :
http://boinc-wiki.ath.cx/index.php?title=Installing_the_BOINC_Client_Software_And_Participating_In_A_BOINC_Powered_Project
http://boinc-wiki.ath.cx/index.php?title=Installing_The_BOINC_Client_Software_on_Linux


Now I'm not a Linux user normally(I do like to try new things at least once), Although I have done some experimenting from time to time, But I looked up "cron job" on Google and found these links:

http://www.google.com/search?q=cron+job&ie=utf-8&oe=utf-8
http://www.unixgeeks.org/security/newbie/unix/cron-1.html
http://en.wikipedia.org/wiki/Cron
http://www.aota.net/Script_Installation_Tips/cronhelp.php3

The Google link has all those and more

The T1 Trust, PRR T1 Class 4-4-4-4 #5550, 1 of America's First HST's
ID: 464940 · Report as offensive

Questions and Answers : Unix/Linux : How to install Seti on Linux - A newbie approach


 
©2024 University of California
 
SETI@home and Astropulse are funded by grants from the National Science Foundation, NASA, and donations from SETI@home volunteers. AstroPulse is funded in part by the NSF through grant AST-0307956.