Florian Kuehnert, sutok@gmx.de 译者: Mile Yeh mile@mail.timenet.net
s4 u' I" p* H; k) T( f e5 N7 R
v0.3, 4一月 1998
# H; J# v5 I3 I q+ K
) _: [( Y( G0 _+ t6 b9 o0 ?4 V( k, T( [1 K8 e* V6 A2 s( k
--------------------------------------------------------------------------------
. @1 Q6 [; ?( ^! D: G' M1 G% V, w这份 HOWTO 将会帮助你针对 Usenet
新闻设定一个小的 leafsite 它使用免费软体套件 Leafnode .有任何问题, 建议和意见,请写信给 Florian Kuehnert (sutok@gmx.de).你在这文件找到的任何错误也请送给我. (C) 1998 by Florian Kuehnert.
. e8 s( z- n. B7 S. s7 P
--------------------------------------------------------------------------------
1 E; A- s7 z0 k) N" J8 J
& U7 V d: r4 B--------------------------------------------------------------------------------
# }+ I4 P' w4 j2 X5 p' @, ~7 \9 U$ i' b: M6 B
1. 为什麽使用 Leafnode?
1 k0 Z) L3 c3 ]! O' u
在
标准案例上如果你要在你的本地
电脑上离线看新闻你必须安装一个新闻伺服器软体就像 INN 或者 CNews.你也要使用 nntp 或者 uucp 联接到你的新闻上游. 事实上这样的套件包含比你需要的更多特色,安装 Leafnode 你会较好执行.
. d6 |& }% y# F+ Q
$ Z+ H( `4 L& T4 I# f5 `& n+ g1 t$ T; G/ i8 @* K
Leafnode 是使用上简单许多且非常小的但是有一些缺点: 在有一些错误发生的情形下 Leafnode 是缓慢的和遗失新闻 . 这就是为什麽你不要使用它当做一个大的新闻伺服器, 然而,这是适当的对於个人的用户,使用者不要花费许多
时间设定 INN.
9 _9 R- N; | ]$ A5 ?, Y. L9 T I5 f
, E9 U8 Z. K4 g7 t
2 [/ e& N2 O1 O
H7 B5 w! x: \1 H/ ~) N$ a' k
1 z+ s! n- p8 L--------------------------------------------------------------------------------
2 |2 p0 p( M8 @ \--------------------------------------------------------------------------------
+ `4 `' |8 i& O0 H) X' T( E W0 h7 k+ I2 l1 b
6. 我应该使用什麽 newsreader (新闻读取员)?
6 w( r% \% x- h- x H$ w/ ~
没有针对
Linux 的 newsreader (新闻读取员),就像是没有
编辑器.我最爱的 newsreader (新闻读取员)是 gnus模式下的 emacs 在针对 Linux 它有最多的可设定的 reader (读取员) .多数人在终端机上是使用 slrn和 tin ,在 X 之下许多人使用 knews.也有使用 trn, nn 和更多种 reader (读取员),所以试试什麽是你喜爱的.唯一你不要使用的是 reader (读取员) Netscape ,它是大的, 没有特色,不稳定的,和有时它建立坏掉的 posting(张贴).无论如何,这是你的个人的决定.
, W) l! w+ w' l2 f3 A
+ E5 A% [, ~6 T. O& g }/ }2 t2 L
! u( t' _0 s, y( E* c$ `3 d无论如何, knews 对於你的第一次经验是不错的考虑,它是使用者友善的和容易了解.
+ p. ^4 J, \$ d, u) {! r
) T/ u( U* x9 ]9 S
9 q8 R6 o5 n5 K& i5 |+ O5 q
; X; s$ M; n1 L" E. m: L--------------------------------------------------------------------------------
9 R: D& h8 d5 Y5 ?+ Z+ K( q--------------------------------------------------------------------------------
0 R& e x; I# z: M7 ?* b0 U0 \9 z9 a6 L; m- K
7. 在哪里我可以取得更多资料?
0 d9 x2 G2 Z" N- Y6 Y: y) k
一些文件是由 Leafnode套件提供 (看文件 INSTALL 和 README,原始码是也十分有趣的).如果你要知道更多关於 "职业的"和 "大的"新闻
服务器, 检查 INN FAQ (他们是由 INN 套件提供的).取得资料关於你的 newsreader (新闻读取员),键入 man "name of your newsreader" (你的新闻读取员的名称) 或者检查别的文件在 /usr/doc.
3 q1 M* }' T" Z, s+ S( q, E/ s
) x, B H+ ^7 K. s
如果你有任何问题关於新闻
系统,只要在一适当的新闻群组发问 (看 news.software.ALL 的阶级组织).
( R& ?$ D: }1 d# Q! A
4 z$ F' _& @7 B( ^) _如果你有任何询问,注解或者订正关於这 HOWTO,只管写信给我 (sutok@gmx.de).
" i0 n4 J& x: C; y
8 j" U! v1 }3 J
- B+ D/ n0 m7 w9 u% r
7 z) p' ~7 d; I; d" j, x# d% T% ^--------------------------------------------------------------------------------
( o. L- s3 N9 a3 W--------------------------------------------------------------------------------
% M9 [9 x f7 G; ]5 H$ J/ Z9 D
8 M0 Y( Y4 x% Y2 n6 K4 t0 I y. b8. 谢谢
6 r* O4 i0 V0 F4 L8 g. }我想谢谢 Michael Schulz (michaels@home.on-luebeck.de) 针对他的帮助关於一些语言问题和 Cornelius Krasel (krasel@wpxx02.toxi.uni-wuerzburg.de) 针对他的 "touch *"-技巧.
. |7 |- u' {8 g8 X$ w. C( o8 K! `
- G" H* S, ?; g$ h
) s- @3 m4 c: I& l4 V: J0 W' n. A, d4 i4 T4 X* n( r" b' U
! l) ~% L, c5 a, z1 }) c l( m
--------------------------------------------------------------------------------
! F: ?% \8 B4 p& H. S; a, \. c
9 @% |$ l! Q* H" o& T
! [( M( }/ [2 w5 E2 X
--------------------------------------------------------------------------------
8 Q' {: S a, Z# @0 A( I/ w
1 a1 s# |$ @0 J0 I2. 在哪里取得 Leafnode?
$ K0 I4 q$ H/ ~$ SLeafnode是在 ftp://ftp.troll.no/pub/freebies/ 可以取得和它是由 Arnt Gulbrandsen 所发展的,他是 Troll Tech AS 的一个职员.最近的版本是 1.4 和在一些 Linux distributions (例如 Debian), Leafnode 被包含在其中.无论如何,确定使用最晚的版本 1.4 它修正了几个重要的问题.
# O0 w' N7 s) T- v* s
* n) ?; H4 g. r! Q$ ?! S! }
% V$ C' q% [% e& A
/ \! d1 f# w+ `/ ~
3 t- v& g0 b* d3 f& b! [
--------------------------------------------------------------------------------
/ _) m. Q: \# x' g+ G- o9 R5 g5 i9 S: n6 B- c
- _1 E4 }6 B7 }6 o m--------------------------------------------------------------------------------
( }- m2 K1 p2 Z. N8 e8 r& k* E
9 a( L# c' {. D( h3. 我要如何安装它?
* r5 ] W. _% `+ \+ V1 j6 O D5 A
和套件一起来有一个小的安装帮助,让我们一起做吧 :-) --如果你的 distribution 出货时是 Leafnode %26gt;=1.4 , 最聪明的是使用事先翻译好的版本和忽略步骤 1到 4.
$ ]- b) W7 Z& x: ]
# |5 g# B7 t9 `- N3 _, [8 h$ R$ }+ I) r5 V3 S) N4 K( y
1.)确定没有别的新闻伺服器在你的电脑上执行 .当你键入
/ ^$ K' C+ O3 _4 m0 w. k$ telnet localhost nntp
8 F# @( x) I+ e$ h+ R
你将取得一个错误
信息.如果你得到一个连接的提示回应到你的
shell 上 ,你应要反安装 INN , CNews 或者不管什麽你现在正在执行的新闻伺服器和查明在你的 /etc/inetd.conf nntp 相关的栏位
9 h2 z/ h7 Q( N! i/ f
) x# H5 I" [6 \ ^. K* ^# R' @
2.)在 /etc/passwd 中检查这个名称,查明有一个使用者叫做 "news", .如果在里面没有,建立一个 (或者键入
9 J" Q$ |, Q& Q/ U I- [
$ adduser news
8 K' z; W0 y, g. T! G或者使用你的 distribution 中跟随而来的工具).
3 f3 ]# \/ t( q1 c: C; h- H) z. F9 i( _) x
3.) 解开原始码:
6 c* J3 M" C) y6 a- A
$tar xfz leafnode-1.4.tar.gz
7 L3 i8 f' m' n) O5 M. G
改变目录到原始码目录
, v, u0 H% n e
$ cd leafnode-1.4
/ W) L( |0 [' l1 D4 `" B( G2 b
S# k+ X3 e; b ]4.) 编译程式和安装它
5 Q/ w) ~1 j1 h m0 u( j, k
$ make; make install
2 w" W% F# G. |1 A' n
) _6 ]) [$ b8 s; C. V
" i5 t1 c8 N% T5 z
5.)编辑 /usr/lib/leafnode/config (这也许是在任何别的位置像是 /etc/leafnode 当你使用你的 Linux distribution 的一个事先翻译好的版本 ).这一行 "server ="要指出你的 ISP的新闻伺服器
, i* U E) B% ? z, i
, |6 B; F4 j5 s& {7 U8 L" p8 s
4 v1 @ h$ A( h6.)编辑 /etc/nntpserver.这将包括你的本地主机名 (localhost 或者不管什麽你电脑的名称,命令 hostname 将帮助你).如果在一些起动档案像是 /etc/profile 或者 /.bash_profile
环境变数是被先定义的,你也要调整你的电脑名称.
- l; c3 T3 g+ y* _6 z$ }7 `4 h! V8 B4 Y+ L T
7.)编辑 /etc/inetd.conf:查明没有一行开端使用 "nntp".如果有这样的一行,在这一行前放一个 "#" .然後加下列各行:
: d( C$ ?0 w$ anntp stream tcp nowait news /usr/sbin/tcpd /usr/local/sbin/leafnode
7 b# b) M9 M( j. Z$ e! B- N当有人 (例如你 :-)连接到你的电脑在 NNTP port, leafnode 开始如同伺服器的
程序.
, {. f3 J- b5 h- v p9 T- \( l' y
% z& T. ]9 U$ a" {( d& `0 t! j7 M* l8.) 以 root 或者 news 的身份进行连线和执行行程式 "fetch" .第一次 fetch 开始,这将会
下载你的 ISP 的新闻群组的清单.这也许花一点儿时间依你的连接
速度和你的 ISP 它的 active-File 的群组的数目而定.
4 }" j3 p2 A$ S* I3 l5 e4 A
! a3 v" m( W7 W9 S9.) 开始你最爱的 newsreader (新闻读取员) (slrn, (r)tin和 knews 是一个好的开始)和订阅全部你要看的群组.小心不要只订阅这些群组,也进入群组中,即使当他们是空的.
, y( a. v; s9 h+ r: L0 q$ k9 |5 U7 ?' g9 K
10.) 重新开始启动 fetch 下载所有想要取得的群组的新闻 .
* Q- b Z8 F$ ~) P+ I+ k
; P# b" o9 `2 {2 x0 O
2 `: e6 _- q; D% R# r
. J/ b1 j- A" t! Z! p5 W4 Z* E--------------------------------------------------------------------------------
' n) E7 M! u6 a! L9 D
& \( p k' t4 L, X--------------------------------------------------------------------------------
. u) V4 u/ V3 c6 Y5 g
6 j b* y' V; P* V5 O6 ^4. 我要如何维护 leafnode?
+ d9 Q* i) y+ m( H: A4 B" r现在你有一个运作的新闻系统正在执行,但是仍然一些事物要做.你也许要编辑档案 /usr/lib/leafnode/config 来设定你的群组的期满日期.这号码意思是,何时以前的信息应被删除.如果你看的一些群组有许多新闻标准时间 20 天通常是过多太长, 针对你的系统而言 4 天或者一个星期是在多数情况下是一个好时间.针对所有群组你可以改变计算结果 ("expire = n" 去抓住整个的群组 n天),但是你告诉 leafnode 针对一些分开群组改变时间撰写如下
, N3 B' L2 U( S, ^; r' L7 r6 N
groupexpire foo.bar n
9 U6 J. C$ Q# k+ W- p
针对群组 foo.bar 到 n 天去设定期满时间.
0 [0 M; `4 I/ ~, k; J, N, L, b
3 y# w; O* L) |3 M
这独立设定不会使 leafnode 删除以前旧的信息,一个分开程式会负责针对这个: texpire.这也许是开始当做一个 cron 的工作或者靠命令列.如果你的电脑是全天候开机的, 你也许要加下列各行到 news' crontab 档案 (编辑这,用 news 的身份登入和键入 "crontab -e"或者以 root 身份键入"crontab -u news -e"):
; x% |6 y9 o/ t7 t# s
0 19 * * * /usr/local/sbin/texpire
3 b. q% K8 w6 p, J/ u9 c
这行造成 cron daemon 每一天在 19:00 开始 texpire .检查 crontab 说明页有更多的调整
描述.如果你的电脑是没有规则地开机,你也许要每一次启动 texpire ,当你注意到这以致取得变得较慢的.使用 "cron-method" 运作的很好.
# ?$ u# s8 |9 v, c. a* _, A* c
j7 {# B6 N! `0 m; N t5 F3 _# W7 v# B1 e; r0 I: F& y
" H) q0 k7 B! |: D$ I' U& O--------------------------------------------------------------------------------
( D0 i* V# M6 @# c
$ j `, X8 i4 K
--------------------------------------------------------------------------------
) y( w( t. n: q4 }6 G& r U' v
% ]; b$ ?! Z; k& j' e$ P7 i( Q5. 它是如何运作?
4 o) I/ S$ j9 V% Q0 O" V0 ^5 L
Leafnode 是一个 "真的" NNTP伺服器,它的意思是你可以也从一个不同的电脑上登入 (经由万维网,局部
网络等等 .每次你用你的 newsreader (新闻读取员)进入一个群组,你的 reader (读取员) 送资料到 leafnode 和请求它.如果群组没有存在, leafnode 将会创造一空档案 /var/spool/news/interesting.groups,名字像是群组.当下次你运行 fetch ,这将会取得群组的信息.如果一个新闻群组没有一个固定的时间被拜访, leafnode 将会停止去取得它的文章和从 /var/spool/news/interesting.groups 中删除它的名称 .所以如果你意外地只订阅了一个高流量的新闻群组,你也许要靠手动删除它的档案 ,下一个星期你就不必要下载所有的讯息.
0 E& _, n) M( u, A- V K
7 g/ B0 q7 X$ w! Z8 F- r; J! w2 H
一个星期是针对你是不够的?你要去度假
三星期和仍然要取得新闻吗?不幸的,没有选项在 leafnode 之中来改变它.但是你可以编辑档案 leafnode.h 和重新编译它. #defined 通常是 TIMEOUT_LONG 和 TIMEOUT_SHORT,只要设定时间在以秒计算.另外的,简单的解决是定义一个 cron-job 每晚做 "touch /var/spool/news/interesting.groups/*" 这件事.
2 d, y) ?0 O/ g2 H+ I6 v7 g7 J2 x, J. @: ]8 L0 ` i+ k
如果你要取得一个整个的可用的群组的清单,看一下档案 /usr/lib/leafnode/groupinfo,在哪里你将会找到一个简短的描述群组.
$ x) K- x2 T9 i+ e
: w! ]% A5 H5 l: [" A1 i- P
如果你要从你的新闻上游重新读取新闻群组的清单 (举例当你要看一个新的群组),只要删除档案 /var/spool/news/active.read. Fetch 下次取得时将会创造它和取得新的清单.Fetch 也将会每一次重新读取群组清单 ,所以你不需要手动做这件事.
1 F/ M* L! B) A# o( H0 S2 j+ L& v7 G
& H) B/ X; O+ n$ _& [( _- l
. Z; I: S5 M9 J8 m+ g, E, i
--------------------------------------------------------------------------------