SPY HILL Research Spy-Hill.net


Poughkeepsie, New York [DIR] [UP]

Installing and Running
the BOINC client on Unix
as a Personal Installation


This page describes how you can install and run the BOINC client on a Unix computer (such as Linux) as a "personal" installation.

Last modified: 16 March 2010
The Berkeley Open Infrastructure for Network Computing (BOINC) is an open-source software platform to support distributed computing, primarily for volunteer computing and desktop Grid computing. The BOINC client software runs on Windows, MacOS X, and Unix.

It is relatively easy to install and run BOINC on Unix. You would normally install BOINC to run as a "system daemon" (what is called a "Service" in Windows), but it is also possible to install the BOINC client software as a "personal" installation, without becoming the root user.

RUN BOINC ONLY ON AUTHORIZED COMPUTERS
You should run BOINC only on computers which you own, or for which you have obtained the owner's permission. Some companies and schools have policies that prohibit using their computers for BOINC projects or similar uses.
If you install and run BOINC in your own account on a server machine and it causes problems it will not help BOINC or the BOINC projects to which you are attached.

The main reason you might install BOINC this way is to try it out before deciding to perform a "system" installation. In most cases you will want to install BOINC as a "system daemon", as described here.

Overview

The general steps are more or less the same as those involved in a "system" installation. Here is an overview:
  1. Create a working area (directory)
  2. Obtain and install the executable files
  3. Set a password for the Manager to contact the Client
  4. Arrange for BOINC to start automatically
  5. Start BOINC, and attach to a project (or several)
The notes below simply expand upon these steps.

If you have already installed BOINC and wish to upgrade, then you can jump down to

Background

In what follows it may help to know that there are several components to BOINC. First there is the "Core Client", which does the work of running BOINC applications, communicating to the server, downloading application and data files and uploading the results. This is what you run when you are "running BOINC". Then there is the "BOINC Manager", a separate program which provides you with a Graphical User Interface to monitor and control the Client Core. You do not have to run the BOINC Manager all the time. Also, you can use the BOINC Manager to monitor boinc clients running on several separate machines.

You should also be aware that there is as yet no working screensaver for BOINC on Linux. You can view the graphics created by a running application by using the "Show graphics" button in the BOINC Manager, but don't expect to see the graphics cover your screen when your computer console is idle. A working screensaver is one of the goals of the next version of BOINC, version 6.

In the examples given below "%" is used to represent the command prompt for a non-root user. You don't type it, you only type the command which follows it.

Personal installation

In Unix a program running in the background, detached from any controlling console and providing some kind of system service, is called a "daemon". Due to security concerns you do not want BOINC to run as the "root" user (the superuser), so you will want to create a separate user account for the BOINC daemon. You will also want to arrange for this daemon to be started along with other daemon services at boot time.

Create a working area (directory)

For a "personal" installation you should create a directory under your home directory called "boinc", or better yet ".boinc". (In Unix files and directories with names that begin with "." are not shown be default when you list files, unless you say `ls -a` to also show these "hidden" files, so this would make the working directory "hidden" from every day use.) The command to create this directory is:
% mkdir ~/.boinc
The "%" represents the Unix command prompt; you do not type it.

Obtain and install the BOINC executable(s)

The easiest way to get the BOINC executable files is to download the pre-built version from the BOINC download page at If you connect from a Linux computer you will automatically be offered the latest version for Linux, but there is also an "All Versions" link on the page which will show you more versions for more platforms, including versions still in development. If you are new to BOINC you will want to start with the "recommended" versions and avoid the development versions.

As of this writing version 5.10.21 is recommended for Linux. If you have anything older already installed then you should consider upgrading.

Unpack the bundle. After you unpack the bundle the files will be in a subdirectory called BOINC. Move all these files to the working directory. The commands to do this are something like:

% cd BOINC % cp * ~/.boinc/

Then move the executable files boinc (renamed boinc_client) and boincmgr to a directory which is listed in your PATH, such as $HOME/bin. Create that directory if you don't already have one. The commands are:

% cd ~/.boinc % mv boinc ~/bin/boinc_client % mv boincmgr ~/bin
To make sure this directory (whatever it is) is in your PATH you will want to edit the .cshrc or .bashrc file in your home directory. (Which one you need to edit depends upon which shell is your login shell.)

Get BOINC to start automatically

For a "personal" installation you could add commands to your .login file (for csh) or .profile file (for bash) to run BOINC when you login. Or you could add the lines to your .xinitrc to start BOINC when the window system starts. Or you can add the lines to some other appropriate startup file (for Gnome or KDE? I don't know these yet...).

The commands to add are something like:

% cd $HOME/.boinc % boinc_client >/dev/null &
The first line changes the current directory to the working directory for BOINC. You do not want to run the client from your home directory (which is what will happen if you omit this first line), or it will create a large number of files there and clutter everything up.

The second line runs the BOINC client "in the background", which means it will still be running when you get the next command prompt. The ">/dev/null" argument sends the standard output to the /dev/null device, which just ignores anything sent to it. (Error output will still get through, however).

Variations are of course possible. Using bash (as in the .profile or .xinitrc file) you can redirect log output to files with a command like:

% boinc_client >>boinc.log 2>>error.log &
The ">>" output redirection symbols cause the output for standard output and standard error output to be appended to the files rather than starting new versions of these files (the files are created at first if they do not exist). Keep in mind though that the core client already maintains a copy of the log output, which you can view using the BOINC Manager under the "messages" tab, so you would likely only want to do this to aid in troubleshooting.

Attach to a BOINC project

The instructions for attaching to a BOINC project are basically the same as for a "system" install. Once you have the core client running, then run the Manager. If you have not yet attached to any project then the Manager will automatically take you through the dialogue to attach to a project. You can then easly attach to additional projects.

For each project you wish to attach to, you need to provide the URL of the project, a valid e-mail address, and a password. If you already have an account on the project then the e-mail address and password must match that account. If you do not yet have an account on that project then one will be created for you when you attatch.

Upgrading your installation

Just as with the system installation, upgrading BOINC is fairly straightforward. You should not be running the client or manager when you upgrade. Simply download the latest version, unpack it as described above, and move the client and manager files into place. Then you can start the client to verify that the upgrade worked. If it did, the client should sense the version change and begin by running new benchmarks.


Last modified: 16 March 2010 Copyright © 2010 by Spy Hill Research http://www.spy-hill.net /~myers/help/boinc/unix-personal.html