- 主题:升级遇到问题,版面错误用户错误
你没重新configure,能make过去才怪呢
BSD的setpgrp和SYSV的不一样。
【 在 cougarwww (菲平) 的大作中提到: 】
: 旧代码make不过去。。。
: bbs# make
: make -s all-recursive
: ...................
--
FROM 221.219.14.*
现在的代码是这样的,不过估计你的老代码也没有定义FREEBSD宏,所以把setpgrp()改成setpgid(0,0)就可以了
#if defined(FREEBSD) || defined(MACOSX)
setpgid(0, 0);
#else
// by zixia setpgrp(0, 0);
setpgrp();
#endif
【 在 cougarwww (菲平) 的大作中提到: 】
: 旧代码make不过去。。。
: bbs# make
: make -s all-recursive
: ...................
--
FROM 128.12.150.*
恩,是,
修改了这里之后是可以编译过去了
【 在 atppp (Big Mouse) 的大作中提到: 】
: 现在的代码是这样的,不过估计你的老代码也没有定义FREEBSD宏,所以把setpgrp()改成setpgid(0,0)就可以了
: #if defined(FREEBSD) || defined(MACOSX)
: setpgid(0, 0);
: ...................
--
FROM 211.99.222.*
con了
【 在 fancyrabbit (兔兔猫★Initial F★三个月等来两封拒信) 的大作中提到: 】
: 你没重新configure,能make过去才怪呢
: BSD的setpgrp和SYSV的不一样。
--
FROM 211.99.222.*
有个疑问,老机器现在使用着,正常,但是这两个文件一年多来都没变化。。。
-rw-r--r-- 1 bbs bbs 4400000 2008-05-17 11:17 .PASSWDS
-rw-r--r-- 1 bbs bbs 4400000 2007-01-20 12:05 .PASSWDS.BAK
-rw-r--r-- 1 bbs bbs 4400000 2007-01-20 16:39 .PASSWDS.NEW
-rw-r--r-- 1 bbs bbs 230400 2008-05-07 11:20 .BOARDS
-rw-r--r-- 1 bbs bbs 230400 2007-01-20 12:05 .BOARDS.BAK
bbs系统启动脚本是这样,一年多有过两三次重启服务和系统了,是不是哪里有问题?
#!/bin/bash
# Start and stop bbs services
PATH=/sbin:/bin:/usr/sbin:/usr/bin
case "$1" in
start)
echo -n "Starting BBS..."
su bbs -c "/home/telbbs/bin/miscd daemon"
su bbs -c "/home/telbbs/bin/bbslogd"
##su bbs -c "/home/telbbs/bin/innbbsd"
/home/telbbs/bin/bbsd -p 23
##/home/telbbs/bin/sshbbsd -p 22
/home/telbbs/bin/newpop3d -p 110
/etc/init.d/apache2 start
echo "done."
;;
stop)
echo -n "Stopping BBS..."
killall bbsd && killall newpop3d && killall bbslogd && /home/telbbs/bin/miscd flush && killall miscd
/etc/init.d/apache2 stop
ipcs|awk '/bbs/ {system(sprintf("ipcrm shm %s",$2));}'
echo "done."
;;
restart | force-reload)
echo -n "Restarting BBS..."
stop && start
echo "done."
;;
*)
echo "Usage: $N {start|stop|restart|force-reload}" >&2
exit 1
;;
esac
exit 0
【 在 atppp (Big Mouse) 的大作中提到: 】
: 现在的代码是这样的,不过估计你的老代码也没有定义FREEBSD宏,所以把setpgrp()改成setpgid(0,0)就可以了
: #if defined(FREEBSD) || defined(MACOSX)
: setpgid(0, 0);
: ...................
--
FROM 211.99.222.*
旧代码跟新代码情况差不多
全新安装的话可以正常使用
使用原来的数据的话,就是乱的
还是.BOARDS和.PASSWDS有问题看来,旧数据在freebsd上一启动bbs两个文件大小就变了,不管旧代码还是新代码。
-rw-r--r-- 1 bbs bbs 233600 May 18 08:34 .BOARDS
-rw-r--r-- 1 bbs bbs 230400 May 17 22:54 .BOARDS.BAK
-rw-r--r-- 1 bbs bbs 21248 May 17 22:54 .BOARDS.OLD
-rw-r----- 1 bbs bbs 1544 May 17 22:54 .FRIENDTOP
-rw-r----- 1 bbs bbs 154082 May 17 22:54 .IDdenys
-rw------- 1 bbs bbs 40000 May 18 08:23 .IDlists
-rw-r----- 1 bbs bbs 277426 May 17 22:54 .IPdenys
-rw-r--r-- 1 bbs bbs 4960000 May 18 08:34 .PASSWDS
-rw-r--r-- 1 bbs bbs 4400000 May 17 22:54 .PASSWDS.BAK
-rw-r--r-- 1 bbs bbs 4400000 May 17 22:54 .PASSWDS.NEW
【 在 cougarwww (菲平) 的大作中提到: 】
: 那我试试还用原来的旧代码试试
--
修改:cougarwww FROM 211.99.222.*
FROM 211.99.222.*
【 在 cougarwww (菲平) 的大作中提到: 】
: 有个疑问,老机器现在使用着,正常,但是这两个文件一年多来都没变化。。。
没变化就对了,哪能随便有变化 ..
: -rw-r--r-- 1 bbs bbs 4400000 2008-05-17 11:17 .PASSWDS
: -rw-r--r-- 1 bbs bbs 4400000 2007-01-20 12:05 .PASSWDS.BAK
: ...................
--
FROM 221.219.14.*
我都说过了,对照userec和boardheader结构在新旧代码之间的变更,转换磁盘文件
然后停站需要彻底清掉共享内存 ..
【 在 cougarwww (菲平) 的大作中提到: 】
: 旧代码跟新代码情况差不多
: 全新安装的话可以正常使用
: 使用原来的数据的话,就是乱的
: 还是.BOARDS和.PASSWDS有问题看来,旧数据在freebsd上一启动bbs两个文件大小就变了,不管旧代码还是新代码。
: -rw-r--r-- 1 bbs bbs 233600 May 18 08:34 .BOARDS
: -rw-r--r-- 1 bbs bbs 230400 May 17 22:54 .BOARDS.BAK
: -rw-r--r-- 1 bbs bbs 21248 May 17 22:54 .BOARDS.OLD
: -rw-r----- 1 bbs bbs 1544 May 17 22:54 .FRIENDTOP
: -rw-r----- 1 bbs bbs 154082 May 17 22:54 .IDdenys
: -rw------- 1 bbs bbs 40000 May 18 08:23 .IDlists
: -rw-r----- 1 bbs bbs 277426 May 17 22:54 .IPdenys
: -rw-r--r-- 1 bbs bbs 4960000 May 18 08:34 .PASSWDS
: -rw-r--r-- 1 bbs bbs 4400000 May 17 22:54 .PASSWDS.BAK
: -rw-r--r-- 1 bbs bbs 4400000 May 17 22:54 .PASSWDS.NEW
--
FROM 221.219.14.*
出了一些格式调整外没有变更。。。
而且我用老代码在freebsd上编译,也是一样的问题,使用旧数据用户和板块错误
全新安装生成的.PASSWDS和.BOARDS文件大小也跟debian上的大小不一样
谨慎怀疑是miscd.c的问题,
而且总感觉共享内存没有彻底清干净
【 在 fancyrabbit (兔兔猫★Initial F★三个月等来两封拒信) 的大作中提到: 】
: 我都说过了,对照userec和boardheader结构在新旧代码之间的变更,转换磁盘文件
: 然后停站需要彻底清掉共享内存 ..
--
FROM 211.99.222.*
【 在 cougarwww (菲平) 的大作中提到: 】
: 出了一些格式调整外没有变更。。。
原来系统 long 多大?现在系统 long 多大?指针呢?
机器字长一样么?
你不说清楚我只好挨个问了
: 而且我用老代码在freebsd上编译,也是一样的问题,使用旧数据用户和板块错误
: 全新安装生成的.PASSWDS和.BOARDS文件大小也跟debian上的大小不一样
: 谨慎怀疑是miscd.c的问题,
: 而且总感觉共享内存没有彻底清干净
别感觉啊,ipcs自己看一眼干净不干净。。
--
FROM 221.219.14.*