chiark / gitweb /
wip manpage
[inn-innduct.git] / doc / man / buffindexed.conf.5
1 .\" $Revision: 5909 $
2 .TH BUFFINDEXED.CONF 5
3 .SH NAME
4 buffindexed.conf \- configuration file for buffindexed ovmethod
5 .SH DESCRIPTION
6 The file
7 .I <pathetc in inn.conf>/buffindexed.conf
8 is required if buffindexed ovmethod is used.
9 .PP
10 Buffindexed is one of ovmethod which is specified in
11 .IR inn.conf .
12 It uses preconfigured buffer files to store overview data and index, and
13 never needs more disk space other than those files.  The files are divided
14 into 8 KB blocks internally; a given block is allocated for either overview
15 index or overview data.  A block is never shared among multiple newsgroups.
16 There is a database file:
17 .I <pathdb in inn.conf>/group.index
18 that includes information about each  newsgroup:  the pointer to the index
19 block for the group, high mark, low mark, flag of the group, the number of
20 articles, and etc.  This file is created automatically when all buffers
21 are initialized and must not be edited manually.  If all buffers are filled up,
22 .IR innd (8)
23 throttles itself.  Note that the buffer files are never rolled over and
24 overwritten the way CNFS does.  You need to append another buffer file in 
25 this event.  You can see the buffer usage with
26 .IR inndf (8)
27 with ``-o'' option.
28 .PP
29 The file consists of a series of lines;
30 blank lines and lines beginning with a number sign (``#'') are ignored.
31 There is only one kind of configuration line.
32 The order of lines in this file is not important.
33 .PP
34 .RS
35 .nf
36 index:file_name:buffer_size
37 .fi
38 .RE
39 .PP
40 \&``Index'' is an index of overview buffer.
41 \&``Index'' must be between 0 and 65535.
42 \&``File_name'' is the path to overview buffer file.
43 The length of this path should be not more than 63 characters.
44 \&``Buffer_size'' is the length of buffer file in kilobytes
45 in decimal (1 KB = 1024 bytes).  If the ``file_name'' is not a special
46 device, the actual file size must be buffer_size * 1024 bytes.
47 You can NOT use buffers over 2 GB even if you specify
48 .IR <\-\-with\-largefiles\ at\ configure> ,
49 or buffers will be broken.  It'll be fixed in the future.
50 .PP
51 When creating new overview buffer, there are two different methods for
52 creating the files.
53 .TP
54 .BR 1. " Create a big file on top of a standard filesystem."
55 .sp 1
56 Use "dd" to create the overview buffer
57 files, such as "dd if=/dev/zero of=/path/to/ovbuff bs=1024 count=N"
58 where N is the buffer_size.
59 .TP
60 .BR 2. " Use block disk devices directly."
61 .sp 1
62 If your operating system will allow you to
63 .I mmap()
64 block disk devices (Solaris does, FreeBSD does not), this is the
65 recommended method.  But note that Solaris (at least 2.6) seems to
66 have a problem in regional locking of block disk devices, and should
67 not be used as overview data will be corrupted.
68 .sp 1
69 Partition the disks to make each partition slightly larger (a few MB larger)
70 than the intended size of each overview buffer.
71 It is not recommend to use the block device files already located in
72 ``/dev''; instead, use "mknod" to create a new set of block device files.
73 In order to do this, do an "ls -Ll" of the /dev/dsk partition.
74 The major and minor device numbers are in the fifth and sixth columns (right
75 before the date), respectively.  This information should be fed to "mknod"
76 to make a "block-type special file" (b).
77 Here is a short script that accomplishes this when fed the name of the
78 partition as listed in ``/dev/dsk/'':
79 .sp 1
80 .nf
81 .in +0.5i
82 #!/bin/sh
83 disk=$1
84 major=`ls -l /dev/dsk/$disk | awk '{print $5}' | tr -d ,`
85 minor=`ls -l /dev/dsk/$disk | awk '{print $6}`
86 mkdir /ovbuff
87 mknod /ovbuff/$disk b $major $minor
88 .in -0.5i
89 .fi
90 .sp 1
91 The created device files themselves consume very little space.
92 .PP
93 In either case, make certain that each overview buffer file is owned by
94 .IR <USER\ specified\ with\ \-\-with\-news\-user\ at\ configure> ,
95 .IR <GROUP\ specified\ with\ \-\-with\-news\-group\ at\ configure> ,
96 and has read/write modes for the owner and group (mode ``0664'' or ``0660'').
97 .PP
98 When you first start
99 .IR innd (8)
100 and everything is configured properly, you should see messages in
101 .I <pathlog in inn.conf>/news.notice
102 which look like:
103 .sp 1   
104 .nf
105 .in +0.5i
106 Aug 27 00:00:00 kevlar innd: buffindexed: No magic cookie found for buffindexed 0, initializing
107 .in -0.5i
108 .fi
109 .PP
110 You MUST entirely recreate overview if you remove or relpace buffers.
111 You need not recreate if you just append new buffers.  And whenever you
112 recreate the overview data base, you need to clean all the buffers.
113 .SH HISTORY
114 Written by Katsuhiro Kondou <kondou@nec.co.jp> for InterNetNews.
115 .de R$
116 This is revision \\$3, dated \\$4.
117 ..
118 .R$ $Id: buffindexed.conf.5 5909 2002-12-03 05:17:18Z vinocur $
119 .SH "SEE ALSO"
120 inn.conf(5).