climateprediction.net (CPDN) home page
Thread 'Volunteer to work with the BOINC Release Manger on Linux Instructions?'

Thread 'Volunteer to work with the BOINC Release Manger on Linux Instructions?'

Message boards : Number crunching : Volunteer to work with the BOINC Release Manger on Linux Instructions?
Message board moderation

To post messages, you must log in.

AuthorMessage
Art Masson
Avatar

Send message
Joined: 16 Oct 11
Posts: 254
Credit: 15,954,577
RAC: 0
Message 57839 - Posted: 21 Feb 2018, 18:42:06 UTC

Hi all,

Richard Haselgrove (the new BOINC client Release Manager) could use someone to help provide current Linux loading instructions for the BOINC Client. If anyone has some time and good Linux knowledge who would be willing to work with him, please post here and let me know. This would ultimately provide some better and up-to-date information on the public BOINC Download site (which is currently old and out of date) for Linux. (See for the current out-of-date info here: http://boinc.berkeley.edu/download_all.php)

Below is a response from Richard when I asked if he could use some Linux knowledgeable help to provide new users of BOINC who want to load the latest BOINC client:

Yes, I agree there are new users - often refugees from Windows 10 - who are coming to BOINC afresh and need their hands holding.

There are also an awful lot of Linux distributions out there, and we need to be careful to cover as many bases as possible. One thing that would be helpful is a distro tree, starting with the fork between Debian/Ubuntu and Fedora/RedHat/CentOS at the top, and showing how the other names branch out from there.

If you think you can find an experienced user who can think themselves back into 'newbie' mode and point out all the pitfalls to avoid, that would be great.

ID: 57839 · Report as offensive     Reply Quote
Jean-David Beyer

Send message
Joined: 5 Aug 04
Posts: 1120
Credit: 17,202,915
RAC: 2,154
Message 57840 - Posted: 22 Feb 2018, 3:14:49 UTC - in response to Message 57839.  

I run Red Hat Enterprise Linux Server release 6.9 (Santiago) on my machine.
I get my Boinc software from EPEL. It works fine for me. My Linux Kernel is 2.6.32-696.20.1.el6.x86_64
which I believe is the most up-to-date for this distribution. My boinc client software that I get from EPEL is
boinc-client-7.2.33-3.git1994cc8.el6.i686.rpm
boinc-manager-7.2.33-3.git1994cc8.el6.x86_64.rpm

Some projects do not provide binaries for 64-bit processors, so one must download the 32-bit libraries for them to work. ClimatePrediction is one such project.

This stuff should work on RHEL and CentOS systems, at least RHEL6 that is still supported. A little bit more up-to-date versions, for RHEL7, are available from EPEL.

https://fedoraproject.org/wiki/EPEL

Here is the control file that goes with it in /etc/rc.d/init.d
This and the file after that I do not remember where I got them. But they should be a good place to start. On my system, /home/boinc is on a separate file system (all its own), not physically on the same partition as the rest of /home/*

$ cat boinc-client
#!/bin/bash
#
# BOINC - start and stop the BOINC client daemon on Unix
#
# SysVInit start/stop script to run the BOINC client as a daemon at
# system startup, as the $BOINCUSER (not root!).
#
# This version has been modified for Fedora/RHEL.
#
###
# chkconfig: - 98 02
# description: This script starts the local BOINC client as a daemon
# For more information about BOINC (the Berkeley Open Infrastructure
# for Network Computing) see http://boinc.berkeley.edu
# processname: boinc-client
# config: /etc/sysconfig/boinc-client
#
### BEGIN INIT INFO
# Provides: boinc
# Required-Start: $network
# Required-Stop: $network
# Default-Start:
# Default-Stop: 0 1 2 6
# Short-Description: This script monitors the BOINC client.
# Description: This script starts the local BOINC client as a daemon
# For more information about BOINC (the Berkeley Open Infrastructure
# for Network Computing) see http://boinc.berkeley.edu
### END INIT INFO
#
# Based on the init script provided by:
# Eric Myers <myers@vassar.edu> - 27 July 2004
# Department of Physics and Astronomy, Vassar College, Poughkeepsie NY
# Eric Myers <myers@spy-hill.net>
# Spy Hill Research, Poughkeepsie, New York
#
# Rewritten by Milos Jakubicek <xjakub@fi.muni.cz> - 10 March 2009
# Faculty of Informatics, Masaryk University Brno, Czech Republic
########################################################################

# Defaults, which can be overridden by putting new NAME=value lines
# in /etc/sysconfig/boinc-client

# Name of user to run as:

BOINCUSER=boinc

# Working directory.

BOINCDIR="/var/lib/boinc"

# Name of the client executable.

BOINCEXE="/usr/bin/boinc_client"
BOINCCMD="/usr/bin/boinccmd"

# Log and error files (should be placed in /var/log/ to avoid SELinux related issues)

LOGFILE="/var/log/boinc.log"
ERRORLOG="/var/log/boincerr.log"

# BOINC options: for the command line when running the client.

BOINCOPTS=

# Service name

prog=boinc-client

# Subsys lock file

LOCKFILE="/var/lock/subsys/$prog"

# Init script function library.

. /etc/rc.d/init.d/functions

# Look for any local configuration settings which override all above

[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog

# Verify the $BOINCDIR working directory exists

if [ ! -d $BOINCDIR ]; then
echo -n "Cannot find BOINC directory $BOINCDIR"
echo_failure
echo
exit 7
fi

# Verify the $BOINCEXE executable exists

if [ ! -x $BOINCEXE ]; then
echo -n "Cannot find an executable for the BOINC client."
echo_failure
echo
exit 2
fi

# Warn if there are no projects attached

cd $BOINCDIR
if [ ! -d projects ] ; then
echo -n "BOINC client requires initialization (no projects attached)."
echo_warning
echo
fi

check_status() {
status $BOINCEXE >& /dev/null
}

start() {
check_status && exit 0
echo -n $"Starting $prog: "

# Check that we're a privileged user
if [ `id -u` != 0 ] ; then
echo -n "Insufficient rights."
failure
echo
exit 4
fi

# Check that log files exist, otherwise create them with proper ownership
if [ ! -e $LOGFILE ]; then
touch $LOGFILE && chown $BOINCUSER:$BOINCUSER $LOGFILE
fi
if [ ! -e $ERRORLOG ]; then
touch $ERRORLOG && chown $BOINCUSER:$BOINCUSER $ERRORLOG
fi

daemon --check $BOINCEXE --user $BOINCUSER +10 "$BOINCEXE $BOINCOPTS --dir $BOINCDIR >>$LOGFILE 2>>$ERRORLOG &" >& /dev/null

# Check that boinc is running, give it a few tries
TRY=0
while [ $TRY -lt 10 ] ; do
check_status && { touch $LOCKFILE; success; echo; return; } || sleep 1
let TRY+=1
done;
check_status && { touch $LOCKFILE; success; } || failure
echo
}

stop() {
cd $BOINCDIR
check_status || exit 0
echo -n $"Stopping $prog: "
killproc -d 10 $BOINCEXE
rm -f $LOCKFILE
echo
}

reload() {
check_status || { start; exit; }
action "Reading configuration: " $BOINCCMD --read_cc_config | sed -e "s/retval.*//" -e "N;s/\n//;"
}

restart() {
stop
start
}

case "$1" in
start)
$1
;;
stop)
$1
;;
reload)
$1
;;
restart)
$1
;;
force-reload)
reload
restart
;;
condrestart|try-restart)
check_status || exit 0
restart
;;
status)
status $BOINCEXE
;;
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
exit 2
esac

exit $?


And the following file goes into /etc/sysconfig/

$ cat boinc-client
#
# Default variable values for the boinc-client /etc/init.d script
#
#BOINCEXE_NAME=boinc_client
BOINCEXE_NAME=boinc_client
#BOINCCMD_NAME=boinccmd
BOINCCMD_NAME=boinccmd

# The userid under which boinc_client is run
#BOINCUSER=boinc
BOINCUSER=boinc

# The directory in which boinc_client is run
#BOINCDIR=/var/lib/boinc
BOINCDIR=/home/boinc

# log files
#LOGFILE=/var/log/${BOINCEXE_NAME}.log
LOGFILE=/var/log/${BOINCEXE_NAME}.log
#ERRORLOG=/var/log/${BOINCEXE_NAME}_err.log
ERRORLOG=/var/log/${BOINCEXE_NAME}_err.log

# pid file
#PIDFILE=/var/run/${BOINCEXE_NAME}.pid

# placement of the lockfile depends upon the operating system
# it will probably be one of the following:
#LOCKFILE=/var/lock/subsys/${BOINCEXE_NAME}
#LOCKFILE=/var/lock/${BOINCEXE_NAME}
#LOCKFILE=/var/run/${BOINCEXE_NAME}.lock
LOCKFILE=/var/lock/subsys/${BOINCEXE_NAME}

# BOINC options: for the command line when running the client.
# Be aware that --allow_remote_gui_rpc opens up your machine to the world!
#
# Add this option if you want to allow boinc manager connections from remote
# machines
#BOINCOPTS="--allow_remote_gui_rpc"
# Add this option if you want to turn off all logging
#BOINCOPTS="--daemon"
# Add this option if you want to redirect logging to the files stderrdae.txt
# and stdoutdae.txt in BOINCDIR rather than LOGFILE and ERRORLOG
#BOINCOPTS="--redirectio"
# Add this option if you want to run only when no logins from anywhere are
# active
#BOINCOPTS="--check_all_logins"
# The default is no options.
#BOINCOPTS=
BOINCOPTS=
ID: 57840 · Report as offensive     Reply Quote
ProfileDave Jackson
Volunteer moderator

Send message
Joined: 15 May 09
Posts: 4540
Credit: 19,039,635
RAC: 18,944
Message 57843 - Posted: 22 Feb 2018, 8:09:05 UTC - in response to Message 57839.  

Can I suggest that it may well need two or even three people for this. I haven't touched an RPM distro for over 10 years and have never managed to succeed in installing Gentoo. Despite that I feel I have a reasonable knowledge of using a .deb based distro and can track down the 32 bit library dependencies needed for CPDN binaries to run under BOINC.

Another area that may be useful to cover would be running BOINC under WINE and the potential pitfalls there. (Main one I have noticed is that on one of my boxes the Linux client was starting automagically and not surprisingly wasn't talking to the Windows Boinc Manager so I had to kill the process in order to get it going under WINE. Then stop it starting every time I re-booted.
ID: 57843 · Report as offensive     Reply Quote
Art Masson
Avatar

Send message
Joined: 16 Oct 11
Posts: 254
Credit: 15,954,577
RAC: 0
Message 57860 - Posted: 26 Feb 2018, 16:12:01 UTC

Hi everyone..

My assumption is that no one is interested or has time to work with the BOINC Release Manager to develop better instructions for loading the various versions of BOINC for Linux...or that (per Dave's comment) this would likely take multiple individuals given the various platforms.

I'll advise Richard Haselgrove

Thanks anyway....This is my last post on this thread.
ID: 57860 · Report as offensive     Reply Quote
Art Masson
Avatar

Send message
Joined: 16 Oct 11
Posts: 254
Credit: 15,954,577
RAC: 0
Message 57861 - Posted: 26 Feb 2018, 16:15:00 UTC

Jean-David -- I did pass your details for Red Hat/EPEL on to Richard. Thanks for those detailed instructions.
ID: 57861 · Report as offensive     Reply Quote
DJStarfox

Send message
Joined: 27 Jan 07
Posts: 300
Credit: 3,288,263
RAC: 26,370
Message 57862 - Posted: 26 Feb 2018, 19:30:16 UTC

I'm most familiar with RHEL/Centos 6 and 7 and have been running BOINC on Red Hat based distributions for 8+ years. I'm sure i could dedicate an hour or two to write some documentaion for BOINC. Please have Richard reach out to me if he needs anything.
ID: 57862 · Report as offensive     Reply Quote
Jim1348

Send message
Joined: 15 Jan 06
Posts: 637
Credit: 26,751,529
RAC: 653
Message 57863 - Posted: 27 Feb 2018, 18:00:50 UTC

There were some good-looking instructions for Ubuntu posted somewhere recently - but I don't recall where. But I have my own simple instructions which work nicely for installing BOINC from the Ubuntu/Debian repository (it works for Lubuntu also), so if Richard is in need of that, please ask him to contact me here or the BOINC forum by PM.
ID: 57863 · Report as offensive     Reply Quote
Art Masson
Avatar

Send message
Joined: 16 Oct 11
Posts: 254
Credit: 15,954,577
RAC: 0
Message 57866 - Posted: 28 Feb 2018, 17:20:53 UTC - in response to Message 57863.  

Thanks Jim,

I don't believe Richard accesses this board...Please send me your full name and email contact info in a private message, and I'll forward the info to him so he can contact you.

Thanks for your help

Art Masson
ID: 57866 · Report as offensive     Reply Quote

Message boards : Number crunching : Volunteer to work with the BOINC Release Manger on Linux Instructions?

©2024 cpdn.org