wiki:UnixClientPackage

Version 14 (modified by Eric Myers, 16 years ago) (diff)

Add link to FHS

TOC?

Unix client package layout

The purpose of this page is to describe the layout of files for installation of the BOINC client software on Unix machines. That means various distros of Linux, but also FreeBSD, OpenBSD, Sun, HP, AIX, and any other Unix. It is desirable, as much as is possible, to keep things the same so that volunteers who are not Unix experts can still understand what is what and what is where and ask questions, without having to get into specifics of which distro they are using. It also helps when answering questions, as we don't have to preface a response with "if you have [flavor]..."

Files and directories should be placed in accordance with the guiding principles of the Filesystem Hierarchy Standard, which may be found at http://www.pathname.com/fhs/pub/fhs-2.3.html

Working directory

This is /var/lib/boinc on Fedora, but /var/lib/boinc-client on Debian. Can we agree on only one of these?

I think changing to /var/lib/boinc-client is the right thing. -EAM

Configuration files for the core client

These are cc_config.xml, remote_hosts.cfg, etc.) Debian, for example, puts these in /etc/boinc-client/ and has appropriate symlinks in the working directory

WHY? -EAM

It is policy in Debian that all configuraton files must reside in /etc -FST

That makes sense only for files which the sysadmin would edit to change configuration (like /etc/default/boinc-client) but not these .xml files, which are basically only saved state. They are not really "configuration" files in the Unix sense. -EAM

I think this is wrong, they are configuration files. System administrators are supposed to edit them, they are not state files. Just have a look at ClientMessages? and PrefsOverride, these pages will confirm this. -FST

Yup, I see what you mean. So I'm wondering if it would not be better to have the CC check for these files in multiple places: use the file in the working directory, if it exists, else use the one in /etc/boinc-client, if it exists. -EAM

Executable files

The proper names of these are being debated (April 2008). If there are changes, old names can be supported for a while with soft-links.

  • /usr/bin/boinc_client
  • /usr/bin/boincmgr
  • /usr/bin/boinc_cmd

Rom suggests considering boincd for the client. -EAM

init script to start/stop daemon

  • /etc/init.d/boinc or /etc/init.d/boinc-client ?

Again, let's try to pick one name for all distros.

config file read by the init script

  • /etc/default/boinc-client on Debian
  • /etc/sysconfig/boinc-client on Fedora

Fedora has a link to /etc/sysconfig as /etc/default, so in some sense these are the same place.

Currently the Fedora package and the RPM's from Pirates@Home use /etc/sysconfig/boinc. So future installers should look for that and rename it appropriately in the %pre install scriptlet.

In any case, the name should match the name of the init script.

Unix 'man' pages

Under /usr/share/man/man1 the files:

  • boinc.1
  • boinc_client.1
  • boincmgr.1
  • boinc_cmd.1

Change the names as needed to match any changes in command names.

log rotation

This file instructs logrotate how to rotate the logs in the working directory

We have no choice over where this goes, it has to be where logrotate expects to find it. I believe this is /etc/logrotate.d

bash command completion script