Difference between revisions of "Installing BOINC on Fedora"

From BOINC Wiki
(adding Installing BOINC on Fedora from user manual wiki)
 
(adding missing links)
 
Line 7: Line 7:
 
Alternately, fetch the <code>boinc-client</code> and <code>boinc-manager</code> rpm packages (using for instance <code>rpm.pbone.net</code>), and open them with the Package Installer. You'll be prompted for the root password as appropriate.
 
Alternately, fetch the <code>boinc-client</code> and <code>boinc-manager</code> rpm packages (using for instance <code>rpm.pbone.net</code>), and open them with the Package Installer. You'll be prompted for the root password as appropriate.
  
Optional: if you want to have Linux auto-start boinc-client daemon at boot time, enter '''<code>/sbin/chkconfig boinc-client on</code>''' (in Fedora 16), or '''<code>systemctl enable boinc-client.service</code>''' (in Fedora 17). (See [[Stop or start BOINC daemon after boot]] page for helpful commands for managing the daemon)
+
Optional: if you want to have Linux auto-start boinc-client daemon at boot time, enter '''<code>/sbin/chkconfig boinc-client on</code>''' (in Fedora 16), or '''<code>systemctl enable boinc-client.service</code>''' (in Fedora 17). (See [http://boinc.berkeley.edu/wiki/Stop_or_start_BOINC_daemon_after_boot Stop or start BOINC daemon after boot] in the BOINC User Manual Wiki for helpful commands for managing the daemon).
  
 
==What the installer does==
 
==What the installer does==
Line 49: Line 49:
  
 
==Optional setup hints==
 
==Optional setup hints==
''For more information about configuring BOINC in Linux, see [[Linux file permissions]].''
+
''For more information about configuring BOINC in Linux, see [http://boinc.berkeley.edu/wiki/Linux_file_permissions Linux file permissions] in the BOINC User Manual Wiki.''
  
 
''Since Fedora such as version 13 has a firewall switched on by default it is necessary to configure exceptions allowing BOINC to communicate via the localhost IP 127.0.0.1 and port 31416.''
 
''Since Fedora such as version 13 has a firewall switched on by default it is necessary to configure exceptions allowing BOINC to communicate via the localhost IP 127.0.0.1 and port 31416.''

Latest revision as of 14:06, 5 September 2016

Basic installation

Installs BOINC Client as a daemon (autostarts the BOINC client at boot time) and puts a BOINC Manager icon on the applications menu. To install it, open a terminal, enter:

su -c 'yum install boinc-client boinc-manager'

Give the root password when prompted and be patient while the BOINC package downloads and installs.

Alternately, fetch the boinc-client and boinc-manager rpm packages (using for instance rpm.pbone.net), and open them with the Package Installer. You'll be prompted for the root password as appropriate.

Optional: if you want to have Linux auto-start boinc-client daemon at boot time, enter /sbin/chkconfig boinc-client on (in Fedora 16), or systemctl enable boinc-client.service (in Fedora 17). (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. In F16: /etc/init.d/boinc-client. In F17: /usr/lib/systemd/system/boinc-client.service.
  2. Places the BOINC binaries (boinc_client, boinc_cmd and boincmgr) in /usr/bin/.
  3. Creates /var/lib/boinc/ for BOINC data files and the slots and projects directories.
  4. Names the daemon boinc-client.
  5. 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. If you elected to have Linux start the daemon at boot time (see step 3 in section Basic installation), logout and reboot Linux now and login under your normal user account.
  2. If you elected to not have Linux start the daemon at boot time, start the daemon manually with in F16 /sbin/service boinc-client start, in F17 systemctl start boinc-client.service
  3. Open a terminal and enter ps aux | grep boinc to print a partial list of running processes. You should see boinc_client --daemon in that list; if not, then something went wrong in the steps above.
    Or alternatively in F17 systemctl status boinc-client.service will display the status of the boinc-client service.
    Or pgrep -l boinc will display the procid and daemon name, that is "2298 boinc_client".

Set up your accounts

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

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

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, change your projects, etc.

If you don't want to put the password every time you run the BOINC manager, you can:

  1. disable the password [not recommended]
    To make the GUI passwordless, 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. in F16: /sbin/service boinc-client restart, in F17: systemctl restart boinc-client.service).
  2. use the recommended procedure
    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 easily from your regular user account. The steps below add your username to the boinc group and adjust some permissions so that BOINC manager will automatically connect to BOINC client whenever you start the manager from your regular Linux user account. Also, you will be able to edit files in the BOINC directory without becoming root. As you type in each command below, substitute your Linux username wherever you see username. Enter the following commands in a terminal, as root:
    1. /usr/sbin/usermod -G boinc -a username
    2. chmod g+rw /var/lib/boinc
    3. chmod g+rw /var/lib/boinc/*.*
    4. ln -s /var/lib/boinc/gui_rpc_auth.cfg /home/username/gui_rpc_auth.cfg
    5. Finally, logout and login again so that your new group membership takes effect.

Cuda

If you want to use Cuda, install it as described here: https://fedoraproject.org/wiki/Cuda , and install xorg-x11-drv-nvidia-libs (to avoid libcuda.so.1: cannot open shared object file error message) with this:

su -c 'yum install xorg-x11-drv-nvidia-libs'

You will also need to disable SELinux:

su -c 'setenforce 0'

Optional setup hints

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

Since Fedora such as version 13 has a firewall switched on by default it is necessary to configure exceptions allowing BOINC to communicate via the localhost IP 127.0.0.1 and port 31416.

Uninstallation

In a terminal, enter:

su -c 'yum remove boinc-client boinc-manager'

Known problems

boinc-client sometimes has problems connecting to the network, if the network connection comes up after the client has already started. This is a known BOINC bug, which is filed as #707.

In the meantime, you can fix this by restarting boinc-client. On the command line, as root, do /sbin/service boinc-client restart. Alternately, from the GNOME menu, you can choose System -> Administration -> Services and then stop and start the boinc-client service.