Commit a8aaca33 authored by Mathieu Mirmont's avatar Mathieu Mirmont

New upstream version 2.1.0+repack

parent 5198bdd2
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<title>socklog - benefits</title>
</head>
<body>
<a href="http://smarden.org/pape/">G. Pape</a><br>
<a href="index.html">socklog</a>
<hr>
<h1>socklog - benefits</h1>
<hr>
<a href="#logrotation">Log file rotation based on file size</a><br>
<a href="#selecting">Selecting and de-selecting log entries</a><br>
<a href="#network">Modular, reliable network logging</a><br>
<a href="#sortable">Sortable logs</a><br>
<a href="#smallcode">Small code size</a>
<hr>
Most of the benefits described here are actually benefits of
<a href="http://smarden.org/runit/svlogd.8.html">svlogd</a> and
<a href="http://cr.yp.to/daemontools/multilog.html">multilog</a>.
But since <i>socklog</i> uses
<a href="http://smarden.org/runit/svlogd.8.html">svlogd</a>
as its back-end, the benefits apply
to <i>syslogging</i> with <i>socklog</i>.
<hr>
<h2><a name="logrotation">Log file rotation based on file size</a></h2>
<p>
<a href="http://smarden.org/runit/svlogd.8.html">svlogd</a>
supports automatically rotated logs, there is no need for any other
tool running from cron or similar to rotate the logs.
<p>
<a href="http://smarden.org/runit/svlogd.8.html">svlogd</a>
keeps a specified number of log files with a maximum file size, so it is
possible to calculate a log file partition properly.
<p>
For example, this <tt>log/run</tt> file
<pre>
#!/bin/sh
LOGDIR=/var/log/socklog
exec setuidgid log svlogd ${LOGDIR}/main ${LOGDIR}/debug
</pre>
with these log <tt>config</tt> files
<pre>
# cat /var/log/socklog/main/config
s4999999
n10
# cat /var/log/socklog/debug/config
s999999
n5
-*
+*.debug*
</pre>
causes
<a href="http://smarden.org/runit/svlogd.8.html">svlogd</a>
to hold maximal 10 log files, each of maximal size
4999999 bytes in <tt>/var/log/socklog/main/</tt>, and maximal 5 log files,
each of maximal size 999999 bytes in <tt>/var/log/socklog/debug/</tt>.
<p>
So the maximal used space for these both logs is less then:
<p>
<tt>(10 * 5000000) + (5 * 1000000) = 55000000 bytes < 55 MB</tt>
<p>
If there is any service acting up and filling up your logs rapidly,
you will never run into a filled up log partition, causing loss of new
log entries, even of other services.
You can lose old log entries from this service, but will ever have the
recent ones.
<p>
Please note that above numbers could change if you use
<a href="http://smarden.org/runit/svlogd.8.html">svlogd</a>
with a <i>processor</i>.
<hr>
<h2><a name="selecting">Selecting and de-selecting log entries</a></h2>
<a href="http://smarden.org/runit/svlogd.8.html">svlogd</a>
supports selecting and de-selecting log lines based on pattern matching.
<p>
This is much more flexible than the usual <i>syslogd</i> support for
selecting log entries by <tt>facility</tt> and <tt>priority</tt>.
Of course, selecting entries by <tt>facility</tt> or <tt>priority</tt> is
still possible with <i>socklog</i> and
<a href="http://smarden.org/runit/svlogd.8.html">svlogd</a>,
just like the default <i>socklog-unix</i> configuration shows.
<p>
This line selection feature is also used for <i>socklog</i>'s instant
<a href="notify.html">Log events notification</a>.
<hr>
<h2><a name="network">Modular, reliable network logging</a></h2>
The <i>socklog-inet</i> service can be used to replace a <i>syslog</i>
network server, receiving log messages on UDP port 514.
Usually <i>syslog</i> clients try to transmit their logs to that port
using UDP.
<p>
<i>socklog</i> does not support this UDP network logging on the client
side.
<i>socklog</i> provides a different modular, reliable
<a href="network.html">Network logging concept</a> instead.
Logs are transmitted through network using a TCP connection in the default
configuration, log transmission failures are handled.
The modular design of
<a href="http://smarden.org/runit/">runit</a> and
<i>socklog</i> makes it possible to insert encryption, authentication,
compression, and more, easily.
<hr>
<h2><a name="sortable">Sortable logs</a></h2>
If <a href="http://smarden.org/runit/svlogd.8.html">svlogd</a> is
told to prepend log lines with time-stamps, the resulting logs are sortable.
So it is possible to merge different logs and sort them chronologically
without special effort.
<hr>
<h2><a name="smallcode">Small code size</a></h2>
One of the <i>socklog</i> project's principles is to keep the code size
minimal. As of version 0.8.0 of <i>socklog</i>, the <tt>socklog.c</tt>
source contains only about 400 lines of code; the <tt>uncat.c</tt> source is
about 200 lines of code.
<p>
This minimizes the possibility of bugs introduced by programmer's fault,
and makes it more easy for security related people to proofread the source
code.
<p>
Of course this also means that <i>socklog</i> never will evolve to a
multi-/over-featured, bloated project.
<hr>
<address><a href="mailto:pape@smarden.org">
Gerrit Pape &lt;pape@smarden.org&gt;
</a></address>
<small>$Id: benefits.html,v 1.12 2003/08/09 16:15:38 pape Exp $</small
</body>
</html>
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<title>socklog - configuration</title>
</head>
<body>
<a href="http://smarden.org/pape/">G. Pape</a><br>
<a href="index.html">socklog</a><br>
<hr>
<h1>socklog - configuration</h1>
<hr>
The <i>socklog-unix</i> service listens on the unix domain socket
<tt>/dev/log</tt>. Usually this service replaces the <i>syslogd</i>
system log daemon.
<p>
The <i>socklog-inet</i> service listens on the UDP port
<tt>0.0.0.0:514</tt>. Usually this service replaces <i>syslogd</i>'s
support for remote logging.
<p>
The <i>socklog-klog</i> service reads kernel messages from
<tt>/proc/kmsg</tt> on Linux or <tt>/dev/klog</tt> on BSD. Usually this
service replaces <i>klogd</i> on Linux or <i>syslogd</i> on BSD.
<p>
The <i>socklog-ucspi-tcp</i> service listens on the TCP port
<tt>0.0.0.0:10116</tt>, this is a server for
<a href="network.html">socklog network logging</a>, a different remote
logging concept.
<p>
The <i>socklog-notify</i> handles
<a href="notify.html">log event notification</a>, scheduled notification
of specified log entries.
<hr>
<h2>How to configure the socklog services</h2>
<a href="#unix">The socklog-unix service</a><br>
<a href="#inet">The socklog-inet service</a><br>
<a href="#klog">The socklog-klog service</a><br>
<a href="#ucspi-tcp">The socklog-ucspi-tcp service</a><br>
<a href="#notify">The socklog-notify service</a><br><br>
<a href="http://cr.yp.to/daemontools/faq/create.html#remove">
Removing socklog services</a>
<hr>
<h3><a name="unix">The socklog-unix service</a></h3>
Before starting the <i>socklog-unix</i> service, you will have to make two
decisions:
<ul>
<li>The <i>socklog-unix</i> account name, normally <tt>nobody</tt>. The
<tt>socklog</tt> program runs under this account. If this account does not
exist, create it now.
<li>The <i>socklog</i> account name, normally <tt>log</tt>. Logging
programs run under this account. If this account does not exist, create
it now.
</ul>
Create the service directory and log directories by running the
<a href="socklog-conf.8.html"><tt>socklog-conf</tt></a> program:
<pre>
# socklog-conf unix nobody log
</pre>
If you are replacing another service providing system logging through the
socket <tt>/dev/log</tt>, such as <i>syslogd</i>, stop this service now and
ensure that it will not be restarted on runlevel change or system reboot.
<p>
Tell <a href="http://smarden.org/runit/runsvdir.8.html">runsvdir</a> about
the new service:
<pre>
# ln -s /etc/sv/socklog-unix /var/service/
</pre>
Wait five seconds for the service to start and then check the log
directories, e.g.:
<pre>
# less /var/log/socklog/main/current
</pre>
Optionally configure the <i>socklog-unix</i> service by
<a href="http://cr.yp.to/daemontools/faq/create.html#upgrade">editing</a>
the corresponding <tt>run</tt> scripts and <tt>config</tt> files:
<ul>
<li>/var/service/socklog-unix/run
<li>/var/service/socklog-unix/log/run
<li>/var/log/socklog/*/config
</ul>
<hr>
<h3><a name="inet">The socklog-inet service</a></h3>
Before starting the <i>socklog-inet</i> service, you will have to make two
decisions:
<ul>
<li>The <i>socklog-inet</i> account name, normally <tt>nobody</tt>. The
<tt>socklog</tt> program runs under this account. If this account does not
exist, create it now.
<li>The <i>socklog</i> account name, normally <tt>log</tt>. Logging
programs run under this account. If this account does not exist, create
it now.
</ul>
Create the service directory and log directories by running the
<a href="socklog-conf.8.html"><tt>socklog-conf</tt></a> program:
<pre>
# socklog-conf inet nobody log
</pre>
If you are replacing another service providing system logging through the
syslog UDP port 514, such as <i>syslogd</i>, stop this service now and ensure
that it will not be restarted on runlevel change or system reboot.
<p>
Tell <a href="http://smarden.org/runit/runsvdir.8.html">runsvdir</a> about
the new service:
<pre>
# ln -s /etc/sv/socklog-inet /var/service/
</pre>
Wait five seconds for the service to start and then check the log
directory:
<pre>
# less /var/log/socklog-inet/main/current
</pre>
Optionally configure the <i>socklog-inet</i> service by
<a href="http://cr.yp.to/daemontools/faq/create.html#upgrade">editing</a>
the corresponding <tt>run</tt> scripts and <tt>config</tt> file:
<ul>
<li>/var/service/socklog-inet/run
<li>/var/service/socklog-inet/log/run
<li>/var/log/socklog-inet/main/config
</ul>
<hr>
<h3><a name="klog">The socklog-klog service</a></h3>
Before starting the <i>socklog-klog</i> service, you will have to make two
decisions:
<ul>
<li>The <i>socklog-klog</i> account name, normally <tt>nobody</tt>. The
<tt>socklog</tt> program runs under this account. If this account does not
exist, create it now.
<li>The <i>socklog</i> account name, normally <tt>log</tt>. Logging
programs run under this account. If this account does not exist, create
it now.
</ul>
Create the service directory and log directories by running the
<a href="socklog-conf.8.html"><tt>socklog-conf</tt></a> program:
<pre>
# socklog-conf klog nobody log
</pre>
If you are replacing another service providing kernel logging, such as
<i>klogd</i> on Linux or <i>syslogd</i> on BSD, stop this service now and
ensure that it will not be restarted on runlevel change or system reboot.
<p>
Tell <a href="http://smarden.org/runit/runsvdir.8.html">runsvdir</a> about
the new service:
<pre>
# ln -s /etc/sv/socklog-klog /var/service/
</pre>
Wait five seconds for the service to start and then check the log
directory:
<pre>
# less /var/log/socklog-klog/main/current
</pre>
Optionally configure the <i>socklog-klog</i> service by
<a href="http://cr.yp.to/daemontools/faq/create.html#upgrade">editing</a>
the corresponding <tt>run</tt> scripts and <tt>config</tt> file:
<ul>
<li>/var/service/socklog-klog/run
<li>/var/service/socklog-klog/log/run
<li>/var/log/socklog-klog/config
</ul>
<hr>
<h3><a name="ucspi-tcp">The socklog-ucspi-tcp service</a></h3>
Before starting the <i>socklog-ucspi-tcp</i> service</a>, you will have
to make two decisions:
<ul>
<li>The <i>socklog-ucspi-tcp</i> account name, normally <tt>nobody</tt>.
The <tt>socklog</tt> program runs under this account. If this account
does not exist, create it now.
<li>The <i>socklog</i> account name, normally <tt>log</tt>. Logging
programs run under this account. If this account does not exist, create
it now.
</ul>
Make sure that you have the <a href="http://smarden.org/ipsvd/">ipsvd</a>
package installed.
Then create the service directory and log directories by running the
<a href="socklog-conf.8.html"><tt>socklog-conf</tt></a> program:
<pre>
# socklog-conf ucspi-tcp nobody log
</pre>
Tell <a href="http://smarden.org/runit/runsvdir.8.html">runsvdir</a> about
the new service:
<pre>
# ln -s /etc/sv/socklog-ucspi-tcp /var/service/
</pre>
Wait five seconds for the service to start and then check the log
directory:
<pre>
# less /var/log/socklog-ucspi-tcp/main/current
</pre>
Optionally configure the <i>socklog-ucspi-tcp</i> service by
<a href="http://cr.yp.to/daemontools/faq/create.html#upgrade">editing</a>
the corresponding <tt>run</tt> scripts and <tt>config</tt> file:
<ul>
<li>/var/service/socklog-ucspi-tcp/run
<li>/var/service/socklog-ucspi-tcp/log/run
<li>/var/log/socklog-ucspi-tcp/main/config
</ul>
Refer to <a href="network.html">Network logging</a> for setting up clients.
<hr>
<h3><a name="notify">The socklog-notify service</a></h3>
Before starting the <i>socklog-notify</i> service</a>, you will have to
make two decisions:
<ul>
<li>The <i>socklog</i> account name, normally <tt>log</tt>. The
<tt>uncat</tt> program runs under this account. If this account does not
exist, create it now.
<li>The <i>socklog</i> group name, normally <tt>adm</tt>. Logging
programs that report <a href="notify.html">log events</a> to the
<i>socklog-notify</i> service must run under an account that is member
of this group. If this group does not exist, create it now.
</ul>
Create the service directory by running the
<a href="socklog-conf.8.html"><tt>socklog-conf</tt></a> program:
<pre>
# socklog-conf notify log adm
</pre>
Tell <a href="http://smarden.org/runit/runsvdir.8.html">runsvdir</a> about
the new service:
<pre>
# ln -s /etc/sv/socklog-notify /var/service/
</pre>
Wait five seconds for the service to start, you can test the service with:
<pre>
# echo test | tai64n > /var/log/socklog/.notify
</pre>
Optionally configure the <i>socklog-notify</i> service by
<a href="http://cr.yp.to/daemontools/faq/create.html#upgrade">editing</a>
the corresponding <tt>run</tt> script:
<ul>
<li>/var/service/socklog-notify/run
</ul>
Read <a href="notify.html">Log events notification</a> before disabling this
service and for configuring arbitrary log services to notify events.
<hr>
<address><a href="mailto:pape@smarden.org">
Gerrit Pape &lt;pape@smarden.org&gt;
</a></address>
<small>$Id: configuration.html,v 1.26 2006/03/06 12:56:33 pape Exp $</small>
</body>
</html>
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<title>socklog - examples</title>
</head>
<body>
<a href="http://smarden.org/pape/">G. Pape</a><br>
<a href="index.html">socklog</a><br>
<hr>
<h1>socklog - examples</h1>
<hr>
<h2>
listening on unix domain dgram socket <tt>/dev/log</tt>:
</h2>
<ul>
<li>a sample <tt>socklog-unix/run</tt> script:
<pre>
#!/bin/sh
exec 2&gt;&amp;1
exec chpst -Unobody socklog unix /dev/log
</pre>
<li>a sample <tt>socklog-unix/log/run</tt> script:
<pre>
#!/bin/sh
exec chpst -ulog svlogd \
main/main main/auth main/cron main/daemon main/debug main/ftp \
main/kern main/local main/mail main/news main/syslog main/user
</pre>
<li>sample log <tt>config</tt> files:
<pre>
# cat main/config
s999999
n10
# cat auth/config
s999999
n5
-*
+auth.*
+authpriv.*
# cat debug/config
s999999
n5
-*
+*.debug*
</pre>
<li>if you want additional
<a href="http://cr.yp.to/daemontools/tai64n.html">tai64n</a> time-stamps
prepended to each message, use this <tt>socklog-unix/log/run</tt> script
as example:
<pre>
#!/bin/sh
exec chpst -ulog svlogd -t \
main/main main/auth main/cron main/daemon main/debug main/ftp \
main/kern main/local main/mail main/news main/syslog main/user
</pre>
</ul>
<hr>
<h2>
listening on udp network socket <tt>0.0.0.0</tt>:<tt>514</tt>:
</h2>
<ul>
<li>a sample <tt>socklog-inet/run</tt> script is:
<pre>
#!/bin/sh
exec 2&gt;&amp;1
exec chpst -Unobody socklog inet 0 514
</pre>
<li>a sample <tt>socklog-inet/log/run</tt> script is:
<pre>
#!/bin/sh
exec chpst -ulog svlogd -t main/main
</pre>
</ul>
<hr>
<h2>
reading kernel messages from <tt>/dev/klog</tt> on BSD:
</h2>
<ul>
<li>a sample <tt>socklog-klog/run</tt> script on BSD:
<pre>
#!/bin/sh
exec &lt;/dev/klog
exec 2&gt;&amp;1
exec chpst -unobody socklog ucspi
</pre>
<li>a sample <tt>socklog-klog/log/run</tt>:
<pre>
#!/bin/sh
exec chpst -ulog svlogd -t main/main
</pre>
</ul>
<hr>
<h2>
A client for <a href="network.html">socklog network logging</a>:
</h2>
<ul>
<li>a sample <tt>socklog-unix/log/run</tt> script and log <tt>config</tt>
file that transmits the logs to a network logging server running the
<i>socklog-ucspi-tcp</i> service on <tt>10.0.0.16:10116</tt> is (you
need to have the <i>netcat</i> package installed):
<pre>
#!/bin/sh
exec chpst -ulog svlogd ./main/main
# cat main/config
s4096
n20
!tryto -pv nc -q0 10.0.0.16 10116
</pre>
</ul>
<hr>
<h2>
<a href="notify.html">log events notification</a> with <i>wall</i>:
</h2>
<ul>
<li>a sample <tt>socklog-notify/run</tt> script that uses
<i>wall</i> for notification is:
<pre>
#!/bin/sh -e
PIPE=/var/log/socklog/.notify
if [ ! -p "$PIPE" ]; then mkfifo -m0620 "$PIPE"; chown log:adm "$PIPE"; fi
exec &lt;&gt; "$PIPE"
exec chpst -ulog uncat -s49999 -t180 sh -c 'head | wall'
</pre>
</ul>
<hr>
<address><a href="mailto:pape@smarden.org">
Gerrit Pape &lt;pape@smarden.org&gt;
</a></address>
<small>$Id: examples.html,v 1.16 2003/08/09 16:15:38 pape Exp $</small>
</body>
</html>
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<title>socklog - system and kernel logging services</title>
</head>
<body>
<a href="http://smarden.org/pape/">G. Pape</a>
<hr>
<h1>socklog - system and kernel logging services</h1>
<hr>
See <a href="http://smarden.org/socklog2/">here</a> for the current stable
release 2.0.x of <i>socklog</i>.
<p>
<hr>
<a href="install.html">How to install socklog</a><br>
<a href="upgrade.html">Upgrading from previous versions of socklog</a><br>
<a href="usedietlibc.html">How to use dietlibc</a><br>
<a href="readme.solaris.html">Using on solaris</a>
<p>
<a href="benefits.html">Benefits</a><br>
<a href="configuration.html">Configuration</a><br>
<a href="examples.html">Examples</a><br>
<a href="network.html">Network logging</a><br>
<a href="notify.html">Log events notification</a>
<p>
<a href="socklog-conf.8.html">The <tt>socklog-conf</tt> program</a><br>
<a href="socklog.8.html">The <tt>socklog</tt> program</a><br>
<a href="tryto.1.html">The <tt>tryto</tt> program</a><br>
<a href="uncat.1.html">The <tt>uncat</tt> program</a>
<hr>
<i>socklog</i>, in cooperation with the
<a href="http://smarden.org/runit/">runit</a> package, is a small and
secure replacement for syslogd.
There are three main features syslogd provides:
<ul>
<li>
receiving syslog messages from an unix domain socket
(&quot;<tt>/dev/log</tt>&quot;) and writing them to various files on disk
depending on <tt>facility</tt> and <tt>priority</tt>.
<li>
receiving syslog messages from an udp socket
(&quot;<tt>0.0.0.0:514</tt>&quot;) and writing them to various files on
disk depending on <tt>facility</tt> and <tt>priority</tt>.
<li>
writing received syslog messages to an udp socket
(&quot;<tt>a.b.c.d:514</tt>&quot;)
</ul>
<p>
<i>socklog</i> provides these features with the help of
<a href="http://smarden.org/runit/">runit</a>'s
<a href="http://smarden.org/runit/runsvdir.8.html">runsvdir</a>,
<a href="http://smarden.org/runit/runsv.8.html">runsv</a>,
and <a href="http://smarden.org/runit/svlogd.8.html">svlogd</a>,
provides a different
<a href="network.html">network logging concept</a>, and additionally
does <a href="notify.html">log event notification</a>.
<p>
<a href="http://smarden.org/runit/svlogd.8.html">svlogd</a>
has a built in
<a href="benefits.html#logrotation">log file rotation based on file size</a>,
so there is no need for any cron jobs or similar to rotate the logs.
Log partitions can be calculated properly.
<p>
<i>socklog</i> runs on <b>Linux</b>, glibc 2.1.0 or higher, or dietlibc,
<b>Open-BSD</b>, and <b>Free-BSD</b>.
<i>socklog</i> reportedly runs on <b>Solaris</b> and <b>Net-BSD</b>.
If it runs for you on any other operating systems, please
<a href="mailto:misc@list.smarden.org">let me know</a>.
<p>
<i>socklog</i> is small, secure, reliable.
<hr>
<i>socklog</i> is discussed on the
<a href="mailto:misc@list.smarden.org">&lt;misc@list.smarden.org&gt;</a>
mailing list. To subscribe send an empty email to
<a href="mailto:misc-subscribe@list.smarden.org">
&lt;misc-subscribe@list.smarden.org&gt;</a>. Send an empty email to
<a href="mailto:misc-help@list.smarden.org">
&lt;misc-help@list.smarden.org&gt;</a> for more information about this list.
<hr>
<p>
<i>socklog</i> is run under
<a href="http://smarden.org/runit/">runit</a>'s
<a href="http://smarden.org/runit/runsv.8.html">runsv</a>,
writing syslog messages it receives from an unix domain
socket <tt>path</tt> (&quot;<tt>/dev/log</tt>&quot;) or an inet udp socket
<tt>ip:port</tt> (&quot;<tt>0.0.0.0:514</tt>&quot;) through a pipe
provided by
<a href="http://smarden.org/runit/runsv.8.html">runsv</a>
to a <a href="http://smarden.org/runit/svlogd.8.html">svlogd</a>
process.
<p>
<i>socklog</i> can be run as an
<a href="http://cr.yp.to/proto/ucspi.txt">ucspi</a> application to
listen to an unix domain stream socket and for centralized or more
flexible distributed logging (see
<a href="network.html">network logging</a>).
<p>
If <i>socklog</i> listens to an udp socket, it prepends <tt>ip:</tt>
(&quot;<tt>a.b.c.d: </tt>&quot;) to each syslog message it receives,
where <tt>a.b.c.d</tt> is the ip address of the connecting system.
<p>
If the environment variables <tt>$UID</tt> and/or <tt>$GID</tt> are present,
<i>socklog</i> drops permissions to those ids after creating and binding
to the socket (not in
<a href="http://cr.yp.to/proto/ucspi.txt">ucspi</a> mode).
<p>
<i>socklog</i> converts syslog <tt>facility</tt> and <tt>priority</tt>
information to names (&quot;<tt>facility.priority</tt>&quot;) as found in
<tt>/usr/include/syslog.h</tt>
at compile time if present, you can use this for
<a href="http://smarden.org/runit/svlogd.8.html">svlogd</a>'s line
selecting by pattern.
<hr>
A proper <tt>run</tt> file for
<a href="http://smarden.org/runit/runsv.8.html">runsv</a> is:
<pre>
#!/bin/sh
exec 2&gt;&amp;1
exec chpst -Unobody socklog unix /dev/log
</pre>
<p>
A proper <tt>log/run</tt> file for
<a href="http://smarden.org/runit/runsv.8.html">runsv</a> is:
<pre>
#!/bin/sh
exec chpst -ulog svlogd -t main/*
</pre>
<hr>
See <a href="install.html">INSTALL</a> on how to install <i>socklog</i>
and <a href="configuration.html">Configuration</a> for setting up
<i>socklog</i> services.
<hr>
See <a href="http://smarden.org/socklog/">http://smarden.org/socklog/</a>
for recent informations.
<hr>
<address><a href="mailto:pape@smarden.org">
Gerrit Pape &lt;pape@smarden.org&gt;
</a></address>
<small>$Id: index.html,v 1.40 2006/03/06 12:56:33 pape Exp $</small>
</body>
</html>
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<title>socklog - installation</title>
</head>
<body>
<a href="http://smarden.org/pape/">G. Pape</a><br>
<a href="index.html">socklog</a><br>
<hr>
<h1>socklog - installation</h1>
<hr>
Since version 0.3.0, <i>socklog</i> installs into
<a href="http://cr.yp.to/slashpackage.html">/package</a>.
<p>
Check that you have the recent version of
<a href="http://smarden.org/runit/">runit</a> installed.
<p>
Download
<a href="socklog-2.1.0.tar.gz">socklog-2.1.0.tar.gz</a> into
<tt>/package</tt> and unpack the archive
<pre>
# cd /package
# gunzip socklog-2.1.0.tar
# tar -xpf socklog-2.1.0.tar
# rm socklog-2.1.0.tar
# cd admin/socklog-2.1.0