Installing BOINC on Gentoo

From BOINC Wiki

Basic installation

Installs BOINC Client as a daemon (autostarts the BOINC client at boot time) and puts a BOINC Manager icon on the "Start Menu" if you have a GUI Desktop installed. Open a terminal and become root. Then enter the following commands:

Error creating thumbnail: Unable to save thumbnail to destination
BOINC is currently masked in Portage.
The first command will allow you to bypass the mask
  1. echo "sci-misc/boinc" >> /etc/portage/package.keywords
  2. emerge --sync
  3. emerge sci-misc/boinc
  4. Optional: after the installation is finished, enter rc-update add boinc default to have Linux auto-start the boinc-client daemon at boot time. (See Stop or start BOINC daemon after boot in the BOINC User Manual Wiki for helpful commands for managing the daemon).

What the installer does

  1. Creates the daemon script at /etc/init.d/boinc
  2. Creates the daemon script configuration file at /etc/conf.d/boinc.
  3. Puts the BOINC binaries (boinc_client, boinc_cmd and boincmgr) in /usr/bin/boinc
  4. Creates /var/lib/boinc/ for BOINC data files and the slots and projects directories.
  5. Names the daemon boinc
  6. Creates a user named boinc. For security, boinc owns the BOINC data directory (/var/lib/boinc/) and all the data files and sub-directories it creates in the data directory.

Verify the installation

  1. Start the daemon with /etc/init.d/boinc start
  2. Open a terminal and enter ps aux | grep boinc to print a partial list of running processes. You should see boinc_client in that list, if not then something went wrong in the steps above.

Set up your accounts

To use the GUI to set up your accounts and monitor progress:

  1. Start "boincmgr" on the command line or select Applications -> System Tools -> Boinc Manager from the GNOME menu.
  2. Select Advanced -> Select computer... from the Boinc Manager menu.
  3. Put "localhost" in for "Host name" and the contents of /var/lib/boinc/gui_rpc_auth.cfg for "Password" and hit "OK".

To make the GUI passwordless instead, do "echo > /var/lib/boinc/gui_rpc_auth.cfg" (which replaces the contents of the file with a newline) and then restart boinc-client (with e.g. "/etc/init.d/boinc restart").

Alternatively, you can use the command-line interface to set up your accounts. See "man boinc_cmd" for instructions.

Optional setup hints

For more information about configuring BOINC in Linux, see Linux file permissions in the BOINC User Manual Wiki.

If you do only the basic installation as described above, BOINC manager will not be able to automatically connect to the client. To connect the client you will be required to give the GUI RPC password every time you start BOINC manager. That is not a bug, it is a security feature to prevent other users from using the manager to manipulate the client, changing your projects, etc. Another inconvenience is that boinc (the user named boinc) owns /var/lib/boinc/ and all the files and directories in it so you will not be able to edit those files from your regular user account unless you add your username to the boinc group and adjust some permissions as follows, substituting your username for <username>:

  1. As root, open /etc/group in a text editor.
  2. Look for the line starting with boinc:x:<group ID number>:
  3. Edit the line to look like boinc:x:<group ID number>:<username> (<group ID number> will be a number, do not change it)
  4. Save the file and close the editor.

All the above can be done by: (sudo) gpasswd -a <username> boinc

  1. Open a terminal as root and enter the following commands, substitude your username for <username>:
    1. ln -s /var/lib/boinc/gui_rpc_auth.cfg /home/<username>/gui_rpc_auth.cfg
    2. chown boinc:boinc /home/<username>/gui_rpc_auth.cfg
    3. chown boinc:boinc /var/lib/boinc/gui_rpc_auth.cfg
    4. chmod -R g+r /var/lib/boinc


Uninstallation

As root, in a terminal, enter

 emerge -C sci-misc/boinc

Troubleshooting

In case you get SSL connection error, this can be solved by re-emerging curl with gnutls USE flag disabled:

 echo "net-misc/curl -gnutls" >> /etc/portage/package.use
 emerge -1 net-misc/curl