Difference between revisions of "Is BOINC available in Linux?"

From BOINC Wiki
(adding link to boinc clients)
(adding breaks)
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
<div style=" line-height: 1.1rem; font-family: verdana;">
 
 
== Linux ==
 
== Linux ==
 
You can install BOINC on a Linux computer in any of three ways:
 
You can install BOINC on a Linux computer in any of three ways:
Line 5: Line 4:
 
* Use the "Berkeley installer" provided by BOINC (a self-extracting archive, not distro-specific);
 
* Use the "Berkeley installer" provided by BOINC (a self-extracting archive, not distro-specific);
 
* Build directly from source code.
 
* Build directly from source code.
 
+
<br>
 
=== Installing BOINC as a package ===
 
=== Installing BOINC as a package ===
 
+
<br>
 
Some Linux distributions (Fedora, Ubuntu, Debian, Gentoo, possibly others) have BOINC packages
 
Some Linux distributions (Fedora, Ubuntu, Debian, Gentoo, possibly others) have BOINC packages
 
that you can install using your your distro's package manager.
 
that you can install using your your distro's package manager.
Line 16: Line 15:
 
* BOINC is installed as a daemon (BOINC runs automatically at boot time even if no user is logged in).
 
* BOINC is installed as a daemon (BOINC runs automatically at boot time even if no user is logged in).
 
* BOINC updates can be automated if your Linux distro has automated package update capability (most popular distros do)
 
* BOINC updates can be automated if your Linux distro has automated package update capability (most popular distros do)
 
+
<br>
 
If you want to use the packages from repositories,
 
If you want to use the packages from repositories,
 
take into account that there are two packages that can be installed separately,
 
take into account that there are two packages that can be installed separately,
Line 22: Line 21:
 
Only the client part is required but you will likely want to install the manager as well
 
Only the client part is required but you will likely want to install the manager as well
 
unless you intend to manage the client from a remote host.
 
unless you intend to manage the client from a remote host.
 
+
<br>
 
Here are instructions for several well known Linux distributions:
 
Here are instructions for several well known Linux distributions:
 
+
<br>
 
* [[Installing BOINC on Fedora|Fedora]]
 
* [[Installing BOINC on Fedora|Fedora]]
 
* [[Installing BOINC on Ubuntu|Ubuntu]]
 
* [[Installing BOINC on Ubuntu|Ubuntu]]
 
* [[Installing BOINC on Debian|Debian]]
 
* [[Installing BOINC on Debian|Debian]]
 
* [[Installing BOINC on Gentoo|Gentoo]]
 
* [[Installing BOINC on Gentoo|Gentoo]]
 
+
<br>
 
===The Berkeley Installer===
 
===The Berkeley Installer===
 
+
<br>
 
The ''Berkeley Installer'' is available [http://boinc.berkeley.edu/download.php directly from the BOINC project].
 
The ''Berkeley Installer'' is available [http://boinc.berkeley.edu/download.php directly from the BOINC project].
 
It is a self-extracting archive.
 
It is a self-extracting archive.
Line 37: Line 36:
 
The download files have names like <code>boinc_7.2.23_i686-pc-linux-gnu.sh</code>.
 
The download files have names like <code>boinc_7.2.23_i686-pc-linux-gnu.sh</code>.
 
After downloading the file, you'll need to be in the directory where you download the archive to unpack it.   
 
After downloading the file, you'll need to be in the directory where you download the archive to unpack it.   
 
+
<br>
 
Here is an example.
 
Here is an example.
 
The archive is downloaded to the desktop.
 
The archive is downloaded to the desktop.
Line 43: Line 42:
 
Finally BOINC is unpacked and installed.
 
Finally BOINC is unpacked and installed.
 
All of this can be done within a regular user account; root privileges are not needed.           
 
All of this can be done within a regular user account; root privileges are not needed.           
 
+
<br>
 
  $ mv ~/Desktop/boinc_7.2.23_i686-pc-linux-gnu.sh ~
 
  $ mv ~/Desktop/boinc_7.2.23_i686-pc-linux-gnu.sh ~
  $ cd ~  
+
  $ cd ~</code>
  $ sh boinc_7.2.23_i686-pc-linux-gnu.sh
+
  $ sh boinc_7.2.23_i686-pc-linux-gnu.sh
 
+
<br>
 
This creates a directory called <tt>BOINC/</tt> under the home directory containing the following files:
 
This creates a directory called <tt>BOINC/</tt> under the home directory containing the following files:
 
+
<br>
; boinc : The [[BOINC client]].
+
; boinc : The [[BOINC Client]].
 
; boincmgr : [[The BOINC Manager]].
 
; boincmgr : [[The BOINC Manager]].
 
; boinccmd :  A [[boinccmd tool|command line tool]] for controlling a running core client.
 
; boinccmd :  A [[boinccmd tool|command line tool]] for controlling a running core client.
 
; run_client : A script that cd's into the BOINC directory and runs the core client.
 
; run_client : A script that cd's into the BOINC directory and runs the core client.
 
; run_manager : A script that cd's into the BOINC directory and runs the manager.
 
; run_manager : A script that cd's into the BOINC directory and runs the manager.
 
+
<br>
 
To start the client manually enter the following terminal commands:
 
To start the client manually enter the following terminal commands:
 
  $ cd ~/BOINC   
 
  $ cd ~/BOINC   
 
  $ ./run_client --daemon
 
  $ ./run_client --daemon
 
  $ ./run_manager
 
  $ ./run_manager
 
+
<br>
 
The BOINC working directory can be moved elsewhere as you like, and can even be renamed.
 
The BOINC working directory can be moved elsewhere as you like, and can even be renamed.
 
One common choice is <tt>~/.boinc</tt>,
 
One common choice is <tt>~/.boinc</tt>,
 
since files and directories with names that begin with "dot" do not show up by default in Unix directory listings.
 
since files and directories with names that begin with "dot" do not show up by default in Unix directory listings.
 
Whatever the name, everything related to the BOINC client is contained within that directory,
 
Whatever the name, everything related to the BOINC client is contained within that directory,
and you should always run the client and the manager from that working directory.
+
and you should always run the client and the manager from that working directory.<br>
 
+
<br>
 
===64 Bit Considerations===
 
===64 Bit Considerations===
 
+
<br>
 
If you are running 64 bit Linux, you might have a problem
 
If you are running 64 bit Linux, you might have a problem
 
with projects that issue 32 bit applications rather than 64 bit applications.
 
with projects that issue 32 bit applications rather than 64 bit applications.
 
To allow 32 bit applications to run on 64 bit Linux you must install 32 bit versions of certain shared libraries.
 
To allow 32 bit applications to run on 64 bit Linux you must install 32 bit versions of certain shared libraries.
The names of the packages containing the 32 bit libraries is different for each distro.
+
The names of the packages containing the 32 bit libraries is different for each distro.<br>
 
+
<br>
'''N.B.''' The commands given below are executed in a ''terminal'' window. To open, hit the key combination Ctrl+Alt+T. The ''sudo'' commands could ask for a password [yours] to temporarily give admin installation rights for the needed libraries. [Default], closing the terminal or leave the terminal idle for 15 minutes will revoke these rights again.
+
'''N.B.''' The commands given below are executed in a ''terminal'' window. To open, hit the key combination Ctrl+Alt+T. The ''sudo'' commands could ask for a password [yours] to temporarily give admin installation rights for the needed libraries. [Default], closing the terminal or leave the terminal idle for 15 minutes will revoke these rights again.<br>
 
====Fedora====
 
====Fedora====
 
Three packages are required for 64 bit compatibility.
 
Three packages are required for 64 bit compatibility.
Line 88: Line 87:
 
|}
 
|}
 
Install all 3 packages at once, by opening a terminal and typing:
 
Install all 3 packages at once, by opening a terminal and typing:
 
+
<br>
 
  su -c 'yum install compat-libstdc++-296.i686 compat-libstdc++-33.i686 compat-libstdc++-33.x86_64'
 
  su -c 'yum install compat-libstdc++-296.i686 compat-libstdc++-33.i686 compat-libstdc++-33.x86_64'
 
+
<br>
 
====Ubuntu====
 
====Ubuntu====
 
Four packages are required for 64 bit compatibility (Read whole section before applying).
 
Four packages are required for 64 bit compatibility (Read whole section before applying).
Line 109: Line 108:
 
# Enter (with a space between every library name, or copy the line ''as-is'', and right-click in terminal to paste)
 
# Enter (with a space between every library name, or copy the line ''as-is'', and right-click in terminal to paste)
 
  sudo apt-get install ia32-libs libstdc++6 libstdc++5 freeglut3
 
  sudo apt-get install ia32-libs libstdc++6 libstdc++5 freeglut3
 
+
<br>
If the above fails to get 32 bit work on e.g. World Community Grid or to at all install, these sets work on newer Linuxes [those in ''italic'' are optional]
+
If the above fails to get 32 bit work on e.g. World Community Grid or to at all install, these sets work on newer Linuxes [those in ''italic'' are optional]<br>
 
  sudo apt-get install gcc-4.7-multilib ''libstdc++6 libstdc++5 freeglut3 lib32z1 lib32ncurses5 lib32bz2-1.0''
 
  sudo apt-get install gcc-4.7-multilib ''libstdc++6 libstdc++5 freeglut3 lib32z1 lib32ncurses5 lib32bz2-1.0''
 
or alternate for Test4Theory:
 
or alternate for Test4Theory:
 
  sudo apt-get install gcc-4.7-multilib freeglut3 libwxgtk2.8-dev libcurl4-openssl-dev libxss-dev
 
  sudo apt-get install gcc-4.7-multilib freeglut3 libwxgtk2.8-dev libcurl4-openssl-dev libxss-dev
 
+
<br>
 
The changes will not take effect until the client/daemon has been restarted. This too can be done in terminal, e.g. on Ubuntu with
 
The changes will not take effect until the client/daemon has been restarted. This too can be done in terminal, e.g. on Ubuntu with
 
  sudo service boinc-client restart
 
  sudo service boinc-client restart
</div>
 

Latest revision as of 23:50, 15 October 2016

Linux

You can install BOINC on a Linux computer in any of three ways:

  • Use the package management system of your Linux distribution;
  • Use the "Berkeley installer" provided by BOINC (a self-extracting archive, not distro-specific);
  • Build directly from source code.


Installing BOINC as a package


Some Linux distributions (Fedora, Ubuntu, Debian, Gentoo, possibly others) have BOINC packages that you can install using your your distro's package manager. Compared to using the Berkeley Installer, this has several advantages:

  • The resulting BOINC installation runs applications under an unprivileged account, and is therefore more secure.
  • The BOINC binaries are dynamically linked, therefore they require less memory than the binaries in the Berkeley Installer.
  • The package manager checks for dependencies and installs any additional libraries required to run BOINC on your Linux distro.
  • BOINC is installed as a daemon (BOINC runs automatically at boot time even if no user is logged in).
  • BOINC updates can be automated if your Linux distro has automated package update capability (most popular distros do)


If you want to use the packages from repositories, take into account that there are two packages that can be installed separately, one for BOINC Client and another for BOINC Manager. Only the client part is required but you will likely want to install the manager as well unless you intend to manage the client from a remote host.
Here are instructions for several well known Linux distributions:


The Berkeley Installer


The Berkeley Installer is available directly from the BOINC project. It is a self-extracting archive. This type of installation requires that you be familiar with the UNIX command-line interface. The download files have names like boinc_7.2.23_i686-pc-linux-gnu.sh. After downloading the file, you'll need to be in the directory where you download the archive to unpack it.
Here is an example. The archive is downloaded to the desktop. It is then moved to the home directory (~). Finally BOINC is unpacked and installed. All of this can be done within a regular user account; root privileges are not needed.

$ mv ~/Desktop/boinc_7.2.23_i686-pc-linux-gnu.sh ~
$ cd ~
$ sh boinc_7.2.23_i686-pc-linux-gnu.sh


This creates a directory called BOINC/ under the home directory containing the following files:

boinc 
The BOINC Client.
boincmgr 
The BOINC Manager.
boinccmd 
A command line tool for controlling a running core client.
run_client 
A script that cd's into the BOINC directory and runs the core client.
run_manager 
A script that cd's into the BOINC directory and runs the manager.


To start the client manually enter the following terminal commands:

$ cd ~/BOINC  
$ ./run_client --daemon
$ ./run_manager


The BOINC working directory can be moved elsewhere as you like, and can even be renamed. One common choice is ~/.boinc, since files and directories with names that begin with "dot" do not show up by default in Unix directory listings. Whatever the name, everything related to the BOINC client is contained within that directory, and you should always run the client and the manager from that working directory.

64 Bit Considerations


If you are running 64 bit Linux, you might have a problem with projects that issue 32 bit applications rather than 64 bit applications. To allow 32 bit applications to run on 64 bit Linux you must install 32 bit versions of certain shared libraries. The names of the packages containing the 32 bit libraries is different for each distro.

N.B. The commands given below are executed in a terminal window. To open, hit the key combination Ctrl+Alt+T. The sudo commands could ask for a password [yours] to temporarily give admin installation rights for the needed libraries. [Default], closing the terminal or leave the terminal idle for 15 minutes will revoke these rights again.

Fedora

Three packages are required for 64 bit compatibility.

Name Description
compat-libstdc++-296.i686 Compatibility 2.96-RH standard C++ libraries
compat-libstdc++-33.i686 Compatibility standard C++ libraries
compat-libstdc++-33.x86_64 Compatibility standard C++ libraries

Install all 3 packages at once, by opening a terminal and typing:

su -c 'yum install compat-libstdc++-296.i686 compat-libstdc++-33.i686 compat-libstdc++-33.x86_64'


Ubuntu

Four packages are required for 64 bit compatibility (Read whole section before applying).

Name Description
ia32-libs description is unavailable
libstdc++6 description is unavailable
libstdc++5 description is unavailable
freeglut3 description is unavailable

Install all 4 packages at once with the following steps:

  1. Open a terminal.
  2. Enter (with a space between every library name, or copy the line as-is, and right-click in terminal to paste)
sudo apt-get install ia32-libs libstdc++6 libstdc++5 freeglut3


If the above fails to get 32 bit work on e.g. World Community Grid or to at all install, these sets work on newer Linuxes [those in italic are optional]

sudo apt-get install gcc-4.7-multilib libstdc++6 libstdc++5 freeglut3 lib32z1 lib32ncurses5 lib32bz2-1.0

or alternate for Test4Theory:

sudo apt-get install gcc-4.7-multilib freeglut3 libwxgtk2.8-dev libcurl4-openssl-dev libxss-dev


The changes will not take effect until the client/daemon has been restarted. This too can be done in terminal, e.g. on Ubuntu with

sudo service boinc-client restart