Linux 版 (精华区)

发信人: hbt (书生21), 信区: Linux
标  题: 把bbs从redhat搬到solaris上遇到的问题.
发信站: 紫 丁 香 (Mon Dec  7 19:59:32 1998), 转信

发信人: Leeward (1% completed★蝗虫街), 信区: BBSMan_Dev 
标 题: Re: 开版有益,问个问题;)) 
发信站: BBS 水木清华站 (Sun Dec  6 02:24:27 1998) WWW-POST 
 
【 在 CuteGuy (治理riverofchina) 的大作中提到: 】  
∶ 我们现在正想把原来装在Slackware Linux 3.5下的BBS挪到  
∶ 一台Sun Ultra 5上,BBS系统都是FireBird 2.66M,SUN的  
∶ 操作系统是Solaris 2.6。转移过程简直是一场噩梦,先是找  
∶ 不到gcc,这个好办,去下了个gcc2.8.1来。在Solaris上硬  
∶ 生生编译不过,说找不到cc....*I^*&^*&%$$*&^(*&)*(***  
∶ cc当然有,只是路径不对,后来干脆不装gcc 了,用cc编译  
∶ FireBird,编译成功,将bin 目录下的东东全部换掉,呵呵,  
∶ 可以用了,但是偶一看偶自己的经验值,-324352,//faint!  
∶ 进站的时候看到——注册人数四人,这下好,只剩三个站长和  
∶ 一个SYSOP在了,也就是说,所有的用户信息都掉了。如果有  
∶ 别的用户登陆提示:帐号已经停止使用(咣铛!)小弟才疏学  
∶ 浅,有哪位大哥搞定过,麻烦提醒小弟一声,不胜感激,小生  
∶ 在这里给各位大哥鞠躬了:))  
不知道具体你是如何在 SUN 上重新安装的。  
我想可能把 FireBird 的原始 package 拿来,重新 make install 比较好吧。  
然后再把你在 Linux 下修改过的代码覆盖安装后的原始代码,再编译和更新一下。  
最后 reboot 一下也是比较好的选择。  
这些可能你都做过了。  
 
如果你 Linux 和 SUN 下的代码版本完全一致,  
或者具体说,两个系统下的 struct.h 中的 struct userinfo 定义完全一样,  
那么建议写个小程序遍历一下 .PASSWDS 文件,就象 showuser 那样。  
然后把这个程序分别在两个系统下运行(两个系统下的 .PASSWDS 必须是相同的文件), 
 
看看输出有什么不同,以便定位可能的错误。  
 
也许和不同操作系统、不同编译器的结构体对齐方式有点关系?  
但是这个感觉只和内存分配有关,和文件系统似乎无关。  
无论如何试试看吧:PP  
 
如果两个系统下的 struct.h 中的 struct userinfo 定义不一样(通常是 BBS 的版本  
不一致导致的),那就必须对相关结构的文件进行转换了。  
比如 FireBird 2.5 和 FireBird 2.6 有若干结构体的定义不一样,  
即使未必都导致问题,但是如果你自己改动的地方恰好用到了这些结构体,  
那么你要保持相应的功能,是必须做处理的,比如对数据文件,就必须作转换。 


--
        书 中 自 有 黄 金 屋 , 
                    网 络 更 胜 千 本 书 .
         

※ 来源:.紫 丁 香 bbs.hit.edu.cn.[FROM: hs8.hit.edu.cn]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.949毫秒