-
Notifications
You must be signed in to change notification settings - Fork 10
/
INSTALL
127 lines (86 loc) · 3.79 KB
/
INSTALL
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
# INSTALL
# perp: persistent process supervision
# (includes runtools and libasagna)
# wcm, 2009.12.23 - 2011.02.02
# ===
SYNOPSIS
$ vi conf.mk
$ make && make strip
$ su
# make install
# perp-setup /etc/perp
DESCRIPTION
The build system and source code are intended to be generic and
portable.
Using your preferred text editor, open the file "conf.mk" in the
top-level directory to configure the compiler, the compiler options,
and the installation directories:
$ vi conf.mk
As an unprivileged user, build the software with:
$ make
The system is intended to be make(1) "agnostic", and should build
correctly with any standard make provided with either BSD or Linux
systems.
Strip debugging symbols for smaller executables:
$ make strip
To install the compiled binaries and man pages, gain administrator
privilege and run:
$ su
# make install
The software is now installed on the system.
ACTIVATION
Before activating the software for the first time, take some moments
to become familiar with its configuration and operation. In particular,
skim the manual pages for perp_intro(8), perpd(8), and perpetrate(5).
It is recommended to use perpboot(8) to start and log the perp
system. The perp-setup(8) utility may be used to automatically
install and configure perpboot(8) into the system's init(8) scripts,
whether System-V style (/etc/inittab) or BSD style (/etc/rc.local):
# perp-setup /etc/perp
Review the startup scripts now installed in /etc/perp/.boot and
the perpboot(8) stanza added to either /etc/inittab or /etc/rc.local.
Activation of the system then depends on the host system. If
System-V style (/etc/inittab), just send a SIGHUP to init(8):
# kill -HUP 1
If BSD-style (/etc/rc.local), you will need to reboot the machine:
# shutdown -r now
The perp system will then be activated and services may be added to
/etc/perp at anytime.
UPGRADING
If upgrading a previous perp installation, follow all the steps above.
The perp-setup(8) utility script will not disturb any previous
configuration it finds in any of /etc/inittab, /etc/rc.local, or
/etc/perp/.boot.
To restart perpd without rebooting the system, become super-user, find
the pid of the currently running perpd process, and then kill(1) it:
$ su
# ps ux | grep perpd
root 233 ... 1:11PM 0:00.01 perpd -a6 /etc/perp
# kill 233
In this example, the current instance of perpd is shown running as
process id 233. The SIGTERM sent to perpd initiates a controlled
shutdown of all services, before perpd terminates itself.
Under a normal configuration, perpd is itself supervised by either
init(8) through a "respawn" entry in /etc/inittab, or by perpboot(8)
started in /etc/rc.local. In either of these cases, the newly installed
version of perpd will be restarted automatically after the old version
exits. All the services installed and activated in /etc/perp will
then be automatically restarted and restored to operation.
The perp-setup script may install new versions of perpboot(8) scripts
in /etc/perp/.boot/ without disturbing any existing ones. The new
files may be found with a ".new" extension. The administrator may
inspect the ".new" files and decide whether any modification of existing
scripts is in order.
As a special case, if upgrading from perp-0.00 to a later release in
the perp-2.* series, it will be necessary to remove a couple of old
files from the earlier release manually. These are the executable
perpetrate(8) and its associated manpage. The normal locations of these
files will be:
/usr/sbin/perpetrate
/usr/share/man/man8/perpetrate.8
EXAMPLES
The examples subdirectory in the distribution package contains a small
collection of ready-made service definitions. The README file in that
directory, and with each example service definition, explains its usage
and installation procedure.
### EOF