📄 readme
字号:
其它用法: 3. 指定 unix domain socket pathinnbbsd 5555 /home/bbs/innd/.innbbsd.5555此时 local bbsnnrp 用 bbsnnrp -p /home/bbs/innd/.innbbsd.5555 server-host active-file remote bbsnnrp 用bbsnnrp -r bbs-server-hostname -p 5555 news-server-hostname active-file innbbsd 的连线限制1. local socket 若 socket file 在 /home/bbs/innd, 把 mode 改为 700.2. remote access 把 hostname 加到 nodelist.bbs 另外若要用 inetd 启动, 请在 inetd.conf 加入:innbbsd stream tcp wait bbs /home/bbs/innbbsd innbbsd -i ^^^^^并在 service 定义 innbbsd. 请特别注意, 是 "wait" 而非 "nowait".standalone 或 inetd.conf 只能选一种. 加在 inetd.conf 的方法目前尚不稳定, 不鼓励使用. 稳定后会推荐使用.--------------------[d]. bbsnnrp 对方bbs-server hostname test-news.active 结果出现以下讯息: NNRP server not ok bbsnnrp 是一个 client gateway, 使用时一定要指定一个 "news server"(抓 news 的 server). 所以你必须找一个 news server, 假设是ccnews.nctu.edu.tw (确定你能连上), 再执行: bbsnnrp ccnews.nctu.edu.tw test-news.active 以上是 bbsnnrp 在 bbs server 上执行时的用法. 若 bbsnnrp 在其它 host执行, 例如 ccsun1.cc.nctu.edu.tw, bbs server 是 bbs.dorm10.nctu.edu.tw,则将 ccsun1.cc.nctu.edu.tw 加到 nodelist.bbs, 重跑 innbbsd,在 ccsun1.cc.nctu.edu.tw 跑 bbsnnrp -r bbs.dorm10.nctu.edu.tw -p 7777 ccnews.nctu.edu.tw test-news.active --------------------[e]. 如果跑 bbsnnrp 时, 网路有问题或 BBS shutdown 时, 这个 active file 会不会改变? bbsnnrp 启动时会先尝试连上两个 server1. news server (default to port nntp)2. innbbs server (default to unix domain socket ~bbs/innd/.innbbsd or -r host -p port)必须二者都连线成功 bbsnnrp 才会动作. 如有疑问, 试试连到其它非 BBS server(没跑 innbbsd) 或 News server, 例如bbsnnrp -r ftp.edu.tw -p 7777 ccnews.edu.tw bbs1.newsa.active看 active file 会不会改变.--------------------[f]. 还有就是跑 innbbsd 的系统如果想要 shutdown, 该注意些什么事? 如果是不小心当掉的话, 对 innbbsd 是否有影頀? 如果刚好正在写入 history 或文章时当掉可能有些影頀. 若因当机使~bbs/innd/history 与 history.pag, history.dir 不一致, 请用mkhistory ~bbs/innd/history 重做 history (必须停掉 innbbsd).万一 history 毁了, 用 history.o (救回几天前的). 目前 innbbsd有对 shutdown 特别处理, 请养成习惯用 ctlinnbbsd shutdown 或 kill `cat /usr/tmp/innbbsd-xxxx.pid`不要用 kill -9 ......这样 innbbsd 尚能做一些善后. history, history.dir 和 history.pag 三个档互相关连, 请匀直接用editor 修改. 对 history 做任何事前请先停掉 innbbsd.--------------------[g]. 目前对 dbz maintain 的方式为何?在 innbbsconf.h 定义有EXPIREDAYS, HIS_MAINT_HOUR 和 HIS_MAINT_MIN.每 EXPIREDAYS x 2 天, 在 HIS_MAINT_HOUR 时, HIS_MAINT_MIN 分,innbbsd 会将 > EXPIREDAYS x 1.5 天的 entries 挀掉. dbz 并无复盖或 remove 旧 entries 的功能, 只能从 source (history)找出须保留之 entries 再 rebuild dbz. 大概会造成一两分钟的 peak load.已将 EXPIREDAYS, HIS_MAINT_xx 放到 innbbs.conf. ----------------------------[h]. 如何在 Palm BBS 使用 innbbsd我刚刚把 PalmBBS 的 innd-palm.tgz 看过与 Phoenix BBS 的 bbsinnd 对照一番,发现在 post 和 cancel 上并无不同. 目前使用 PalmBBS 者不妨开一个板测看看.要改的地方如下:1. innbbsd-0.xx/innd/bbspost.c 换成 PalmBBS innd-palm.tgz 内之 bbspost.c2. innbbsd-0.xx/innd/bntplink 之 sub save_article 改为########sub save_article{ local ($target) = @_; $now = time; open( FN, $target ); print FN "发信人: $poster, 信区: $board\n"; print FN "标 题: $subject\n"; print FN "发信站: $mysite ($date)\n"; print FN "转信站: $path\n"; print FN "\n"; print FN @BODY; close( FN ); utime $mtime, $mtime, $target; utime $now, $now, "$bbshome/.bcache/$board"}################### 可能是 PalmBBS 也能读取 M.xxxx.A 之类的档名. 当然 BBS_SRC 要设对, bbs.h和 record.c 都要用 PalmBBS 的. 我没测过. 有兴趣者测后把结果告诉我, 看还有甚么要配合修改的.----------------------------[i]. bbsnnrp 收不到信1. 确定 BBS board 已开启.2. newsfeeds.bbs, bbsname.bbs 和 nodelist.bbs 更改后, innbbsd 必须重跑.3. innbbsd 执行者 uid 和 bbs user 相同.4. 若第一次启动, 出现以下 message, 且收不到文章,GROUP groupname211 1453 11644 13105 groupname ^^^^ ^^^^^ ^^^^^ total low high 试加上 -s 参数: bbsnnrp -s total news-server active-file 若还收不到, 试用 bbsnnrp -s very-large-number news-server active-file5. 检查 active-file format 是否正确groupname high-no low-no y6. compile 时 BBSHOME 是否正确.-----------------------------[j]. bntplink 送不出去 none (kuq.bbs@csie.nctu.edu.tw) 提到:: 请问要从BBS 转信出去的bntplink 该注意什么吗!1我试过一次....不过只看到: try to send article 可是我去 转信站的版看好像没有转过去耶....这是什: 么问题啊!!1. 确认所用的 bntplink 是 innbbsd 所附.2. 确定 nodelist.bbs 内的 news server 和 protocol 设定正确, (protocol: POST(119) for client gateway) newsfeeds.bbs server 的栏位和 nodelist.bbs 定的相符. 确定你的 host 有 post 到你设定 news server 的权限.3. 检查 ~bbs/out.going 4. 转信 BBS 站不一定马上收到, 可能是你送往的 news server 因网路或 其它因素暂时无法转到.-----------------------------[k]. 增加一个讨论区加入转信的步骤中, 如果不想要旧信的话, 可以用 bbsnnrp -c 可是这样不是就会把原有的转信区文章 lost (部份)掉了吗?A1: 先将此讨论区单独放在一个 activefile, 例如[act1]tw.bbs.test 0000000000 0000000001 ybbsnnrp -c news-server act1再 append act1 到平常用的 activefile.例如 cat act1 >> activefile(确认无使用 activefile 的 bbsnnrp process)另一种方法如下:telnet news-server 119group tw.bbs.test211 27 7162 7594 tw.bbs.test ^^^^ ^^^^ low high 将 low, high 放到 activefiletw.bbs.test 0000007594 0000007162 ^^^^^^^^^^ ^^^^^^^^^ high low 留十个 digit A2:另一个快速 reset active 方法如下:% telnet news-server 119 > tmp-activelistquit% grep ^tw.bbs tmp-active或用 editor 只抓有兴趣之 newsgroups.-----------------------------[l] 如果想要换 news server 该怎么作 ?建议如下:1. 将 news.active reset 成 0000000000 0000000001 换成新 server, 先跑 bbsnnrp -c new-server news.active2. 用 tin 连到新换的 server, 比较你所收的文章和新 server 之间的差异, 在缺的文章前加 tag (t), 再 pipe 给 bbsnnrp -t stdin 通常 article 有时间顺序, 所缺的文章是连续的. 如果新换的 server 文章较少, 步骤 2 可省略.3. 以后跑 bbsnnrp 的方式不变, 改 server 即可. 如果嫌第 2 步麻烦, 估计讨论区的文章量, 若 news.active 讨论区一天 有 10 封信, 将 bbsnnrp -c 跑过之 news.active 对应的 high-no 减去 50 再跑正常的 bbsnnrp 即可. (或用 tin 计算缺少的文章数, 再改 news.active 对 high-no 减去相当 的数目) 例如 bbsnnrp -c 之后的 news.activetw.bbs.xxx 3246 1234用 tin 与 BBS board 比较, 若缺 30 封, 则将 news.active 改为tw.bbs.xxx 3200 1234 ^^^^^ 与 3246 相差一个与 30 差不多但略大的数字.-----------------------------[m] [如何收旧信] bbsnnrp 也能用在 in.bntpd很久以前提过如何做 batch file 来重送信件. 步骤繁复不易.现在推荐使用 innbbsd 的 bbsnnrp. 特别是为 in.bntpd 使用者.(Phoenix BBS mfchen's bbsinnd)innbbsd 使用者当然也适用.0. 不管你是用甚么 BBS, in.bntpd 如何更改. bbsnnrp 是 BBS implementation independent. (只要收信者懂 NNTP, CNEWS nntpd, INN1.4 innd, pbbsnnrpd,... 应该都可以)1. 取 ftp.csie.nctu.edu.tw:/pub/bbs/misc/innbbsd/innbbsd-0.43.tar.gz2. 只要造出 bbsnnrp 即可. 其它都可丢弃. 改 Makefile 中 BBS_SRC 和 BBSHOME (改这个没多大意义, 只是骗骗 bbsnnrp 和 make, 一定要正确, 但不会用到) make depend (ignore any error) make sys-type (选择你的 sys-type, 打 make 即列出所有 sys-type) 中间过程有任何错误都不用管, 最重要的是造出 "bbsnnrp".3. 决定将重送的 newsgroups, 例如 tw.bbs.comp.mac,.... 造 activefile, 例如,tw.bbs.comp.mac 0000000000 0000000001 y.....4. 在 news server (或任何 in.bntpd 能接受 feed 的 host) 执行bbsnnrp -r your-bbs-host -p bbsinnd-port news-server activefileFor example, news.cis.nctu.edu.tw 想重送 tw.bbs.talk.feeling,tw.bbs.talk.ladytalk 给 bbs.cis.nctu.edu.tw (in.bntpd in port 7777),#edit news-cis-activetw.bbs.talk.ladytalk 0000000000 0000000001 ytw.bbs.talk.feeling 0000000000 0000000001 y到 news.cis.nctu.edu.tw 执行bbsnnrp -r bbs.cis.nctu.edu.tw -p 7777 news.cis.nctu.edu.tw news-cis-active必须注意的是 bbsnnrp 每次最多只送 100 封, 用 "-a max-art" 可 override 此default, 或多跑几次即可. 打 bbsnnrp -h 可看所有参数. 在正常情况下用 -r -p 就够了.bbsnnrp 会去找一些 ~bbs/innd 下的 config 档. 请造一些假的以骗过 bbsnnrp.现在另一个问题来了, 我不想全转, 只想转部份文章. bbsnnrp 可以吗 ?把 "tin" 找来, 进入想转的讨论区, 在所有感兴趣的文章前加 tag (按 t),键入 "|", "T", "bbsnnrp -t stdin -r bbs.cis.nctu.edu.tw -p 7777"(这时后就不用指定 news server 和 activefile)(最好先把 mfchen post 的 避免 bbsinnd 重复收信的修改 patch 加上, 不加也可以. 加了就可防止因为玩 bbsnnrp 玩过火了导致重复的文章收太多) ------------------- from mfchen@csie.nctu.edu.tw --------------------------为了效率 bbsinnd 收信时并没有检查该信件是否重复, 在网路不稳的情况下,可能产生重复收信的问题, 解决方法如下:修改 inntobbs (line 73), 每封文章收到时检查该文章是否已经存在:sub receive_article{ if( &find_history( $msgid ) ) { &bbslog( ":Err: duplicate article $msgid\n" ); return; } ... } ----------------------------------------------------------------------------- ---======================================================================[n]. bbsnnrp 或 bntplink feed 时产生 broken pipe 或无法 feed检查 boards permission mode 及 bbslog . 可能 innbbsd 无法 write.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -