forked from root-project/root
-
Notifications
You must be signed in to change notification settings - Fork 0
/
xproofd.1
316 lines (283 loc) · 10.6 KB
/
xproofd.1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
.\"
.\" $Id: xproofd.1,v 1.3 2005/09/07 10:23:23 rdm Exp $
.\"
.TH XPROOFD 1 "Version 3" "ROOT"
.\" NAME should be all caps, SECTION should be 1-8, maybe w/ subsection
.\" other parms are allowed: see man(7), man(1)
.SH NAME
xproofd \- PROOF (The Parallel ROOT Facility) xrootd version
.SH SYNOPSIS
.B xproofd
.RB [ " -c " "\fIcfn\fR ]"
.RB [ " -d " ]
.RB [ " -l " "\fIfnc\fR ]"
.RB [ " -n " "\fIname\fR ]"
.RB [ " -p " "\fIport\fR ]"
.RB [ " -P " "\fIprot\fR ]"
.RI [ " prot_options " ]
.SH "DESCRIPTION"
Using \fBPROOF\fI (The \fIP\fRarallel \fIROO\fRT \fIF\fRacility) one
can analyze trees in parallel on a cluster of computers. The
\fBPROOF\fR system consists of the \fIxproofd\fR(1) from-end program
which is started via \fIinetd\fR(8).
.PP
\fIxproofd\fR takes care of user authentication and overlays itself
then with the desired version of the \fIproofserv\fR(1)
executable.
.PP The \fIproofserv\fR(1) is a basically the same as the \fBROOT\fR
interactive module \fIroot\fR(1), except that it reads its commands
from a socket instead of from the terminal.
.PP
Since it is a remote server it will not do graphics and therefore is
not linked with any graphics libraries (Motif, X11, etc.).
.SH "SETTING UP PROOF"
Since you need to handle sensitive system files, you need to have root
(the user, not the program!) privileges. Also, it's recommended that
you read the appropriate \fIman\fR(1) pages first. These are
\fIinetd\fR(8) (the internet daemon), \fIsysklogd\fR(8) and
\fIsyslog\fR(3) (the system logger daemon), and \fIinit\fR(8) (the
SYSV process control initializer).
.PP
In other words:
.RS
.I Be very VERY carefull when installing \fBxproofd\fR
.RE
There, I said it. And ofcourse, no warrenties what so ever.
.TP
1
Make sure every node has \fBROOT\fR installed. We'll assume you
installed the \fBROOT\fR applications in <\fIbindir\fR>
(e.g. \fI/usr/bin\fR) and the \fBPROOF\fR configuration files in
files in \fI<xproofdir>/etc\fB (e.g. \fI/usr/share/root/etc\fB).
.TP
2
The TCP port 1094 was allocated by \fBIANA\fR, (
.UR Iwww.iana.org
\fIwww.iana.org\fR
.UE
),
to \fBxrootd\fR, so add to \fI/etc/services\fR the lines:
.nf
xproofd 1093/tcp
xrootd 1094/tcp
.fi
.TP
3
On each node, add to \fI/etc/inetd.conf\fR the lines:
.nf
xproofd stream tcp nowait root <\fIbindir\fR>/xproofd xproofd <\fIxproofdir\fR>/proof
xrootd stream tcp nowait root <\fIbindir\fR>/xrootd xrootd \-i
.fi
You can substitute the <\fIxproofdir\fR> with any directory that holds
your \fBPROOF\fR configuration, for example
\fI/etc/root/proof\fR. However, it should be shared among all nodes in
the cluster.
.TP
4
Restart \fBinetd\fR or force it to re-read the config file:
.nf
kill \-1 <\fIinetd pid\fR>
.fi
If you use \fBSYSV\fR \fIinit\fR(8) scripts, you can probaly just do
.nf
/etc/init.d/inetd restart
.fi
or whatever is appropriate for your system.
.TP
5
On the master node, add to \fI/etc/syslog.conf\fR the line:
.nf
local5,local6.debug <\fIxproofdir\fR>/log/proof.log
.fi
and all slave nodes:
.nf
local5,local6.debug @<\fImaster hostname\fR>
.fi
where <\fImaster hostname\fR> is domain name of the master node.
All PROOF syslog messages will be collected on the master node.
Just make one node in the cluster the master, all others are slaves.
.TP
6
On all nodes, change the below lines in \fI/etc/syslog.conf\fR,
.nf
*.info;mail.none;news.none;authpriv.none /var/log/messages
.fi
to:
.nf
*.info;local5,local6,mail.none;news.none;authpriv.none /var/log/messages
.fi
.TP
7
Create an empty <\fIxproofdir\fR>/log/proof.log:
.nf
echo "" > <\fIxproofdir\fR>/log/proof.log
.fi
.TP
8
Restart syslogd or force it to re-read the config file:
.nf
kill \-1 <\fIsyslogd pid\fR>.
.fi
If you use \fBSYSV\fR \fIinit\fR(8) scripts, you can probaly just do
.nf
/etc/init.d/sysklogd restart
.fi
or whatever is appropriate for your system.
.TP
9
Edit <\fIxproofdir\fR>\fI/etc/proof.conf\fR to reflect your cluster
configuration. See the example \fIproof.conf\fR file for more
information.
.PP
If you installed \fBROOT\fR using some precompiled package (for
example a \fBRedhat Linux\fR or a \fBDebian GNU/Linux\fR package),
steps 2 to 4 may already be done for you.
.PP
If you're running \fBLinux\fR, Steps 5 to 7 can be somewhat automated
using the script \fIproof-facility\fR in <\fIxproofdir\fR> of your
distribution. This script uses \fIsyslog-facility\fR(1), from the
\fBLinux\fR \fIsyslog\fR(1) distribution, and may run on other
platforms as well \- but no warrenties mind you!
.PP
Step 9 is completely up to the user.
.SH "EXAMPLE"
That's it. To test PROOF try the following:
.nf
root [1] gROOT->Proof("<\fImaster hostname\fR>")
root [2] gPROOF->Print()
<shows information on the master and all active slave servers>
root [3] .q
.fi
.SH "FILES"
.TP
<\fIxproofdir\fB>
The location of your \fBPROOF\fI data. In binary packages, like for
\fBRedhat Linux\fII or \fBDebian GNU/Linux\fR, this will probably be
\fI/usr/share/root/proof\fB. If you got a binary \fItar\fR(1)-ball
from the \fBROOT\fR website, or a build it yourself without the static
paths option, then this directory could be ROOTSYS/proof. However, you
may set it to something else when starting your server.
.TP
<\fIxproofdir\fB>/etc\fR
This directory holds all the configuration files for your cluster(s).
.TP
<\fIxproofdir\fB>/etc/<cluster>.conf\fR
This is the cluster named <\fIcluster\fR> configuration file. See
<\fIxproofdir\fB>/etc/<cluster>.conf.sample\fR for an example.
.TP
<\fIxproofdir\fB>/etc/motd\fR
This is Message-Of-The-Day file. See
<\fIxproofdir\fB>/etc/motd.sample\fR for an example.
.TP
<\fIxproofdir\fB>/etc/noproof\fR
If this file is present, all \fBPROOF\fR services will be diabled. See
<\fIxproofdir\fB>/etc/noproof.sample\fR for an example.
.TP
<\fIxproofdir\fB>/etc/proof.conf\fR
This is the \fBPROOF\fR configuration file. See
<\fIxproofdir\fB>/etc/proof.conf.sample\fR for an example.
.TP
\fB~/.rootnetrc.conf\fR
Configuration file for network access. Here you specify login names
and pass word, so it \fBMUST\fI be read/write-able only by the user.
See <\fIxproofdir\fB>/etc/rootnetrc.conf.sample\fR for an example.
.TP
<\fIxproofdir\fB>/log\fR
This directory holds the log files from the master and slaves.
<\fIxproofdir\fB>/log/proof.log\fR
\fISyslog\fR(1) log file for \fBPROOF\fR.
.SH "SEE ALSO"
.IR proofserv (1)
,
.IR root (1)
,
.IR rootd (1)
,
.IR xrootd (1)
.PP
More information can be found at the \fBROOT\fR website:
.UR http://root.cern.ch
\fIhttp://root.cern.ch\fB
.UE
.SH "ORIGINAL AUTHORS"
The ROOT team (see web page above):
.RS
\fBRene Brun\fR and \fBFons Rademakers\fR
.RE
.SH "COPYRIGHT"
This library is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
published by the Free Software Foundation; either version 2.1 of the
License, or (at your option) any later version.
.P
This library is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
.P
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
.SH AUTHOR
This manual page was written by Christian Holm Christensen
<cholm@nbi.dk>, for the Debian GNU/Linux system (but may be used by
others).
.\"
.\" $Log: xproofd.1,v $
.\" Revision 1.3 2005/09/07 10:23:23 rdm
.\" From Christian Holm:
.\" fixes for Debian packages (due to the license change ROOT can be moved
.\" out of the non-free tree). Also updates in the man pages reflecting the
.\" new license.
.\"
.\" Revision 1.2 2005/03/21 21:42:21 rdm
.\" From Christian Holm Christensen:
.\" * New Debian and RedHat rpm packaging scripts.
.\" * Added a description to `build/package/debian/README.Debian' on
.\" how to add a new package. It's not that complicated so it
.\" should be a simple thing to add a new package, even for some
.\" with little or no experience with RPMs or DEBs.
.\" * When searching for the Oracle client libraries, I added the
.\" directories `/usr/lib/oracle/*/client/lib' and
.\" `/usr/include/oracle/*/client' - as these are the paths that the
.\" RPMs install into.
.\" * I added the packages `root-plugin-krb5' and
.\" `root-plugin-oracle'.
.\" * The library `libXMLIO' is in `libroot'.
.\" * The package `root-plugin-xml' contains the XML parser.
.\" * I fixed an cosmetic error in `build/misc/root.m4'. The
.\" definition of `ROOT_PATH' should be quoted, otherwise aclocal
.\" will complain.
.\" * In the top-level `Makefile' I pass an additional argument to
.\" `makecintdlls' - namely `$(ROOTCINTTMP)'. In `makecintdlls' I
.\" use that argument to make the various dictionaries for
.\" `lib...Dict.so'. Originally, the script used plain `rootcint'.
.\" However, as `rootcint' may not be in the path yet, or the one in
.\" the path may be old, this failed. Hence, I use what we know is
.\" there - namely the newly build `rootcint_tmp'. BTW, what are
.\" these shared libraries, and where do they belong? I guess they
.\" are specific to ROOT, and not used by plain `CINT'. For now, I
.\" put them in `libroot'.
.\" * Made the two `virtual' packages `root-db-client' - provided the
.\" DB plugins, and `root-fitter' provided by `root-plugin-minuit'
.\" and `root-plugin-fumili'. Note, the virtual package
.\" `root-file-server' provided by `root-rootd' and `root-xrootd'
.\" already existed in the previous patch.
.\" * Note, I added the directory `build/package/debian/po' which is
.\" for translations of DebConf templates. DebConf is Debians very
.\" advanced package configuration interface. It presents the user
.\" with a set of questions in some sort of `GUI' based on how much
.\" the user would like to change. These `dialogs' can be
.\" translated quite easily. As an example, I translated the
.\" questions used by the `ttf-root-installer' package into Danish.
.\" I'm sure someone can translate them into German, French,
.\" Italien, Spanish, and so on.
.\"
.\" Revision 1.1 2001/08/15 13:30:48 rdm
.\" move man files to new subdir man1. This makes it possible to add
.\" $ROOTSYS/man to MANPATH and have "man root" work.
.\"
.\" Revision 1.1 2000/12/08 17:41:00 rdm
.\" man pages of all ROOT executables provided by Christian Holm.
.\"
.\"